summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2015-10-26 09:42:44 +0100
committerBen Gamari <ben@smart-cactus.org>2015-10-26 09:42:45 +0100
commitc2fab84239299176a8e72aa26ae894019d677bd9 (patch)
tree471116ae4bf265f11522cff184a568cb74df953a
parent43751b2436f370d956d8021b3cdd3eb77801470b (diff)
downloadhaskell-c2fab84239299176a8e72aa26ae894019d677bd9.tar.gz
Add testcase for #10370
Test Plan: Validate. Reviewers: austin Reviewed By: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1352 GHC Trac Issues: #10370
-rw-r--r--testsuite/tests/perf/compiler/T10370.hs1002
-rw-r--r--testsuite/tests/perf/compiler/all.T20
2 files changed, 1022 insertions, 0 deletions
diff --git a/testsuite/tests/perf/compiler/T10370.hs b/testsuite/tests/perf/compiler/T10370.hs
new file mode 100644
index 0000000000..1981c2129a
--- /dev/null
+++ b/testsuite/tests/perf/compiler/T10370.hs
@@ -0,0 +1,1002 @@
+module Out where
+import Control.Monad (forever)
+a1 :: IO (); a1 = forever $ putStrLn "a1"
+a2 :: IO (); a2 = forever $ putStrLn "a2"
+a3 :: IO (); a3 = forever $ putStrLn "a3"
+a4 :: IO (); a4 = forever $ putStrLn "a4"
+a5 :: IO (); a5 = forever $ putStrLn "a5"
+a6 :: IO (); a6 = forever $ putStrLn "a6"
+a7 :: IO (); a7 = forever $ putStrLn "a7"
+a8 :: IO (); a8 = forever $ putStrLn "a8"
+a9 :: IO (); a9 = forever $ putStrLn "a9"
+a10 :: IO (); a10 = forever $ putStrLn "a10"
+a11 :: IO (); a11 = forever $ putStrLn "a11"
+a12 :: IO (); a12 = forever $ putStrLn "a12"
+a13 :: IO (); a13 = forever $ putStrLn "a13"
+a14 :: IO (); a14 = forever $ putStrLn "a14"
+a15 :: IO (); a15 = forever $ putStrLn "a15"
+a16 :: IO (); a16 = forever $ putStrLn "a16"
+a17 :: IO (); a17 = forever $ putStrLn "a17"
+a18 :: IO (); a18 = forever $ putStrLn "a18"
+a19 :: IO (); a19 = forever $ putStrLn "a19"
+a20 :: IO (); a20 = forever $ putStrLn "a20"
+a21 :: IO (); a21 = forever $ putStrLn "a21"
+a22 :: IO (); a22 = forever $ putStrLn "a22"
+a23 :: IO (); a23 = forever $ putStrLn "a23"
+a24 :: IO (); a24 = forever $ putStrLn "a24"
+a25 :: IO (); a25 = forever $ putStrLn "a25"
+a26 :: IO (); a26 = forever $ putStrLn "a26"
+a27 :: IO (); a27 = forever $ putStrLn "a27"
+a28 :: IO (); a28 = forever $ putStrLn "a28"
+a29 :: IO (); a29 = forever $ putStrLn "a29"
+a30 :: IO (); a30 = forever $ putStrLn "a30"
+a31 :: IO (); a31 = forever $ putStrLn "a31"
+a32 :: IO (); a32 = forever $ putStrLn "a32"
+a33 :: IO (); a33 = forever $ putStrLn "a33"
+a34 :: IO (); a34 = forever $ putStrLn "a34"
+a35 :: IO (); a35 = forever $ putStrLn "a35"
+a36 :: IO (); a36 = forever $ putStrLn "a36"
+a37 :: IO (); a37 = forever $ putStrLn "a37"
+a38 :: IO (); a38 = forever $ putStrLn "a38"
+a39 :: IO (); a39 = forever $ putStrLn "a39"
+a40 :: IO (); a40 = forever $ putStrLn "a40"
+a41 :: IO (); a41 = forever $ putStrLn "a41"
+a42 :: IO (); a42 = forever $ putStrLn "a42"
+a43 :: IO (); a43 = forever $ putStrLn "a43"
+a44 :: IO (); a44 = forever $ putStrLn "a44"
+a45 :: IO (); a45 = forever $ putStrLn "a45"
+a46 :: IO (); a46 = forever $ putStrLn "a46"
+a47 :: IO (); a47 = forever $ putStrLn "a47"
+a48 :: IO (); a48 = forever $ putStrLn "a48"
+a49 :: IO (); a49 = forever $ putStrLn "a49"
+a50 :: IO (); a50 = forever $ putStrLn "a50"
+a51 :: IO (); a51 = forever $ putStrLn "a51"
+a52 :: IO (); a52 = forever $ putStrLn "a52"
+a53 :: IO (); a53 = forever $ putStrLn "a53"
+a54 :: IO (); a54 = forever $ putStrLn "a54"
+a55 :: IO (); a55 = forever $ putStrLn "a55"
+a56 :: IO (); a56 = forever $ putStrLn "a56"
+a57 :: IO (); a57 = forever $ putStrLn "a57"
+a58 :: IO (); a58 = forever $ putStrLn "a58"
+a59 :: IO (); a59 = forever $ putStrLn "a59"
+a60 :: IO (); a60 = forever $ putStrLn "a60"
+a61 :: IO (); a61 = forever $ putStrLn "a61"
+a62 :: IO (); a62 = forever $ putStrLn "a62"
+a63 :: IO (); a63 = forever $ putStrLn "a63"
+a64 :: IO (); a64 = forever $ putStrLn "a64"
+a65 :: IO (); a65 = forever $ putStrLn "a65"
+a66 :: IO (); a66 = forever $ putStrLn "a66"
+a67 :: IO (); a67 = forever $ putStrLn "a67"
+a68 :: IO (); a68 = forever $ putStrLn "a68"
+a69 :: IO (); a69 = forever $ putStrLn "a69"
+a70 :: IO (); a70 = forever $ putStrLn "a70"
+a71 :: IO (); a71 = forever $ putStrLn "a71"
+a72 :: IO (); a72 = forever $ putStrLn "a72"
+a73 :: IO (); a73 = forever $ putStrLn "a73"
+a74 :: IO (); a74 = forever $ putStrLn "a74"
+a75 :: IO (); a75 = forever $ putStrLn "a75"
+a76 :: IO (); a76 = forever $ putStrLn "a76"
+a77 :: IO (); a77 = forever $ putStrLn "a77"
+a78 :: IO (); a78 = forever $ putStrLn "a78"
+a79 :: IO (); a79 = forever $ putStrLn "a79"
+a80 :: IO (); a80 = forever $ putStrLn "a80"
+a81 :: IO (); a81 = forever $ putStrLn "a81"
+a82 :: IO (); a82 = forever $ putStrLn "a82"
+a83 :: IO (); a83 = forever $ putStrLn "a83"
+a84 :: IO (); a84 = forever $ putStrLn "a84"
+a85 :: IO (); a85 = forever $ putStrLn "a85"
+a86 :: IO (); a86 = forever $ putStrLn "a86"
+a87 :: IO (); a87 = forever $ putStrLn "a87"
+a88 :: IO (); a88 = forever $ putStrLn "a88"
+a89 :: IO (); a89 = forever $ putStrLn "a89"
+a90 :: IO (); a90 = forever $ putStrLn "a90"
+a91 :: IO (); a91 = forever $ putStrLn "a91"
+a92 :: IO (); a92 = forever $ putStrLn "a92"
+a93 :: IO (); a93 = forever $ putStrLn "a93"
+a94 :: IO (); a94 = forever $ putStrLn "a94"
+a95 :: IO (); a95 = forever $ putStrLn "a95"
+a96 :: IO (); a96 = forever $ putStrLn "a96"
+a97 :: IO (); a97 = forever $ putStrLn "a97"
+a98 :: IO (); a98 = forever $ putStrLn "a98"
+a99 :: IO (); a99 = forever $ putStrLn "a99"
+a100 :: IO (); a100 = forever $ putStrLn "a100"
+a101 :: IO (); a101 = forever $ putStrLn "a101"
+a102 :: IO (); a102 = forever $ putStrLn "a102"
+a103 :: IO (); a103 = forever $ putStrLn "a103"
+a104 :: IO (); a104 = forever $ putStrLn "a104"
+a105 :: IO (); a105 = forever $ putStrLn "a105"
+a106 :: IO (); a106 = forever $ putStrLn "a106"
+a107 :: IO (); a107 = forever $ putStrLn "a107"
+a108 :: IO (); a108 = forever $ putStrLn "a108"
+a109 :: IO (); a109 = forever $ putStrLn "a109"
+a110 :: IO (); a110 = forever $ putStrLn "a110"
+a111 :: IO (); a111 = forever $ putStrLn "a111"
+a112 :: IO (); a112 = forever $ putStrLn "a112"
+a113 :: IO (); a113 = forever $ putStrLn "a113"
+a114 :: IO (); a114 = forever $ putStrLn "a114"
+a115 :: IO (); a115 = forever $ putStrLn "a115"
+a116 :: IO (); a116 = forever $ putStrLn "a116"
+a117 :: IO (); a117 = forever $ putStrLn "a117"
+a118 :: IO (); a118 = forever $ putStrLn "a118"
+a119 :: IO (); a119 = forever $ putStrLn "a119"
+a120 :: IO (); a120 = forever $ putStrLn "a120"
+a121 :: IO (); a121 = forever $ putStrLn "a121"
+a122 :: IO (); a122 = forever $ putStrLn "a122"
+a123 :: IO (); a123 = forever $ putStrLn "a123"
+a124 :: IO (); a124 = forever $ putStrLn "a124"
+a125 :: IO (); a125 = forever $ putStrLn "a125"
+a126 :: IO (); a126 = forever $ putStrLn "a126"
+a127 :: IO (); a127 = forever $ putStrLn "a127"
+a128 :: IO (); a128 = forever $ putStrLn "a128"
+a129 :: IO (); a129 = forever $ putStrLn "a129"
+a130 :: IO (); a130 = forever $ putStrLn "a130"
+a131 :: IO (); a131 = forever $ putStrLn "a131"
+a132 :: IO (); a132 = forever $ putStrLn "a132"
+a133 :: IO (); a133 = forever $ putStrLn "a133"
+a134 :: IO (); a134 = forever $ putStrLn "a134"
+a135 :: IO (); a135 = forever $ putStrLn "a135"
+a136 :: IO (); a136 = forever $ putStrLn "a136"
+a137 :: IO (); a137 = forever $ putStrLn "a137"
+a138 :: IO (); a138 = forever $ putStrLn "a138"
+a139 :: IO (); a139 = forever $ putStrLn "a139"
+a140 :: IO (); a140 = forever $ putStrLn "a140"
+a141 :: IO (); a141 = forever $ putStrLn "a141"
+a142 :: IO (); a142 = forever $ putStrLn "a142"
+a143 :: IO (); a143 = forever $ putStrLn "a143"
+a144 :: IO (); a144 = forever $ putStrLn "a144"
+a145 :: IO (); a145 = forever $ putStrLn "a145"
+a146 :: IO (); a146 = forever $ putStrLn "a146"
+a147 :: IO (); a147 = forever $ putStrLn "a147"
+a148 :: IO (); a148 = forever $ putStrLn "a148"
+a149 :: IO (); a149 = forever $ putStrLn "a149"
+a150 :: IO (); a150 = forever $ putStrLn "a150"
+a151 :: IO (); a151 = forever $ putStrLn "a151"
+a152 :: IO (); a152 = forever $ putStrLn "a152"
+a153 :: IO (); a153 = forever $ putStrLn "a153"
+a154 :: IO (); a154 = forever $ putStrLn "a154"
+a155 :: IO (); a155 = forever $ putStrLn "a155"
+a156 :: IO (); a156 = forever $ putStrLn "a156"
+a157 :: IO (); a157 = forever $ putStrLn "a157"
+a158 :: IO (); a158 = forever $ putStrLn "a158"
+a159 :: IO (); a159 = forever $ putStrLn "a159"
+a160 :: IO (); a160 = forever $ putStrLn "a160"
+a161 :: IO (); a161 = forever $ putStrLn "a161"
+a162 :: IO (); a162 = forever $ putStrLn "a162"
+a163 :: IO (); a163 = forever $ putStrLn "a163"
+a164 :: IO (); a164 = forever $ putStrLn "a164"
+a165 :: IO (); a165 = forever $ putStrLn "a165"
+a166 :: IO (); a166 = forever $ putStrLn "a166"
+a167 :: IO (); a167 = forever $ putStrLn "a167"
+a168 :: IO (); a168 = forever $ putStrLn "a168"
+a169 :: IO (); a169 = forever $ putStrLn "a169"
+a170 :: IO (); a170 = forever $ putStrLn "a170"
+a171 :: IO (); a171 = forever $ putStrLn "a171"
+a172 :: IO (); a172 = forever $ putStrLn "a172"
+a173 :: IO (); a173 = forever $ putStrLn "a173"
+a174 :: IO (); a174 = forever $ putStrLn "a174"
+a175 :: IO (); a175 = forever $ putStrLn "a175"
+a176 :: IO (); a176 = forever $ putStrLn "a176"
+a177 :: IO (); a177 = forever $ putStrLn "a177"
+a178 :: IO (); a178 = forever $ putStrLn "a178"
+a179 :: IO (); a179 = forever $ putStrLn "a179"
+a180 :: IO (); a180 = forever $ putStrLn "a180"
+a181 :: IO (); a181 = forever $ putStrLn "a181"
+a182 :: IO (); a182 = forever $ putStrLn "a182"
+a183 :: IO (); a183 = forever $ putStrLn "a183"
+a184 :: IO (); a184 = forever $ putStrLn "a184"
+a185 :: IO (); a185 = forever $ putStrLn "a185"
+a186 :: IO (); a186 = forever $ putStrLn "a186"
+a187 :: IO (); a187 = forever $ putStrLn "a187"
+a188 :: IO (); a188 = forever $ putStrLn "a188"
+a189 :: IO (); a189 = forever $ putStrLn "a189"
+a190 :: IO (); a190 = forever $ putStrLn "a190"
+a191 :: IO (); a191 = forever $ putStrLn "a191"
+a192 :: IO (); a192 = forever $ putStrLn "a192"
+a193 :: IO (); a193 = forever $ putStrLn "a193"
+a194 :: IO (); a194 = forever $ putStrLn "a194"
+a195 :: IO (); a195 = forever $ putStrLn "a195"
+a196 :: IO (); a196 = forever $ putStrLn "a196"
+a197 :: IO (); a197 = forever $ putStrLn "a197"
+a198 :: IO (); a198 = forever $ putStrLn "a198"
+a199 :: IO (); a199 = forever $ putStrLn "a199"
+a200 :: IO (); a200 = forever $ putStrLn "a200"
+a201 :: IO (); a201 = forever $ putStrLn "a201"
+a202 :: IO (); a202 = forever $ putStrLn "a202"
+a203 :: IO (); a203 = forever $ putStrLn "a203"
+a204 :: IO (); a204 = forever $ putStrLn "a204"
+a205 :: IO (); a205 = forever $ putStrLn "a205"
+a206 :: IO (); a206 = forever $ putStrLn "a206"
+a207 :: IO (); a207 = forever $ putStrLn "a207"
+a208 :: IO (); a208 = forever $ putStrLn "a208"
+a209 :: IO (); a209 = forever $ putStrLn "a209"
+a210 :: IO (); a210 = forever $ putStrLn "a210"
+a211 :: IO (); a211 = forever $ putStrLn "a211"
+a212 :: IO (); a212 = forever $ putStrLn "a212"
+a213 :: IO (); a213 = forever $ putStrLn "a213"
+a214 :: IO (); a214 = forever $ putStrLn "a214"
+a215 :: IO (); a215 = forever $ putStrLn "a215"
+a216 :: IO (); a216 = forever $ putStrLn "a216"
+a217 :: IO (); a217 = forever $ putStrLn "a217"
+a218 :: IO (); a218 = forever $ putStrLn "a218"
+a219 :: IO (); a219 = forever $ putStrLn "a219"
+a220 :: IO (); a220 = forever $ putStrLn "a220"
+a221 :: IO (); a221 = forever $ putStrLn "a221"
+a222 :: IO (); a222 = forever $ putStrLn "a222"
+a223 :: IO (); a223 = forever $ putStrLn "a223"
+a224 :: IO (); a224 = forever $ putStrLn "a224"
+a225 :: IO (); a225 = forever $ putStrLn "a225"
+a226 :: IO (); a226 = forever $ putStrLn "a226"
+a227 :: IO (); a227 = forever $ putStrLn "a227"
+a228 :: IO (); a228 = forever $ putStrLn "a228"
+a229 :: IO (); a229 = forever $ putStrLn "a229"
+a230 :: IO (); a230 = forever $ putStrLn "a230"
+a231 :: IO (); a231 = forever $ putStrLn "a231"
+a232 :: IO (); a232 = forever $ putStrLn "a232"
+a233 :: IO (); a233 = forever $ putStrLn "a233"
+a234 :: IO (); a234 = forever $ putStrLn "a234"
+a235 :: IO (); a235 = forever $ putStrLn "a235"
+a236 :: IO (); a236 = forever $ putStrLn "a236"
+a237 :: IO (); a237 = forever $ putStrLn "a237"
+a238 :: IO (); a238 = forever $ putStrLn "a238"
+a239 :: IO (); a239 = forever $ putStrLn "a239"
+a240 :: IO (); a240 = forever $ putStrLn "a240"
+a241 :: IO (); a241 = forever $ putStrLn "a241"
+a242 :: IO (); a242 = forever $ putStrLn "a242"
+a243 :: IO (); a243 = forever $ putStrLn "a243"
+a244 :: IO (); a244 = forever $ putStrLn "a244"
+a245 :: IO (); a245 = forever $ putStrLn "a245"
+a246 :: IO (); a246 = forever $ putStrLn "a246"
+a247 :: IO (); a247 = forever $ putStrLn "a247"
+a248 :: IO (); a248 = forever $ putStrLn "a248"
+a249 :: IO (); a249 = forever $ putStrLn "a249"
+a250 :: IO (); a250 = forever $ putStrLn "a250"
+a251 :: IO (); a251 = forever $ putStrLn "a251"
+a252 :: IO (); a252 = forever $ putStrLn "a252"
+a253 :: IO (); a253 = forever $ putStrLn "a253"
+a254 :: IO (); a254 = forever $ putStrLn "a254"
+a255 :: IO (); a255 = forever $ putStrLn "a255"
+a256 :: IO (); a256 = forever $ putStrLn "a256"
+a257 :: IO (); a257 = forever $ putStrLn "a257"
+a258 :: IO (); a258 = forever $ putStrLn "a258"
+a259 :: IO (); a259 = forever $ putStrLn "a259"
+a260 :: IO (); a260 = forever $ putStrLn "a260"
+a261 :: IO (); a261 = forever $ putStrLn "a261"
+a262 :: IO (); a262 = forever $ putStrLn "a262"
+a263 :: IO (); a263 = forever $ putStrLn "a263"
+a264 :: IO (); a264 = forever $ putStrLn "a264"
+a265 :: IO (); a265 = forever $ putStrLn "a265"
+a266 :: IO (); a266 = forever $ putStrLn "a266"
+a267 :: IO (); a267 = forever $ putStrLn "a267"
+a268 :: IO (); a268 = forever $ putStrLn "a268"
+a269 :: IO (); a269 = forever $ putStrLn "a269"
+a270 :: IO (); a270 = forever $ putStrLn "a270"
+a271 :: IO (); a271 = forever $ putStrLn "a271"
+a272 :: IO (); a272 = forever $ putStrLn "a272"
+a273 :: IO (); a273 = forever $ putStrLn "a273"
+a274 :: IO (); a274 = forever $ putStrLn "a274"
+a275 :: IO (); a275 = forever $ putStrLn "a275"
+a276 :: IO (); a276 = forever $ putStrLn "a276"
+a277 :: IO (); a277 = forever $ putStrLn "a277"
+a278 :: IO (); a278 = forever $ putStrLn "a278"
+a279 :: IO (); a279 = forever $ putStrLn "a279"
+a280 :: IO (); a280 = forever $ putStrLn "a280"
+a281 :: IO (); a281 = forever $ putStrLn "a281"
+a282 :: IO (); a282 = forever $ putStrLn "a282"
+a283 :: IO (); a283 = forever $ putStrLn "a283"
+a284 :: IO (); a284 = forever $ putStrLn "a284"
+a285 :: IO (); a285 = forever $ putStrLn "a285"
+a286 :: IO (); a286 = forever $ putStrLn "a286"
+a287 :: IO (); a287 = forever $ putStrLn "a287"
+a288 :: IO (); a288 = forever $ putStrLn "a288"
+a289 :: IO (); a289 = forever $ putStrLn "a289"
+a290 :: IO (); a290 = forever $ putStrLn "a290"
+a291 :: IO (); a291 = forever $ putStrLn "a291"
+a292 :: IO (); a292 = forever $ putStrLn "a292"
+a293 :: IO (); a293 = forever $ putStrLn "a293"
+a294 :: IO (); a294 = forever $ putStrLn "a294"
+a295 :: IO (); a295 = forever $ putStrLn "a295"
+a296 :: IO (); a296 = forever $ putStrLn "a296"
+a297 :: IO (); a297 = forever $ putStrLn "a297"
+a298 :: IO (); a298 = forever $ putStrLn "a298"
+a299 :: IO (); a299 = forever $ putStrLn "a299"
+a300 :: IO (); a300 = forever $ putStrLn "a300"
+a301 :: IO (); a301 = forever $ putStrLn "a301"
+a302 :: IO (); a302 = forever $ putStrLn "a302"
+a303 :: IO (); a303 = forever $ putStrLn "a303"
+a304 :: IO (); a304 = forever $ putStrLn "a304"
+a305 :: IO (); a305 = forever $ putStrLn "a305"
+a306 :: IO (); a306 = forever $ putStrLn "a306"
+a307 :: IO (); a307 = forever $ putStrLn "a307"
+a308 :: IO (); a308 = forever $ putStrLn "a308"
+a309 :: IO (); a309 = forever $ putStrLn "a309"
+a310 :: IO (); a310 = forever $ putStrLn "a310"
+a311 :: IO (); a311 = forever $ putStrLn "a311"
+a312 :: IO (); a312 = forever $ putStrLn "a312"
+a313 :: IO (); a313 = forever $ putStrLn "a313"
+a314 :: IO (); a314 = forever $ putStrLn "a314"
+a315 :: IO (); a315 = forever $ putStrLn "a315"
+a316 :: IO (); a316 = forever $ putStrLn "a316"
+a317 :: IO (); a317 = forever $ putStrLn "a317"
+a318 :: IO (); a318 = forever $ putStrLn "a318"
+a319 :: IO (); a319 = forever $ putStrLn "a319"
+a320 :: IO (); a320 = forever $ putStrLn "a320"
+a321 :: IO (); a321 = forever $ putStrLn "a321"
+a322 :: IO (); a322 = forever $ putStrLn "a322"
+a323 :: IO (); a323 = forever $ putStrLn "a323"
+a324 :: IO (); a324 = forever $ putStrLn "a324"
+a325 :: IO (); a325 = forever $ putStrLn "a325"
+a326 :: IO (); a326 = forever $ putStrLn "a326"
+a327 :: IO (); a327 = forever $ putStrLn "a327"
+a328 :: IO (); a328 = forever $ putStrLn "a328"
+a329 :: IO (); a329 = forever $ putStrLn "a329"
+a330 :: IO (); a330 = forever $ putStrLn "a330"
+a331 :: IO (); a331 = forever $ putStrLn "a331"
+a332 :: IO (); a332 = forever $ putStrLn "a332"
+a333 :: IO (); a333 = forever $ putStrLn "a333"
+a334 :: IO (); a334 = forever $ putStrLn "a334"
+a335 :: IO (); a335 = forever $ putStrLn "a335"
+a336 :: IO (); a336 = forever $ putStrLn "a336"
+a337 :: IO (); a337 = forever $ putStrLn "a337"
+a338 :: IO (); a338 = forever $ putStrLn "a338"
+a339 :: IO (); a339 = forever $ putStrLn "a339"
+a340 :: IO (); a340 = forever $ putStrLn "a340"
+a341 :: IO (); a341 = forever $ putStrLn "a341"
+a342 :: IO (); a342 = forever $ putStrLn "a342"
+a343 :: IO (); a343 = forever $ putStrLn "a343"
+a344 :: IO (); a344 = forever $ putStrLn "a344"
+a345 :: IO (); a345 = forever $ putStrLn "a345"
+a346 :: IO (); a346 = forever $ putStrLn "a346"
+a347 :: IO (); a347 = forever $ putStrLn "a347"
+a348 :: IO (); a348 = forever $ putStrLn "a348"
+a349 :: IO (); a349 = forever $ putStrLn "a349"
+a350 :: IO (); a350 = forever $ putStrLn "a350"
+a351 :: IO (); a351 = forever $ putStrLn "a351"
+a352 :: IO (); a352 = forever $ putStrLn "a352"
+a353 :: IO (); a353 = forever $ putStrLn "a353"
+a354 :: IO (); a354 = forever $ putStrLn "a354"
+a355 :: IO (); a355 = forever $ putStrLn "a355"
+a356 :: IO (); a356 = forever $ putStrLn "a356"
+a357 :: IO (); a357 = forever $ putStrLn "a357"
+a358 :: IO (); a358 = forever $ putStrLn "a358"
+a359 :: IO (); a359 = forever $ putStrLn "a359"
+a360 :: IO (); a360 = forever $ putStrLn "a360"
+a361 :: IO (); a361 = forever $ putStrLn "a361"
+a362 :: IO (); a362 = forever $ putStrLn "a362"
+a363 :: IO (); a363 = forever $ putStrLn "a363"
+a364 :: IO (); a364 = forever $ putStrLn "a364"
+a365 :: IO (); a365 = forever $ putStrLn "a365"
+a366 :: IO (); a366 = forever $ putStrLn "a366"
+a367 :: IO (); a367 = forever $ putStrLn "a367"
+a368 :: IO (); a368 = forever $ putStrLn "a368"
+a369 :: IO (); a369 = forever $ putStrLn "a369"
+a370 :: IO (); a370 = forever $ putStrLn "a370"
+a371 :: IO (); a371 = forever $ putStrLn "a371"
+a372 :: IO (); a372 = forever $ putStrLn "a372"
+a373 :: IO (); a373 = forever $ putStrLn "a373"
+a374 :: IO (); a374 = forever $ putStrLn "a374"
+a375 :: IO (); a375 = forever $ putStrLn "a375"
+a376 :: IO (); a376 = forever $ putStrLn "a376"
+a377 :: IO (); a377 = forever $ putStrLn "a377"
+a378 :: IO (); a378 = forever $ putStrLn "a378"
+a379 :: IO (); a379 = forever $ putStrLn "a379"
+a380 :: IO (); a380 = forever $ putStrLn "a380"
+a381 :: IO (); a381 = forever $ putStrLn "a381"
+a382 :: IO (); a382 = forever $ putStrLn "a382"
+a383 :: IO (); a383 = forever $ putStrLn "a383"
+a384 :: IO (); a384 = forever $ putStrLn "a384"
+a385 :: IO (); a385 = forever $ putStrLn "a385"
+a386 :: IO (); a386 = forever $ putStrLn "a386"
+a387 :: IO (); a387 = forever $ putStrLn "a387"
+a388 :: IO (); a388 = forever $ putStrLn "a388"
+a389 :: IO (); a389 = forever $ putStrLn "a389"
+a390 :: IO (); a390 = forever $ putStrLn "a390"
+a391 :: IO (); a391 = forever $ putStrLn "a391"
+a392 :: IO (); a392 = forever $ putStrLn "a392"
+a393 :: IO (); a393 = forever $ putStrLn "a393"
+a394 :: IO (); a394 = forever $ putStrLn "a394"
+a395 :: IO (); a395 = forever $ putStrLn "a395"
+a396 :: IO (); a396 = forever $ putStrLn "a396"
+a397 :: IO (); a397 = forever $ putStrLn "a397"
+a398 :: IO (); a398 = forever $ putStrLn "a398"
+a399 :: IO (); a399 = forever $ putStrLn "a399"
+a400 :: IO (); a400 = forever $ putStrLn "a400"
+a401 :: IO (); a401 = forever $ putStrLn "a401"
+a402 :: IO (); a402 = forever $ putStrLn "a402"
+a403 :: IO (); a403 = forever $ putStrLn "a403"
+a404 :: IO (); a404 = forever $ putStrLn "a404"
+a405 :: IO (); a405 = forever $ putStrLn "a405"
+a406 :: IO (); a406 = forever $ putStrLn "a406"
+a407 :: IO (); a407 = forever $ putStrLn "a407"
+a408 :: IO (); a408 = forever $ putStrLn "a408"
+a409 :: IO (); a409 = forever $ putStrLn "a409"
+a410 :: IO (); a410 = forever $ putStrLn "a410"
+a411 :: IO (); a411 = forever $ putStrLn "a411"
+a412 :: IO (); a412 = forever $ putStrLn "a412"
+a413 :: IO (); a413 = forever $ putStrLn "a413"
+a414 :: IO (); a414 = forever $ putStrLn "a414"
+a415 :: IO (); a415 = forever $ putStrLn "a415"
+a416 :: IO (); a416 = forever $ putStrLn "a416"
+a417 :: IO (); a417 = forever $ putStrLn "a417"
+a418 :: IO (); a418 = forever $ putStrLn "a418"
+a419 :: IO (); a419 = forever $ putStrLn "a419"
+a420 :: IO (); a420 = forever $ putStrLn "a420"
+a421 :: IO (); a421 = forever $ putStrLn "a421"
+a422 :: IO (); a422 = forever $ putStrLn "a422"
+a423 :: IO (); a423 = forever $ putStrLn "a423"
+a424 :: IO (); a424 = forever $ putStrLn "a424"
+a425 :: IO (); a425 = forever $ putStrLn "a425"
+a426 :: IO (); a426 = forever $ putStrLn "a426"
+a427 :: IO (); a427 = forever $ putStrLn "a427"
+a428 :: IO (); a428 = forever $ putStrLn "a428"
+a429 :: IO (); a429 = forever $ putStrLn "a429"
+a430 :: IO (); a430 = forever $ putStrLn "a430"
+a431 :: IO (); a431 = forever $ putStrLn "a431"
+a432 :: IO (); a432 = forever $ putStrLn "a432"
+a433 :: IO (); a433 = forever $ putStrLn "a433"
+a434 :: IO (); a434 = forever $ putStrLn "a434"
+a435 :: IO (); a435 = forever $ putStrLn "a435"
+a436 :: IO (); a436 = forever $ putStrLn "a436"
+a437 :: IO (); a437 = forever $ putStrLn "a437"
+a438 :: IO (); a438 = forever $ putStrLn "a438"
+a439 :: IO (); a439 = forever $ putStrLn "a439"
+a440 :: IO (); a440 = forever $ putStrLn "a440"
+a441 :: IO (); a441 = forever $ putStrLn "a441"
+a442 :: IO (); a442 = forever $ putStrLn "a442"
+a443 :: IO (); a443 = forever $ putStrLn "a443"
+a444 :: IO (); a444 = forever $ putStrLn "a444"
+a445 :: IO (); a445 = forever $ putStrLn "a445"
+a446 :: IO (); a446 = forever $ putStrLn "a446"
+a447 :: IO (); a447 = forever $ putStrLn "a447"
+a448 :: IO (); a448 = forever $ putStrLn "a448"
+a449 :: IO (); a449 = forever $ putStrLn "a449"
+a450 :: IO (); a450 = forever $ putStrLn "a450"
+a451 :: IO (); a451 = forever $ putStrLn "a451"
+a452 :: IO (); a452 = forever $ putStrLn "a452"
+a453 :: IO (); a453 = forever $ putStrLn "a453"
+a454 :: IO (); a454 = forever $ putStrLn "a454"
+a455 :: IO (); a455 = forever $ putStrLn "a455"
+a456 :: IO (); a456 = forever $ putStrLn "a456"
+a457 :: IO (); a457 = forever $ putStrLn "a457"
+a458 :: IO (); a458 = forever $ putStrLn "a458"
+a459 :: IO (); a459 = forever $ putStrLn "a459"
+a460 :: IO (); a460 = forever $ putStrLn "a460"
+a461 :: IO (); a461 = forever $ putStrLn "a461"
+a462 :: IO (); a462 = forever $ putStrLn "a462"
+a463 :: IO (); a463 = forever $ putStrLn "a463"
+a464 :: IO (); a464 = forever $ putStrLn "a464"
+a465 :: IO (); a465 = forever $ putStrLn "a465"
+a466 :: IO (); a466 = forever $ putStrLn "a466"
+a467 :: IO (); a467 = forever $ putStrLn "a467"
+a468 :: IO (); a468 = forever $ putStrLn "a468"
+a469 :: IO (); a469 = forever $ putStrLn "a469"
+a470 :: IO (); a470 = forever $ putStrLn "a470"
+a471 :: IO (); a471 = forever $ putStrLn "a471"
+a472 :: IO (); a472 = forever $ putStrLn "a472"
+a473 :: IO (); a473 = forever $ putStrLn "a473"
+a474 :: IO (); a474 = forever $ putStrLn "a474"
+a475 :: IO (); a475 = forever $ putStrLn "a475"
+a476 :: IO (); a476 = forever $ putStrLn "a476"
+a477 :: IO (); a477 = forever $ putStrLn "a477"
+a478 :: IO (); a478 = forever $ putStrLn "a478"
+a479 :: IO (); a479 = forever $ putStrLn "a479"
+a480 :: IO (); a480 = forever $ putStrLn "a480"
+a481 :: IO (); a481 = forever $ putStrLn "a481"
+a482 :: IO (); a482 = forever $ putStrLn "a482"
+a483 :: IO (); a483 = forever $ putStrLn "a483"
+a484 :: IO (); a484 = forever $ putStrLn "a484"
+a485 :: IO (); a485 = forever $ putStrLn "a485"
+a486 :: IO (); a486 = forever $ putStrLn "a486"
+a487 :: IO (); a487 = forever $ putStrLn "a487"
+a488 :: IO (); a488 = forever $ putStrLn "a488"
+a489 :: IO (); a489 = forever $ putStrLn "a489"
+a490 :: IO (); a490 = forever $ putStrLn "a490"
+a491 :: IO (); a491 = forever $ putStrLn "a491"
+a492 :: IO (); a492 = forever $ putStrLn "a492"
+a493 :: IO (); a493 = forever $ putStrLn "a493"
+a494 :: IO (); a494 = forever $ putStrLn "a494"
+a495 :: IO (); a495 = forever $ putStrLn "a495"
+a496 :: IO (); a496 = forever $ putStrLn "a496"
+a497 :: IO (); a497 = forever $ putStrLn "a497"
+a498 :: IO (); a498 = forever $ putStrLn "a498"
+a499 :: IO (); a499 = forever $ putStrLn "a499"
+a500 :: IO (); a500 = forever $ putStrLn "a500"
+a501 :: IO (); a501 = forever $ putStrLn "a501"
+a502 :: IO (); a502 = forever $ putStrLn "a502"
+a503 :: IO (); a503 = forever $ putStrLn "a503"
+a504 :: IO (); a504 = forever $ putStrLn "a504"
+a505 :: IO (); a505 = forever $ putStrLn "a505"
+a506 :: IO (); a506 = forever $ putStrLn "a506"
+a507 :: IO (); a507 = forever $ putStrLn "a507"
+a508 :: IO (); a508 = forever $ putStrLn "a508"
+a509 :: IO (); a509 = forever $ putStrLn "a509"
+a510 :: IO (); a510 = forever $ putStrLn "a510"
+a511 :: IO (); a511 = forever $ putStrLn "a511"
+a512 :: IO (); a512 = forever $ putStrLn "a512"
+a513 :: IO (); a513 = forever $ putStrLn "a513"
+a514 :: IO (); a514 = forever $ putStrLn "a514"
+a515 :: IO (); a515 = forever $ putStrLn "a515"
+a516 :: IO (); a516 = forever $ putStrLn "a516"
+a517 :: IO (); a517 = forever $ putStrLn "a517"
+a518 :: IO (); a518 = forever $ putStrLn "a518"
+a519 :: IO (); a519 = forever $ putStrLn "a519"
+a520 :: IO (); a520 = forever $ putStrLn "a520"
+a521 :: IO (); a521 = forever $ putStrLn "a521"
+a522 :: IO (); a522 = forever $ putStrLn "a522"
+a523 :: IO (); a523 = forever $ putStrLn "a523"
+a524 :: IO (); a524 = forever $ putStrLn "a524"
+a525 :: IO (); a525 = forever $ putStrLn "a525"
+a526 :: IO (); a526 = forever $ putStrLn "a526"
+a527 :: IO (); a527 = forever $ putStrLn "a527"
+a528 :: IO (); a528 = forever $ putStrLn "a528"
+a529 :: IO (); a529 = forever $ putStrLn "a529"
+a530 :: IO (); a530 = forever $ putStrLn "a530"
+a531 :: IO (); a531 = forever $ putStrLn "a531"
+a532 :: IO (); a532 = forever $ putStrLn "a532"
+a533 :: IO (); a533 = forever $ putStrLn "a533"
+a534 :: IO (); a534 = forever $ putStrLn "a534"
+a535 :: IO (); a535 = forever $ putStrLn "a535"
+a536 :: IO (); a536 = forever $ putStrLn "a536"
+a537 :: IO (); a537 = forever $ putStrLn "a537"
+a538 :: IO (); a538 = forever $ putStrLn "a538"
+a539 :: IO (); a539 = forever $ putStrLn "a539"
+a540 :: IO (); a540 = forever $ putStrLn "a540"
+a541 :: IO (); a541 = forever $ putStrLn "a541"
+a542 :: IO (); a542 = forever $ putStrLn "a542"
+a543 :: IO (); a543 = forever $ putStrLn "a543"
+a544 :: IO (); a544 = forever $ putStrLn "a544"
+a545 :: IO (); a545 = forever $ putStrLn "a545"
+a546 :: IO (); a546 = forever $ putStrLn "a546"
+a547 :: IO (); a547 = forever $ putStrLn "a547"
+a548 :: IO (); a548 = forever $ putStrLn "a548"
+a549 :: IO (); a549 = forever $ putStrLn "a549"
+a550 :: IO (); a550 = forever $ putStrLn "a550"
+a551 :: IO (); a551 = forever $ putStrLn "a551"
+a552 :: IO (); a552 = forever $ putStrLn "a552"
+a553 :: IO (); a553 = forever $ putStrLn "a553"
+a554 :: IO (); a554 = forever $ putStrLn "a554"
+a555 :: IO (); a555 = forever $ putStrLn "a555"
+a556 :: IO (); a556 = forever $ putStrLn "a556"
+a557 :: IO (); a557 = forever $ putStrLn "a557"
+a558 :: IO (); a558 = forever $ putStrLn "a558"
+a559 :: IO (); a559 = forever $ putStrLn "a559"
+a560 :: IO (); a560 = forever $ putStrLn "a560"
+a561 :: IO (); a561 = forever $ putStrLn "a561"
+a562 :: IO (); a562 = forever $ putStrLn "a562"
+a563 :: IO (); a563 = forever $ putStrLn "a563"
+a564 :: IO (); a564 = forever $ putStrLn "a564"
+a565 :: IO (); a565 = forever $ putStrLn "a565"
+a566 :: IO (); a566 = forever $ putStrLn "a566"
+a567 :: IO (); a567 = forever $ putStrLn "a567"
+a568 :: IO (); a568 = forever $ putStrLn "a568"
+a569 :: IO (); a569 = forever $ putStrLn "a569"
+a570 :: IO (); a570 = forever $ putStrLn "a570"
+a571 :: IO (); a571 = forever $ putStrLn "a571"
+a572 :: IO (); a572 = forever $ putStrLn "a572"
+a573 :: IO (); a573 = forever $ putStrLn "a573"
+a574 :: IO (); a574 = forever $ putStrLn "a574"
+a575 :: IO (); a575 = forever $ putStrLn "a575"
+a576 :: IO (); a576 = forever $ putStrLn "a576"
+a577 :: IO (); a577 = forever $ putStrLn "a577"
+a578 :: IO (); a578 = forever $ putStrLn "a578"
+a579 :: IO (); a579 = forever $ putStrLn "a579"
+a580 :: IO (); a580 = forever $ putStrLn "a580"
+a581 :: IO (); a581 = forever $ putStrLn "a581"
+a582 :: IO (); a582 = forever $ putStrLn "a582"
+a583 :: IO (); a583 = forever $ putStrLn "a583"
+a584 :: IO (); a584 = forever $ putStrLn "a584"
+a585 :: IO (); a585 = forever $ putStrLn "a585"
+a586 :: IO (); a586 = forever $ putStrLn "a586"
+a587 :: IO (); a587 = forever $ putStrLn "a587"
+a588 :: IO (); a588 = forever $ putStrLn "a588"
+a589 :: IO (); a589 = forever $ putStrLn "a589"
+a590 :: IO (); a590 = forever $ putStrLn "a590"
+a591 :: IO (); a591 = forever $ putStrLn "a591"
+a592 :: IO (); a592 = forever $ putStrLn "a592"
+a593 :: IO (); a593 = forever $ putStrLn "a593"
+a594 :: IO (); a594 = forever $ putStrLn "a594"
+a595 :: IO (); a595 = forever $ putStrLn "a595"
+a596 :: IO (); a596 = forever $ putStrLn "a596"
+a597 :: IO (); a597 = forever $ putStrLn "a597"
+a598 :: IO (); a598 = forever $ putStrLn "a598"
+a599 :: IO (); a599 = forever $ putStrLn "a599"
+a600 :: IO (); a600 = forever $ putStrLn "a600"
+a601 :: IO (); a601 = forever $ putStrLn "a601"
+a602 :: IO (); a602 = forever $ putStrLn "a602"
+a603 :: IO (); a603 = forever $ putStrLn "a603"
+a604 :: IO (); a604 = forever $ putStrLn "a604"
+a605 :: IO (); a605 = forever $ putStrLn "a605"
+a606 :: IO (); a606 = forever $ putStrLn "a606"
+a607 :: IO (); a607 = forever $ putStrLn "a607"
+a608 :: IO (); a608 = forever $ putStrLn "a608"
+a609 :: IO (); a609 = forever $ putStrLn "a609"
+a610 :: IO (); a610 = forever $ putStrLn "a610"
+a611 :: IO (); a611 = forever $ putStrLn "a611"
+a612 :: IO (); a612 = forever $ putStrLn "a612"
+a613 :: IO (); a613 = forever $ putStrLn "a613"
+a614 :: IO (); a614 = forever $ putStrLn "a614"
+a615 :: IO (); a615 = forever $ putStrLn "a615"
+a616 :: IO (); a616 = forever $ putStrLn "a616"
+a617 :: IO (); a617 = forever $ putStrLn "a617"
+a618 :: IO (); a618 = forever $ putStrLn "a618"
+a619 :: IO (); a619 = forever $ putStrLn "a619"
+a620 :: IO (); a620 = forever $ putStrLn "a620"
+a621 :: IO (); a621 = forever $ putStrLn "a621"
+a622 :: IO (); a622 = forever $ putStrLn "a622"
+a623 :: IO (); a623 = forever $ putStrLn "a623"
+a624 :: IO (); a624 = forever $ putStrLn "a624"
+a625 :: IO (); a625 = forever $ putStrLn "a625"
+a626 :: IO (); a626 = forever $ putStrLn "a626"
+a627 :: IO (); a627 = forever $ putStrLn "a627"
+a628 :: IO (); a628 = forever $ putStrLn "a628"
+a629 :: IO (); a629 = forever $ putStrLn "a629"
+a630 :: IO (); a630 = forever $ putStrLn "a630"
+a631 :: IO (); a631 = forever $ putStrLn "a631"
+a632 :: IO (); a632 = forever $ putStrLn "a632"
+a633 :: IO (); a633 = forever $ putStrLn "a633"
+a634 :: IO (); a634 = forever $ putStrLn "a634"
+a635 :: IO (); a635 = forever $ putStrLn "a635"
+a636 :: IO (); a636 = forever $ putStrLn "a636"
+a637 :: IO (); a637 = forever $ putStrLn "a637"
+a638 :: IO (); a638 = forever $ putStrLn "a638"
+a639 :: IO (); a639 = forever $ putStrLn "a639"
+a640 :: IO (); a640 = forever $ putStrLn "a640"
+a641 :: IO (); a641 = forever $ putStrLn "a641"
+a642 :: IO (); a642 = forever $ putStrLn "a642"
+a643 :: IO (); a643 = forever $ putStrLn "a643"
+a644 :: IO (); a644 = forever $ putStrLn "a644"
+a645 :: IO (); a645 = forever $ putStrLn "a645"
+a646 :: IO (); a646 = forever $ putStrLn "a646"
+a647 :: IO (); a647 = forever $ putStrLn "a647"
+a648 :: IO (); a648 = forever $ putStrLn "a648"
+a649 :: IO (); a649 = forever $ putStrLn "a649"
+a650 :: IO (); a650 = forever $ putStrLn "a650"
+a651 :: IO (); a651 = forever $ putStrLn "a651"
+a652 :: IO (); a652 = forever $ putStrLn "a652"
+a653 :: IO (); a653 = forever $ putStrLn "a653"
+a654 :: IO (); a654 = forever $ putStrLn "a654"
+a655 :: IO (); a655 = forever $ putStrLn "a655"
+a656 :: IO (); a656 = forever $ putStrLn "a656"
+a657 :: IO (); a657 = forever $ putStrLn "a657"
+a658 :: IO (); a658 = forever $ putStrLn "a658"
+a659 :: IO (); a659 = forever $ putStrLn "a659"
+a660 :: IO (); a660 = forever $ putStrLn "a660"
+a661 :: IO (); a661 = forever $ putStrLn "a661"
+a662 :: IO (); a662 = forever $ putStrLn "a662"
+a663 :: IO (); a663 = forever $ putStrLn "a663"
+a664 :: IO (); a664 = forever $ putStrLn "a664"
+a665 :: IO (); a665 = forever $ putStrLn "a665"
+a666 :: IO (); a666 = forever $ putStrLn "a666"
+a667 :: IO (); a667 = forever $ putStrLn "a667"
+a668 :: IO (); a668 = forever $ putStrLn "a668"
+a669 :: IO (); a669 = forever $ putStrLn "a669"
+a670 :: IO (); a670 = forever $ putStrLn "a670"
+a671 :: IO (); a671 = forever $ putStrLn "a671"
+a672 :: IO (); a672 = forever $ putStrLn "a672"
+a673 :: IO (); a673 = forever $ putStrLn "a673"
+a674 :: IO (); a674 = forever $ putStrLn "a674"
+a675 :: IO (); a675 = forever $ putStrLn "a675"
+a676 :: IO (); a676 = forever $ putStrLn "a676"
+a677 :: IO (); a677 = forever $ putStrLn "a677"
+a678 :: IO (); a678 = forever $ putStrLn "a678"
+a679 :: IO (); a679 = forever $ putStrLn "a679"
+a680 :: IO (); a680 = forever $ putStrLn "a680"
+a681 :: IO (); a681 = forever $ putStrLn "a681"
+a682 :: IO (); a682 = forever $ putStrLn "a682"
+a683 :: IO (); a683 = forever $ putStrLn "a683"
+a684 :: IO (); a684 = forever $ putStrLn "a684"
+a685 :: IO (); a685 = forever $ putStrLn "a685"
+a686 :: IO (); a686 = forever $ putStrLn "a686"
+a687 :: IO (); a687 = forever $ putStrLn "a687"
+a688 :: IO (); a688 = forever $ putStrLn "a688"
+a689 :: IO (); a689 = forever $ putStrLn "a689"
+a690 :: IO (); a690 = forever $ putStrLn "a690"
+a691 :: IO (); a691 = forever $ putStrLn "a691"
+a692 :: IO (); a692 = forever $ putStrLn "a692"
+a693 :: IO (); a693 = forever $ putStrLn "a693"
+a694 :: IO (); a694 = forever $ putStrLn "a694"
+a695 :: IO (); a695 = forever $ putStrLn "a695"
+a696 :: IO (); a696 = forever $ putStrLn "a696"
+a697 :: IO (); a697 = forever $ putStrLn "a697"
+a698 :: IO (); a698 = forever $ putStrLn "a698"
+a699 :: IO (); a699 = forever $ putStrLn "a699"
+a700 :: IO (); a700 = forever $ putStrLn "a700"
+a701 :: IO (); a701 = forever $ putStrLn "a701"
+a702 :: IO (); a702 = forever $ putStrLn "a702"
+a703 :: IO (); a703 = forever $ putStrLn "a703"
+a704 :: IO (); a704 = forever $ putStrLn "a704"
+a705 :: IO (); a705 = forever $ putStrLn "a705"
+a706 :: IO (); a706 = forever $ putStrLn "a706"
+a707 :: IO (); a707 = forever $ putStrLn "a707"
+a708 :: IO (); a708 = forever $ putStrLn "a708"
+a709 :: IO (); a709 = forever $ putStrLn "a709"
+a710 :: IO (); a710 = forever $ putStrLn "a710"
+a711 :: IO (); a711 = forever $ putStrLn "a711"
+a712 :: IO (); a712 = forever $ putStrLn "a712"
+a713 :: IO (); a713 = forever $ putStrLn "a713"
+a714 :: IO (); a714 = forever $ putStrLn "a714"
+a715 :: IO (); a715 = forever $ putStrLn "a715"
+a716 :: IO (); a716 = forever $ putStrLn "a716"
+a717 :: IO (); a717 = forever $ putStrLn "a717"
+a718 :: IO (); a718 = forever $ putStrLn "a718"
+a719 :: IO (); a719 = forever $ putStrLn "a719"
+a720 :: IO (); a720 = forever $ putStrLn "a720"
+a721 :: IO (); a721 = forever $ putStrLn "a721"
+a722 :: IO (); a722 = forever $ putStrLn "a722"
+a723 :: IO (); a723 = forever $ putStrLn "a723"
+a724 :: IO (); a724 = forever $ putStrLn "a724"
+a725 :: IO (); a725 = forever $ putStrLn "a725"
+a726 :: IO (); a726 = forever $ putStrLn "a726"
+a727 :: IO (); a727 = forever $ putStrLn "a727"
+a728 :: IO (); a728 = forever $ putStrLn "a728"
+a729 :: IO (); a729 = forever $ putStrLn "a729"
+a730 :: IO (); a730 = forever $ putStrLn "a730"
+a731 :: IO (); a731 = forever $ putStrLn "a731"
+a732 :: IO (); a732 = forever $ putStrLn "a732"
+a733 :: IO (); a733 = forever $ putStrLn "a733"
+a734 :: IO (); a734 = forever $ putStrLn "a734"
+a735 :: IO (); a735 = forever $ putStrLn "a735"
+a736 :: IO (); a736 = forever $ putStrLn "a736"
+a737 :: IO (); a737 = forever $ putStrLn "a737"
+a738 :: IO (); a738 = forever $ putStrLn "a738"
+a739 :: IO (); a739 = forever $ putStrLn "a739"
+a740 :: IO (); a740 = forever $ putStrLn "a740"
+a741 :: IO (); a741 = forever $ putStrLn "a741"
+a742 :: IO (); a742 = forever $ putStrLn "a742"
+a743 :: IO (); a743 = forever $ putStrLn "a743"
+a744 :: IO (); a744 = forever $ putStrLn "a744"
+a745 :: IO (); a745 = forever $ putStrLn "a745"
+a746 :: IO (); a746 = forever $ putStrLn "a746"
+a747 :: IO (); a747 = forever $ putStrLn "a747"
+a748 :: IO (); a748 = forever $ putStrLn "a748"
+a749 :: IO (); a749 = forever $ putStrLn "a749"
+a750 :: IO (); a750 = forever $ putStrLn "a750"
+a751 :: IO (); a751 = forever $ putStrLn "a751"
+a752 :: IO (); a752 = forever $ putStrLn "a752"
+a753 :: IO (); a753 = forever $ putStrLn "a753"
+a754 :: IO (); a754 = forever $ putStrLn "a754"
+a755 :: IO (); a755 = forever $ putStrLn "a755"
+a756 :: IO (); a756 = forever $ putStrLn "a756"
+a757 :: IO (); a757 = forever $ putStrLn "a757"
+a758 :: IO (); a758 = forever $ putStrLn "a758"
+a759 :: IO (); a759 = forever $ putStrLn "a759"
+a760 :: IO (); a760 = forever $ putStrLn "a760"
+a761 :: IO (); a761 = forever $ putStrLn "a761"
+a762 :: IO (); a762 = forever $ putStrLn "a762"
+a763 :: IO (); a763 = forever $ putStrLn "a763"
+a764 :: IO (); a764 = forever $ putStrLn "a764"
+a765 :: IO (); a765 = forever $ putStrLn "a765"
+a766 :: IO (); a766 = forever $ putStrLn "a766"
+a767 :: IO (); a767 = forever $ putStrLn "a767"
+a768 :: IO (); a768 = forever $ putStrLn "a768"
+a769 :: IO (); a769 = forever $ putStrLn "a769"
+a770 :: IO (); a770 = forever $ putStrLn "a770"
+a771 :: IO (); a771 = forever $ putStrLn "a771"
+a772 :: IO (); a772 = forever $ putStrLn "a772"
+a773 :: IO (); a773 = forever $ putStrLn "a773"
+a774 :: IO (); a774 = forever $ putStrLn "a774"
+a775 :: IO (); a775 = forever $ putStrLn "a775"
+a776 :: IO (); a776 = forever $ putStrLn "a776"
+a777 :: IO (); a777 = forever $ putStrLn "a777"
+a778 :: IO (); a778 = forever $ putStrLn "a778"
+a779 :: IO (); a779 = forever $ putStrLn "a779"
+a780 :: IO (); a780 = forever $ putStrLn "a780"
+a781 :: IO (); a781 = forever $ putStrLn "a781"
+a782 :: IO (); a782 = forever $ putStrLn "a782"
+a783 :: IO (); a783 = forever $ putStrLn "a783"
+a784 :: IO (); a784 = forever $ putStrLn "a784"
+a785 :: IO (); a785 = forever $ putStrLn "a785"
+a786 :: IO (); a786 = forever $ putStrLn "a786"
+a787 :: IO (); a787 = forever $ putStrLn "a787"
+a788 :: IO (); a788 = forever $ putStrLn "a788"
+a789 :: IO (); a789 = forever $ putStrLn "a789"
+a790 :: IO (); a790 = forever $ putStrLn "a790"
+a791 :: IO (); a791 = forever $ putStrLn "a791"
+a792 :: IO (); a792 = forever $ putStrLn "a792"
+a793 :: IO (); a793 = forever $ putStrLn "a793"
+a794 :: IO (); a794 = forever $ putStrLn "a794"
+a795 :: IO (); a795 = forever $ putStrLn "a795"
+a796 :: IO (); a796 = forever $ putStrLn "a796"
+a797 :: IO (); a797 = forever $ putStrLn "a797"
+a798 :: IO (); a798 = forever $ putStrLn "a798"
+a799 :: IO (); a799 = forever $ putStrLn "a799"
+a800 :: IO (); a800 = forever $ putStrLn "a800"
+a801 :: IO (); a801 = forever $ putStrLn "a801"
+a802 :: IO (); a802 = forever $ putStrLn "a802"
+a803 :: IO (); a803 = forever $ putStrLn "a803"
+a804 :: IO (); a804 = forever $ putStrLn "a804"
+a805 :: IO (); a805 = forever $ putStrLn "a805"
+a806 :: IO (); a806 = forever $ putStrLn "a806"
+a807 :: IO (); a807 = forever $ putStrLn "a807"
+a808 :: IO (); a808 = forever $ putStrLn "a808"
+a809 :: IO (); a809 = forever $ putStrLn "a809"
+a810 :: IO (); a810 = forever $ putStrLn "a810"
+a811 :: IO (); a811 = forever $ putStrLn "a811"
+a812 :: IO (); a812 = forever $ putStrLn "a812"
+a813 :: IO (); a813 = forever $ putStrLn "a813"
+a814 :: IO (); a814 = forever $ putStrLn "a814"
+a815 :: IO (); a815 = forever $ putStrLn "a815"
+a816 :: IO (); a816 = forever $ putStrLn "a816"
+a817 :: IO (); a817 = forever $ putStrLn "a817"
+a818 :: IO (); a818 = forever $ putStrLn "a818"
+a819 :: IO (); a819 = forever $ putStrLn "a819"
+a820 :: IO (); a820 = forever $ putStrLn "a820"
+a821 :: IO (); a821 = forever $ putStrLn "a821"
+a822 :: IO (); a822 = forever $ putStrLn "a822"
+a823 :: IO (); a823 = forever $ putStrLn "a823"
+a824 :: IO (); a824 = forever $ putStrLn "a824"
+a825 :: IO (); a825 = forever $ putStrLn "a825"
+a826 :: IO (); a826 = forever $ putStrLn "a826"
+a827 :: IO (); a827 = forever $ putStrLn "a827"
+a828 :: IO (); a828 = forever $ putStrLn "a828"
+a829 :: IO (); a829 = forever $ putStrLn "a829"
+a830 :: IO (); a830 = forever $ putStrLn "a830"
+a831 :: IO (); a831 = forever $ putStrLn "a831"
+a832 :: IO (); a832 = forever $ putStrLn "a832"
+a833 :: IO (); a833 = forever $ putStrLn "a833"
+a834 :: IO (); a834 = forever $ putStrLn "a834"
+a835 :: IO (); a835 = forever $ putStrLn "a835"
+a836 :: IO (); a836 = forever $ putStrLn "a836"
+a837 :: IO (); a837 = forever $ putStrLn "a837"
+a838 :: IO (); a838 = forever $ putStrLn "a838"
+a839 :: IO (); a839 = forever $ putStrLn "a839"
+a840 :: IO (); a840 = forever $ putStrLn "a840"
+a841 :: IO (); a841 = forever $ putStrLn "a841"
+a842 :: IO (); a842 = forever $ putStrLn "a842"
+a843 :: IO (); a843 = forever $ putStrLn "a843"
+a844 :: IO (); a844 = forever $ putStrLn "a844"
+a845 :: IO (); a845 = forever $ putStrLn "a845"
+a846 :: IO (); a846 = forever $ putStrLn "a846"
+a847 :: IO (); a847 = forever $ putStrLn "a847"
+a848 :: IO (); a848 = forever $ putStrLn "a848"
+a849 :: IO (); a849 = forever $ putStrLn "a849"
+a850 :: IO (); a850 = forever $ putStrLn "a850"
+a851 :: IO (); a851 = forever $ putStrLn "a851"
+a852 :: IO (); a852 = forever $ putStrLn "a852"
+a853 :: IO (); a853 = forever $ putStrLn "a853"
+a854 :: IO (); a854 = forever $ putStrLn "a854"
+a855 :: IO (); a855 = forever $ putStrLn "a855"
+a856 :: IO (); a856 = forever $ putStrLn "a856"
+a857 :: IO (); a857 = forever $ putStrLn "a857"
+a858 :: IO (); a858 = forever $ putStrLn "a858"
+a859 :: IO (); a859 = forever $ putStrLn "a859"
+a860 :: IO (); a860 = forever $ putStrLn "a860"
+a861 :: IO (); a861 = forever $ putStrLn "a861"
+a862 :: IO (); a862 = forever $ putStrLn "a862"
+a863 :: IO (); a863 = forever $ putStrLn "a863"
+a864 :: IO (); a864 = forever $ putStrLn "a864"
+a865 :: IO (); a865 = forever $ putStrLn "a865"
+a866 :: IO (); a866 = forever $ putStrLn "a866"
+a867 :: IO (); a867 = forever $ putStrLn "a867"
+a868 :: IO (); a868 = forever $ putStrLn "a868"
+a869 :: IO (); a869 = forever $ putStrLn "a869"
+a870 :: IO (); a870 = forever $ putStrLn "a870"
+a871 :: IO (); a871 = forever $ putStrLn "a871"
+a872 :: IO (); a872 = forever $ putStrLn "a872"
+a873 :: IO (); a873 = forever $ putStrLn "a873"
+a874 :: IO (); a874 = forever $ putStrLn "a874"
+a875 :: IO (); a875 = forever $ putStrLn "a875"
+a876 :: IO (); a876 = forever $ putStrLn "a876"
+a877 :: IO (); a877 = forever $ putStrLn "a877"
+a878 :: IO (); a878 = forever $ putStrLn "a878"
+a879 :: IO (); a879 = forever $ putStrLn "a879"
+a880 :: IO (); a880 = forever $ putStrLn "a880"
+a881 :: IO (); a881 = forever $ putStrLn "a881"
+a882 :: IO (); a882 = forever $ putStrLn "a882"
+a883 :: IO (); a883 = forever $ putStrLn "a883"
+a884 :: IO (); a884 = forever $ putStrLn "a884"
+a885 :: IO (); a885 = forever $ putStrLn "a885"
+a886 :: IO (); a886 = forever $ putStrLn "a886"
+a887 :: IO (); a887 = forever $ putStrLn "a887"
+a888 :: IO (); a888 = forever $ putStrLn "a888"
+a889 :: IO (); a889 = forever $ putStrLn "a889"
+a890 :: IO (); a890 = forever $ putStrLn "a890"
+a891 :: IO (); a891 = forever $ putStrLn "a891"
+a892 :: IO (); a892 = forever $ putStrLn "a892"
+a893 :: IO (); a893 = forever $ putStrLn "a893"
+a894 :: IO (); a894 = forever $ putStrLn "a894"
+a895 :: IO (); a895 = forever $ putStrLn "a895"
+a896 :: IO (); a896 = forever $ putStrLn "a896"
+a897 :: IO (); a897 = forever $ putStrLn "a897"
+a898 :: IO (); a898 = forever $ putStrLn "a898"
+a899 :: IO (); a899 = forever $ putStrLn "a899"
+a900 :: IO (); a900 = forever $ putStrLn "a900"
+a901 :: IO (); a901 = forever $ putStrLn "a901"
+a902 :: IO (); a902 = forever $ putStrLn "a902"
+a903 :: IO (); a903 = forever $ putStrLn "a903"
+a904 :: IO (); a904 = forever $ putStrLn "a904"
+a905 :: IO (); a905 = forever $ putStrLn "a905"
+a906 :: IO (); a906 = forever $ putStrLn "a906"
+a907 :: IO (); a907 = forever $ putStrLn "a907"
+a908 :: IO (); a908 = forever $ putStrLn "a908"
+a909 :: IO (); a909 = forever $ putStrLn "a909"
+a910 :: IO (); a910 = forever $ putStrLn "a910"
+a911 :: IO (); a911 = forever $ putStrLn "a911"
+a912 :: IO (); a912 = forever $ putStrLn "a912"
+a913 :: IO (); a913 = forever $ putStrLn "a913"
+a914 :: IO (); a914 = forever $ putStrLn "a914"
+a915 :: IO (); a915 = forever $ putStrLn "a915"
+a916 :: IO (); a916 = forever $ putStrLn "a916"
+a917 :: IO (); a917 = forever $ putStrLn "a917"
+a918 :: IO (); a918 = forever $ putStrLn "a918"
+a919 :: IO (); a919 = forever $ putStrLn "a919"
+a920 :: IO (); a920 = forever $ putStrLn "a920"
+a921 :: IO (); a921 = forever $ putStrLn "a921"
+a922 :: IO (); a922 = forever $ putStrLn "a922"
+a923 :: IO (); a923 = forever $ putStrLn "a923"
+a924 :: IO (); a924 = forever $ putStrLn "a924"
+a925 :: IO (); a925 = forever $ putStrLn "a925"
+a926 :: IO (); a926 = forever $ putStrLn "a926"
+a927 :: IO (); a927 = forever $ putStrLn "a927"
+a928 :: IO (); a928 = forever $ putStrLn "a928"
+a929 :: IO (); a929 = forever $ putStrLn "a929"
+a930 :: IO (); a930 = forever $ putStrLn "a930"
+a931 :: IO (); a931 = forever $ putStrLn "a931"
+a932 :: IO (); a932 = forever $ putStrLn "a932"
+a933 :: IO (); a933 = forever $ putStrLn "a933"
+a934 :: IO (); a934 = forever $ putStrLn "a934"
+a935 :: IO (); a935 = forever $ putStrLn "a935"
+a936 :: IO (); a936 = forever $ putStrLn "a936"
+a937 :: IO (); a937 = forever $ putStrLn "a937"
+a938 :: IO (); a938 = forever $ putStrLn "a938"
+a939 :: IO (); a939 = forever $ putStrLn "a939"
+a940 :: IO (); a940 = forever $ putStrLn "a940"
+a941 :: IO (); a941 = forever $ putStrLn "a941"
+a942 :: IO (); a942 = forever $ putStrLn "a942"
+a943 :: IO (); a943 = forever $ putStrLn "a943"
+a944 :: IO (); a944 = forever $ putStrLn "a944"
+a945 :: IO (); a945 = forever $ putStrLn "a945"
+a946 :: IO (); a946 = forever $ putStrLn "a946"
+a947 :: IO (); a947 = forever $ putStrLn "a947"
+a948 :: IO (); a948 = forever $ putStrLn "a948"
+a949 :: IO (); a949 = forever $ putStrLn "a949"
+a950 :: IO (); a950 = forever $ putStrLn "a950"
+a951 :: IO (); a951 = forever $ putStrLn "a951"
+a952 :: IO (); a952 = forever $ putStrLn "a952"
+a953 :: IO (); a953 = forever $ putStrLn "a953"
+a954 :: IO (); a954 = forever $ putStrLn "a954"
+a955 :: IO (); a955 = forever $ putStrLn "a955"
+a956 :: IO (); a956 = forever $ putStrLn "a956"
+a957 :: IO (); a957 = forever $ putStrLn "a957"
+a958 :: IO (); a958 = forever $ putStrLn "a958"
+a959 :: IO (); a959 = forever $ putStrLn "a959"
+a960 :: IO (); a960 = forever $ putStrLn "a960"
+a961 :: IO (); a961 = forever $ putStrLn "a961"
+a962 :: IO (); a962 = forever $ putStrLn "a962"
+a963 :: IO (); a963 = forever $ putStrLn "a963"
+a964 :: IO (); a964 = forever $ putStrLn "a964"
+a965 :: IO (); a965 = forever $ putStrLn "a965"
+a966 :: IO (); a966 = forever $ putStrLn "a966"
+a967 :: IO (); a967 = forever $ putStrLn "a967"
+a968 :: IO (); a968 = forever $ putStrLn "a968"
+a969 :: IO (); a969 = forever $ putStrLn "a969"
+a970 :: IO (); a970 = forever $ putStrLn "a970"
+a971 :: IO (); a971 = forever $ putStrLn "a971"
+a972 :: IO (); a972 = forever $ putStrLn "a972"
+a973 :: IO (); a973 = forever $ putStrLn "a973"
+a974 :: IO (); a974 = forever $ putStrLn "a974"
+a975 :: IO (); a975 = forever $ putStrLn "a975"
+a976 :: IO (); a976 = forever $ putStrLn "a976"
+a977 :: IO (); a977 = forever $ putStrLn "a977"
+a978 :: IO (); a978 = forever $ putStrLn "a978"
+a979 :: IO (); a979 = forever $ putStrLn "a979"
+a980 :: IO (); a980 = forever $ putStrLn "a980"
+a981 :: IO (); a981 = forever $ putStrLn "a981"
+a982 :: IO (); a982 = forever $ putStrLn "a982"
+a983 :: IO (); a983 = forever $ putStrLn "a983"
+a984 :: IO (); a984 = forever $ putStrLn "a984"
+a985 :: IO (); a985 = forever $ putStrLn "a985"
+a986 :: IO (); a986 = forever $ putStrLn "a986"
+a987 :: IO (); a987 = forever $ putStrLn "a987"
+a988 :: IO (); a988 = forever $ putStrLn "a988"
+a989 :: IO (); a989 = forever $ putStrLn "a989"
+a990 :: IO (); a990 = forever $ putStrLn "a990"
+a991 :: IO (); a991 = forever $ putStrLn "a991"
+a992 :: IO (); a992 = forever $ putStrLn "a992"
+a993 :: IO (); a993 = forever $ putStrLn "a993"
+a994 :: IO (); a994 = forever $ putStrLn "a994"
+a995 :: IO (); a995 = forever $ putStrLn "a995"
+a996 :: IO (); a996 = forever $ putStrLn "a996"
+a997 :: IO (); a997 = forever $ putStrLn "a997"
+a998 :: IO (); a998 = forever $ putStrLn "a998"
+a999 :: IO (); a999 = forever $ putStrLn "a999"
+a1000 :: IO (); a1000 = forever $ putStrLn "a1000"
diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T
index 296a6c2742..9eb2d20aaa 100644
--- a/testsuite/tests/perf/compiler/all.T
+++ b/testsuite/tests/perf/compiler/all.T
@@ -700,3 +700,23 @@ test('T9233',
],
multimod_compile,
['T9233', '-v0 -O2 -fno-spec-constr'])
+
+test('T10370',
+ [ only_ways(['optasm']),
+ compiler_stats_num_field('max_bytes_used', # Note [residency]
+ [(wordsize(64), 19548720, 15),
+ # 2015-10-22 19548720
+ (wordsize(32), 11371496, 15),
+ # 2015-10-22 11371496
+ ]),
+ compiler_stats_num_field('peak_megabytes_allocated', # Note [residency]
+ [(wordsize(64), 76, 15),
+ # 2015-10-22 76
+ (wordsize(32), 39, 15),
+ # 2015-10-22 39
+ ]),
+ # Use `+RTS -G1` for more stable residency measurements. Note [residency].
+ extra_hc_opts('+RTS -G1 -RTS')
+ ],
+ compile,
+ [''])