|
|
1
|
+
|
|
|
2
|
+-- This test when run under GHCi bytecode creates an AP closure whose size
|
|
|
3
|
+-- exceeds LARGE_OBJECT_THRESHOLD. The compacting GC didn't handle these.
|
|
|
4
|
+
|
|
|
5
|
+module Main where
|
|
|
6
|
+
|
|
|
7
|
+import System.Mem (performMajorGC)
|
|
|
8
|
+import Control.Monad (forM_)
|
|
|
9
|
+import Data.IORef
|
|
|
10
|
+
|
|
|
11
|
+data Box = Box Int
|
|
|
12
|
+
|
|
|
13
|
+{-# NOINLINE bigfun #-}
|
|
|
14
|
+bigfun :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int
|
|
|
15
|
+bigfun a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60 a61 a62 a63 a64 a65 a66 a67 a68 a69 a70 a71 a72 a73 a74 a75 a76 a77 a78 a79 a80 a81 a82 a83 a84 a85 a86 a87 a88 a89 a90 a91 a92 a93 a94 a95 a96 a97 a98 a99 a100 a101 a102 a103 a104 a105 a106 a107 a108 a109 a110 a111 a112 a113 a114 a115 a116 a117 a118 a119 a120 a121 a122 a123 a124 a125 a126 a127 a128 a129 a130 a131 a132 a133 a134 a135 a136 a137 a138 a139 a140 a141 a142 a143 a144 a145 a146 a147 a148 a149 a150 a151 a152 a153 a154 a155 a156 a157 a158 a159 a160 a161 a162 a163 a164 a165 a166 a167 a168 a169 a170 a171 a172 a173 a174 a175 a176 a177 a178 a179 a180 a181 a182 a183 a184 a185 a186 a187 a188 a189 a190 a191 a192 a193 a194 a195 a196 a197 a198 a199 a200 a201 a202 a203 a204 a205 a206 a207 a208 a209 a210 a211 a212 a213 a214 a215 a216 a217 a218 a219 a220 a221 a222 a223 a224 a225 a226 a227 a228 a229 a230 a231 a232 a233 a234 a235 a236 a237 a238 a239 a240 a241 a242 a243 a244 a245 a246 a247 a248 a249 a250 a251 a252 a253 a254 a255 a256 a257 a258 a259 a260 a261 a262 a263 a264 a265 a266 a267 a268 a269 a270 a271 a272 a273 a274 a275 a276 a277 a278 a279 a280 a281 a282 a283 a284 a285 a286 a287 a288 a289 a290 a291 a292 a293 a294 a295 a296 a297 a298 a299 a300 a301 a302 a303 a304 a305 a306 a307 a308 a309 a310 a311 a312 a313 a314 a315 a316 a317 a318 a319 a320 a321 a322 a323 a324 a325 a326 a327 a328 a329 a330 a331 a332 a333 a334 a335 a336 a337 a338 a339 a340 a341 a342 a343 a344 a345 a346 a347 a348 a349 a350 a351 a352 a353 a354 a355 a356 a357 a358 a359 a360 a361 a362 a363 a364 a365 a366 a367 a368 a369 a370 a371 a372 a373 a374 a375 a376 a377 a378 a379 a380 a381 a382 a383 a384 a385 a386 a387 a388 a389 a390 a391 a392 a393 a394 a395 a396 a397 a398 a399 a400 a401 a402 a403 a404 a405 a406 a407 a408 a409 a410 a411 a412 a413 a414 a415 a416 a417 a418 a419 a420 a421 a422 a423 a424 a425 a426 a427 a428 a429 a430 a431 a432 a433 a434 a435 a436 a437 a438 a439 a440 a441 a442 a443 a444 a445 a446 a447 a448 a449 a450 a451 a452 a453 a454 a455 a456 a457 a458 a459 a460 a461 a462 a463 a464 a465 a466 a467 a468 a469 a470 a471 a472 a473 a474 a475 a476 a477 a478 a479 a480 a481 a482 a483 a484 a485 a486 a487 a488 a489 a490 a491 a492 a493 a494 a495 a496 a497 a498 a499 = a0+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a17+a18+a19+a20+a21+a22+a23+a24+a25+a26+a27+a28+a29+a30+a31+a32+a33+a34+a35+a36+a37+a38+a39+a40+a41+a42+a43+a44+a45+a46+a47+a48+a49+a50+a51+a52+a53+a54+a55+a56+a57+a58+a59+a60+a61+a62+a63+a64+a65+a66+a67+a68+a69+a70+a71+a72+a73+a74+a75+a76+a77+a78+a79+a80+a81+a82+a83+a84+a85+a86+a87+a88+a89+a90+a91+a92+a93+a94+a95+a96+a97+a98+a99+a100+a101+a102+a103+a104+a105+a106+a107+a108+a109+a110+a111+a112+a113+a114+a115+a116+a117+a118+a119+a120+a121+a122+a123+a124+a125+a126+a127+a128+a129+a130+a131+a132+a133+a134+a135+a136+a137+a138+a139+a140+a141+a142+a143+a144+a145+a146+a147+a148+a149+a150+a151+a152+a153+a154+a155+a156+a157+a158+a159+a160+a161+a162+a163+a164+a165+a166+a167+a168+a169+a170+a171+a172+a173+a174+a175+a176+a177+a178+a179+a180+a181+a182+a183+a184+a185+a186+a187+a188+a189+a190+a191+a192+a193+a194+a195+a196+a197+a198+a199+a200+a201+a202+a203+a204+a205+a206+a207+a208+a209+a210+a211+a212+a213+a214+a215+a216+a217+a218+a219+a220+a221+a222+a223+a224+a225+a226+a227+a228+a229+a230+a231+a232+a233+a234+a235+a236+a237+a238+a239+a240+a241+a242+a243+a244+a245+a246+a247+a248+a249+a250+a251+a252+a253+a254+a255+a256+a257+a258+a259+a260+a261+a262+a263+a264+a265+a266+a267+a268+a269+a270+a271+a272+a273+a274+a275+a276+a277+a278+a279+a280+a281+a282+a283+a284+a285+a286+a287+a288+a289+a290+a291+a292+a293+a294+a295+a296+a297+a298+a299+a300+a301+a302+a303+a304+a305+a306+a307+a308+a309+a310+a311+a312+a313+a314+a315+a316+a317+a318+a319+a320+a321+a322+a323+a324+a325+a326+a327+a328+a329+a330+a331+a332+a333+a334+a335+a336+a337+a338+a339+a340+a341+a342+a343+a344+a345+a346+a347+a348+a349+a350+a351+a352+a353+a354+a355+a356+a357+a358+a359+a360+a361+a362+a363+a364+a365+a366+a367+a368+a369+a370+a371+a372+a373+a374+a375+a376+a377+a378+a379+a380+a381+a382+a383+a384+a385+a386+a387+a388+a389+a390+a391+a392+a393+a394+a395+a396+a397+a398+a399+a400+a401+a402+a403+a404+a405+a406+a407+a408+a409+a410+a411+a412+a413+a414+a415+a416+a417+a418+a419+a420+a421+a422+a423+a424+a425+a426+a427+a428+a429+a430+a431+a432+a433+a434+a435+a436+a437+a438+a439+a440+a441+a442+a443+a444+a445+a446+a447+a448+a449+a450+a451+a452+a453+a454+a455+a456+a457+a458+a459+a460+a461+a462+a463+a464+a465+a466+a467+a468+a469+a470+a471+a472+a473+a474+a475+a476+a477+a478+a479+a480+a481+a482+a483+a484+a485+a486+a487+a488+a489+a490+a491+a492+a493+a494+a495+a496+a497+a498+a499
|
|
|
16
|
+
|
|
|
17
|
+{-# NOINLINE mkBox #-}
|
|
|
18
|
+mkBox :: Int -> Box
|
|
|
19
|
+mkBox seed =
|
|
|
20
|
+ let v0 = seed + 0 in
|
|
|
21
|
+ let v1 = seed + 1 in
|
|
|
22
|
+ let v2 = seed + 2 in
|
|
|
23
|
+ let v3 = seed + 3 in
|
|
|
24
|
+ let v4 = seed + 4 in
|
|
|
25
|
+ let v5 = seed + 5 in
|
|
|
26
|
+ let v6 = seed + 6 in
|
|
|
27
|
+ let v7 = seed + 7 in
|
|
|
28
|
+ let v8 = seed + 8 in
|
|
|
29
|
+ let v9 = seed + 9 in
|
|
|
30
|
+ let v10 = seed + 10 in
|
|
|
31
|
+ let v11 = seed + 11 in
|
|
|
32
|
+ let v12 = seed + 12 in
|
|
|
33
|
+ let v13 = seed + 13 in
|
|
|
34
|
+ let v14 = seed + 14 in
|
|
|
35
|
+ let v15 = seed + 15 in
|
|
|
36
|
+ let v16 = seed + 16 in
|
|
|
37
|
+ let v17 = seed + 17 in
|
|
|
38
|
+ let v18 = seed + 18 in
|
|
|
39
|
+ let v19 = seed + 19 in
|
|
|
40
|
+ let v20 = seed + 20 in
|
|
|
41
|
+ let v21 = seed + 21 in
|
|
|
42
|
+ let v22 = seed + 22 in
|
|
|
43
|
+ let v23 = seed + 23 in
|
|
|
44
|
+ let v24 = seed + 24 in
|
|
|
45
|
+ let v25 = seed + 25 in
|
|
|
46
|
+ let v26 = seed + 26 in
|
|
|
47
|
+ let v27 = seed + 27 in
|
|
|
48
|
+ let v28 = seed + 28 in
|
|
|
49
|
+ let v29 = seed + 29 in
|
|
|
50
|
+ let v30 = seed + 30 in
|
|
|
51
|
+ let v31 = seed + 31 in
|
|
|
52
|
+ let v32 = seed + 32 in
|
|
|
53
|
+ let v33 = seed + 33 in
|
|
|
54
|
+ let v34 = seed + 34 in
|
|
|
55
|
+ let v35 = seed + 35 in
|
|
|
56
|
+ let v36 = seed + 36 in
|
|
|
57
|
+ let v37 = seed + 37 in
|
|
|
58
|
+ let v38 = seed + 38 in
|
|
|
59
|
+ let v39 = seed + 39 in
|
|
|
60
|
+ let v40 = seed + 40 in
|
|
|
61
|
+ let v41 = seed + 41 in
|
|
|
62
|
+ let v42 = seed + 42 in
|
|
|
63
|
+ let v43 = seed + 43 in
|
|
|
64
|
+ let v44 = seed + 44 in
|
|
|
65
|
+ let v45 = seed + 45 in
|
|
|
66
|
+ let v46 = seed + 46 in
|
|
|
67
|
+ let v47 = seed + 47 in
|
|
|
68
|
+ let v48 = seed + 48 in
|
|
|
69
|
+ let v49 = seed + 49 in
|
|
|
70
|
+ let v50 = seed + 50 in
|
|
|
71
|
+ let v51 = seed + 51 in
|
|
|
72
|
+ let v52 = seed + 52 in
|
|
|
73
|
+ let v53 = seed + 53 in
|
|
|
74
|
+ let v54 = seed + 54 in
|
|
|
75
|
+ let v55 = seed + 55 in
|
|
|
76
|
+ let v56 = seed + 56 in
|
|
|
77
|
+ let v57 = seed + 57 in
|
|
|
78
|
+ let v58 = seed + 58 in
|
|
|
79
|
+ let v59 = seed + 59 in
|
|
|
80
|
+ let v60 = seed + 60 in
|
|
|
81
|
+ let v61 = seed + 61 in
|
|
|
82
|
+ let v62 = seed + 62 in
|
|
|
83
|
+ let v63 = seed + 63 in
|
|
|
84
|
+ let v64 = seed + 64 in
|
|
|
85
|
+ let v65 = seed + 65 in
|
|
|
86
|
+ let v66 = seed + 66 in
|
|
|
87
|
+ let v67 = seed + 67 in
|
|
|
88
|
+ let v68 = seed + 68 in
|
|
|
89
|
+ let v69 = seed + 69 in
|
|
|
90
|
+ let v70 = seed + 70 in
|
|
|
91
|
+ let v71 = seed + 71 in
|
|
|
92
|
+ let v72 = seed + 72 in
|
|
|
93
|
+ let v73 = seed + 73 in
|
|
|
94
|
+ let v74 = seed + 74 in
|
|
|
95
|
+ let v75 = seed + 75 in
|
|
|
96
|
+ let v76 = seed + 76 in
|
|
|
97
|
+ let v77 = seed + 77 in
|
|
|
98
|
+ let v78 = seed + 78 in
|
|
|
99
|
+ let v79 = seed + 79 in
|
|
|
100
|
+ let v80 = seed + 80 in
|
|
|
101
|
+ let v81 = seed + 81 in
|
|
|
102
|
+ let v82 = seed + 82 in
|
|
|
103
|
+ let v83 = seed + 83 in
|
|
|
104
|
+ let v84 = seed + 84 in
|
|
|
105
|
+ let v85 = seed + 85 in
|
|
|
106
|
+ let v86 = seed + 86 in
|
|
|
107
|
+ let v87 = seed + 87 in
|
|
|
108
|
+ let v88 = seed + 88 in
|
|
|
109
|
+ let v89 = seed + 89 in
|
|
|
110
|
+ let v90 = seed + 90 in
|
|
|
111
|
+ let v91 = seed + 91 in
|
|
|
112
|
+ let v92 = seed + 92 in
|
|
|
113
|
+ let v93 = seed + 93 in
|
|
|
114
|
+ let v94 = seed + 94 in
|
|
|
115
|
+ let v95 = seed + 95 in
|
|
|
116
|
+ let v96 = seed + 96 in
|
|
|
117
|
+ let v97 = seed + 97 in
|
|
|
118
|
+ let v98 = seed + 98 in
|
|
|
119
|
+ let v99 = seed + 99 in
|
|
|
120
|
+ let v100 = seed + 100 in
|
|
|
121
|
+ let v101 = seed + 101 in
|
|
|
122
|
+ let v102 = seed + 102 in
|
|
|
123
|
+ let v103 = seed + 103 in
|
|
|
124
|
+ let v104 = seed + 104 in
|
|
|
125
|
+ let v105 = seed + 105 in
|
|
|
126
|
+ let v106 = seed + 106 in
|
|
|
127
|
+ let v107 = seed + 107 in
|
|
|
128
|
+ let v108 = seed + 108 in
|
|
|
129
|
+ let v109 = seed + 109 in
|
|
|
130
|
+ let v110 = seed + 110 in
|
|
|
131
|
+ let v111 = seed + 111 in
|
|
|
132
|
+ let v112 = seed + 112 in
|
|
|
133
|
+ let v113 = seed + 113 in
|
|
|
134
|
+ let v114 = seed + 114 in
|
|
|
135
|
+ let v115 = seed + 115 in
|
|
|
136
|
+ let v116 = seed + 116 in
|
|
|
137
|
+ let v117 = seed + 117 in
|
|
|
138
|
+ let v118 = seed + 118 in
|
|
|
139
|
+ let v119 = seed + 119 in
|
|
|
140
|
+ let v120 = seed + 120 in
|
|
|
141
|
+ let v121 = seed + 121 in
|
|
|
142
|
+ let v122 = seed + 122 in
|
|
|
143
|
+ let v123 = seed + 123 in
|
|
|
144
|
+ let v124 = seed + 124 in
|
|
|
145
|
+ let v125 = seed + 125 in
|
|
|
146
|
+ let v126 = seed + 126 in
|
|
|
147
|
+ let v127 = seed + 127 in
|
|
|
148
|
+ let v128 = seed + 128 in
|
|
|
149
|
+ let v129 = seed + 129 in
|
|
|
150
|
+ let v130 = seed + 130 in
|
|
|
151
|
+ let v131 = seed + 131 in
|
|
|
152
|
+ let v132 = seed + 132 in
|
|
|
153
|
+ let v133 = seed + 133 in
|
|
|
154
|
+ let v134 = seed + 134 in
|
|
|
155
|
+ let v135 = seed + 135 in
|
|
|
156
|
+ let v136 = seed + 136 in
|
|
|
157
|
+ let v137 = seed + 137 in
|
|
|
158
|
+ let v138 = seed + 138 in
|
|
|
159
|
+ let v139 = seed + 139 in
|
|
|
160
|
+ let v140 = seed + 140 in
|
|
|
161
|
+ let v141 = seed + 141 in
|
|
|
162
|
+ let v142 = seed + 142 in
|
|
|
163
|
+ let v143 = seed + 143 in
|
|
|
164
|
+ let v144 = seed + 144 in
|
|
|
165
|
+ let v145 = seed + 145 in
|
|
|
166
|
+ let v146 = seed + 146 in
|
|
|
167
|
+ let v147 = seed + 147 in
|
|
|
168
|
+ let v148 = seed + 148 in
|
|
|
169
|
+ let v149 = seed + 149 in
|
|
|
170
|
+ let v150 = seed + 150 in
|
|
|
171
|
+ let v151 = seed + 151 in
|
|
|
172
|
+ let v152 = seed + 152 in
|
|
|
173
|
+ let v153 = seed + 153 in
|
|
|
174
|
+ let v154 = seed + 154 in
|
|
|
175
|
+ let v155 = seed + 155 in
|
|
|
176
|
+ let v156 = seed + 156 in
|
|
|
177
|
+ let v157 = seed + 157 in
|
|
|
178
|
+ let v158 = seed + 158 in
|
|
|
179
|
+ let v159 = seed + 159 in
|
|
|
180
|
+ let v160 = seed + 160 in
|
|
|
181
|
+ let v161 = seed + 161 in
|
|
|
182
|
+ let v162 = seed + 162 in
|
|
|
183
|
+ let v163 = seed + 163 in
|
|
|
184
|
+ let v164 = seed + 164 in
|
|
|
185
|
+ let v165 = seed + 165 in
|
|
|
186
|
+ let v166 = seed + 166 in
|
|
|
187
|
+ let v167 = seed + 167 in
|
|
|
188
|
+ let v168 = seed + 168 in
|
|
|
189
|
+ let v169 = seed + 169 in
|
|
|
190
|
+ let v170 = seed + 170 in
|
|
|
191
|
+ let v171 = seed + 171 in
|
|
|
192
|
+ let v172 = seed + 172 in
|
|
|
193
|
+ let v173 = seed + 173 in
|
|
|
194
|
+ let v174 = seed + 174 in
|
|
|
195
|
+ let v175 = seed + 175 in
|
|
|
196
|
+ let v176 = seed + 176 in
|
|
|
197
|
+ let v177 = seed + 177 in
|
|
|
198
|
+ let v178 = seed + 178 in
|
|
|
199
|
+ let v179 = seed + 179 in
|
|
|
200
|
+ let v180 = seed + 180 in
|
|
|
201
|
+ let v181 = seed + 181 in
|
|
|
202
|
+ let v182 = seed + 182 in
|
|
|
203
|
+ let v183 = seed + 183 in
|
|
|
204
|
+ let v184 = seed + 184 in
|
|
|
205
|
+ let v185 = seed + 185 in
|
|
|
206
|
+ let v186 = seed + 186 in
|
|
|
207
|
+ let v187 = seed + 187 in
|
|
|
208
|
+ let v188 = seed + 188 in
|
|
|
209
|
+ let v189 = seed + 189 in
|
|
|
210
|
+ let v190 = seed + 190 in
|
|
|
211
|
+ let v191 = seed + 191 in
|
|
|
212
|
+ let v192 = seed + 192 in
|
|
|
213
|
+ let v193 = seed + 193 in
|
|
|
214
|
+ let v194 = seed + 194 in
|
|
|
215
|
+ let v195 = seed + 195 in
|
|
|
216
|
+ let v196 = seed + 196 in
|
|
|
217
|
+ let v197 = seed + 197 in
|
|
|
218
|
+ let v198 = seed + 198 in
|
|
|
219
|
+ let v199 = seed + 199 in
|
|
|
220
|
+ let v200 = seed + 200 in
|
|
|
221
|
+ let v201 = seed + 201 in
|
|
|
222
|
+ let v202 = seed + 202 in
|
|
|
223
|
+ let v203 = seed + 203 in
|
|
|
224
|
+ let v204 = seed + 204 in
|
|
|
225
|
+ let v205 = seed + 205 in
|
|
|
226
|
+ let v206 = seed + 206 in
|
|
|
227
|
+ let v207 = seed + 207 in
|
|
|
228
|
+ let v208 = seed + 208 in
|
|
|
229
|
+ let v209 = seed + 209 in
|
|
|
230
|
+ let v210 = seed + 210 in
|
|
|
231
|
+ let v211 = seed + 211 in
|
|
|
232
|
+ let v212 = seed + 212 in
|
|
|
233
|
+ let v213 = seed + 213 in
|
|
|
234
|
+ let v214 = seed + 214 in
|
|
|
235
|
+ let v215 = seed + 215 in
|
|
|
236
|
+ let v216 = seed + 216 in
|
|
|
237
|
+ let v217 = seed + 217 in
|
|
|
238
|
+ let v218 = seed + 218 in
|
|
|
239
|
+ let v219 = seed + 219 in
|
|
|
240
|
+ let v220 = seed + 220 in
|
|
|
241
|
+ let v221 = seed + 221 in
|
|
|
242
|
+ let v222 = seed + 222 in
|
|
|
243
|
+ let v223 = seed + 223 in
|
|
|
244
|
+ let v224 = seed + 224 in
|
|
|
245
|
+ let v225 = seed + 225 in
|
|
|
246
|
+ let v226 = seed + 226 in
|
|
|
247
|
+ let v227 = seed + 227 in
|
|
|
248
|
+ let v228 = seed + 228 in
|
|
|
249
|
+ let v229 = seed + 229 in
|
|
|
250
|
+ let v230 = seed + 230 in
|
|
|
251
|
+ let v231 = seed + 231 in
|
|
|
252
|
+ let v232 = seed + 232 in
|
|
|
253
|
+ let v233 = seed + 233 in
|
|
|
254
|
+ let v234 = seed + 234 in
|
|
|
255
|
+ let v235 = seed + 235 in
|
|
|
256
|
+ let v236 = seed + 236 in
|
|
|
257
|
+ let v237 = seed + 237 in
|
|
|
258
|
+ let v238 = seed + 238 in
|
|
|
259
|
+ let v239 = seed + 239 in
|
|
|
260
|
+ let v240 = seed + 240 in
|
|
|
261
|
+ let v241 = seed + 241 in
|
|
|
262
|
+ let v242 = seed + 242 in
|
|
|
263
|
+ let v243 = seed + 243 in
|
|
|
264
|
+ let v244 = seed + 244 in
|
|
|
265
|
+ let v245 = seed + 245 in
|
|
|
266
|
+ let v246 = seed + 246 in
|
|
|
267
|
+ let v247 = seed + 247 in
|
|
|
268
|
+ let v248 = seed + 248 in
|
|
|
269
|
+ let v249 = seed + 249 in
|
|
|
270
|
+ let v250 = seed + 250 in
|
|
|
271
|
+ let v251 = seed + 251 in
|
|
|
272
|
+ let v252 = seed + 252 in
|
|
|
273
|
+ let v253 = seed + 253 in
|
|
|
274
|
+ let v254 = seed + 254 in
|
|
|
275
|
+ let v255 = seed + 255 in
|
|
|
276
|
+ let v256 = seed + 256 in
|
|
|
277
|
+ let v257 = seed + 257 in
|
|
|
278
|
+ let v258 = seed + 258 in
|
|
|
279
|
+ let v259 = seed + 259 in
|
|
|
280
|
+ let v260 = seed + 260 in
|
|
|
281
|
+ let v261 = seed + 261 in
|
|
|
282
|
+ let v262 = seed + 262 in
|
|
|
283
|
+ let v263 = seed + 263 in
|
|
|
284
|
+ let v264 = seed + 264 in
|
|
|
285
|
+ let v265 = seed + 265 in
|
|
|
286
|
+ let v266 = seed + 266 in
|
|
|
287
|
+ let v267 = seed + 267 in
|
|
|
288
|
+ let v268 = seed + 268 in
|
|
|
289
|
+ let v269 = seed + 269 in
|
|
|
290
|
+ let v270 = seed + 270 in
|
|
|
291
|
+ let v271 = seed + 271 in
|
|
|
292
|
+ let v272 = seed + 272 in
|
|
|
293
|
+ let v273 = seed + 273 in
|
|
|
294
|
+ let v274 = seed + 274 in
|
|
|
295
|
+ let v275 = seed + 275 in
|
|
|
296
|
+ let v276 = seed + 276 in
|
|
|
297
|
+ let v277 = seed + 277 in
|
|
|
298
|
+ let v278 = seed + 278 in
|
|
|
299
|
+ let v279 = seed + 279 in
|
|
|
300
|
+ let v280 = seed + 280 in
|
|
|
301
|
+ let v281 = seed + 281 in
|
|
|
302
|
+ let v282 = seed + 282 in
|
|
|
303
|
+ let v283 = seed + 283 in
|
|
|
304
|
+ let v284 = seed + 284 in
|
|
|
305
|
+ let v285 = seed + 285 in
|
|
|
306
|
+ let v286 = seed + 286 in
|
|
|
307
|
+ let v287 = seed + 287 in
|
|
|
308
|
+ let v288 = seed + 288 in
|
|
|
309
|
+ let v289 = seed + 289 in
|
|
|
310
|
+ let v290 = seed + 290 in
|
|
|
311
|
+ let v291 = seed + 291 in
|
|
|
312
|
+ let v292 = seed + 292 in
|
|
|
313
|
+ let v293 = seed + 293 in
|
|
|
314
|
+ let v294 = seed + 294 in
|
|
|
315
|
+ let v295 = seed + 295 in
|
|
|
316
|
+ let v296 = seed + 296 in
|
|
|
317
|
+ let v297 = seed + 297 in
|
|
|
318
|
+ let v298 = seed + 298 in
|
|
|
319
|
+ let v299 = seed + 299 in
|
|
|
320
|
+ let v300 = seed + 300 in
|
|
|
321
|
+ let v301 = seed + 301 in
|
|
|
322
|
+ let v302 = seed + 302 in
|
|
|
323
|
+ let v303 = seed + 303 in
|
|
|
324
|
+ let v304 = seed + 304 in
|
|
|
325
|
+ let v305 = seed + 305 in
|
|
|
326
|
+ let v306 = seed + 306 in
|
|
|
327
|
+ let v307 = seed + 307 in
|
|
|
328
|
+ let v308 = seed + 308 in
|
|
|
329
|
+ let v309 = seed + 309 in
|
|
|
330
|
+ let v310 = seed + 310 in
|
|
|
331
|
+ let v311 = seed + 311 in
|
|
|
332
|
+ let v312 = seed + 312 in
|
|
|
333
|
+ let v313 = seed + 313 in
|
|
|
334
|
+ let v314 = seed + 314 in
|
|
|
335
|
+ let v315 = seed + 315 in
|
|
|
336
|
+ let v316 = seed + 316 in
|
|
|
337
|
+ let v317 = seed + 317 in
|
|
|
338
|
+ let v318 = seed + 318 in
|
|
|
339
|
+ let v319 = seed + 319 in
|
|
|
340
|
+ let v320 = seed + 320 in
|
|
|
341
|
+ let v321 = seed + 321 in
|
|
|
342
|
+ let v322 = seed + 322 in
|
|
|
343
|
+ let v323 = seed + 323 in
|
|
|
344
|
+ let v324 = seed + 324 in
|
|
|
345
|
+ let v325 = seed + 325 in
|
|
|
346
|
+ let v326 = seed + 326 in
|
|
|
347
|
+ let v327 = seed + 327 in
|
|
|
348
|
+ let v328 = seed + 328 in
|
|
|
349
|
+ let v329 = seed + 329 in
|
|
|
350
|
+ let v330 = seed + 330 in
|
|
|
351
|
+ let v331 = seed + 331 in
|
|
|
352
|
+ let v332 = seed + 332 in
|
|
|
353
|
+ let v333 = seed + 333 in
|
|
|
354
|
+ let v334 = seed + 334 in
|
|
|
355
|
+ let v335 = seed + 335 in
|
|
|
356
|
+ let v336 = seed + 336 in
|
|
|
357
|
+ let v337 = seed + 337 in
|
|
|
358
|
+ let v338 = seed + 338 in
|
|
|
359
|
+ let v339 = seed + 339 in
|
|
|
360
|
+ let v340 = seed + 340 in
|
|
|
361
|
+ let v341 = seed + 341 in
|
|
|
362
|
+ let v342 = seed + 342 in
|
|
|
363
|
+ let v343 = seed + 343 in
|
|
|
364
|
+ let v344 = seed + 344 in
|
|
|
365
|
+ let v345 = seed + 345 in
|
|
|
366
|
+ let v346 = seed + 346 in
|
|
|
367
|
+ let v347 = seed + 347 in
|
|
|
368
|
+ let v348 = seed + 348 in
|
|
|
369
|
+ let v349 = seed + 349 in
|
|
|
370
|
+ let v350 = seed + 350 in
|
|
|
371
|
+ let v351 = seed + 351 in
|
|
|
372
|
+ let v352 = seed + 352 in
|
|
|
373
|
+ let v353 = seed + 353 in
|
|
|
374
|
+ let v354 = seed + 354 in
|
|
|
375
|
+ let v355 = seed + 355 in
|
|
|
376
|
+ let v356 = seed + 356 in
|
|
|
377
|
+ let v357 = seed + 357 in
|
|
|
378
|
+ let v358 = seed + 358 in
|
|
|
379
|
+ let v359 = seed + 359 in
|
|
|
380
|
+ let v360 = seed + 360 in
|
|
|
381
|
+ let v361 = seed + 361 in
|
|
|
382
|
+ let v362 = seed + 362 in
|
|
|
383
|
+ let v363 = seed + 363 in
|
|
|
384
|
+ let v364 = seed + 364 in
|
|
|
385
|
+ let v365 = seed + 365 in
|
|
|
386
|
+ let v366 = seed + 366 in
|
|
|
387
|
+ let v367 = seed + 367 in
|
|
|
388
|
+ let v368 = seed + 368 in
|
|
|
389
|
+ let v369 = seed + 369 in
|
|
|
390
|
+ let v370 = seed + 370 in
|
|
|
391
|
+ let v371 = seed + 371 in
|
|
|
392
|
+ let v372 = seed + 372 in
|
|
|
393
|
+ let v373 = seed + 373 in
|
|
|
394
|
+ let v374 = seed + 374 in
|
|
|
395
|
+ let v375 = seed + 375 in
|
|
|
396
|
+ let v376 = seed + 376 in
|
|
|
397
|
+ let v377 = seed + 377 in
|
|
|
398
|
+ let v378 = seed + 378 in
|
|
|
399
|
+ let v379 = seed + 379 in
|
|
|
400
|
+ let v380 = seed + 380 in
|
|
|
401
|
+ let v381 = seed + 381 in
|
|
|
402
|
+ let v382 = seed + 382 in
|
|
|
403
|
+ let v383 = seed + 383 in
|
|
|
404
|
+ let v384 = seed + 384 in
|
|
|
405
|
+ let v385 = seed + 385 in
|
|
|
406
|
+ let v386 = seed + 386 in
|
|
|
407
|
+ let v387 = seed + 387 in
|
|
|
408
|
+ let v388 = seed + 388 in
|
|
|
409
|
+ let v389 = seed + 389 in
|
|
|
410
|
+ let v390 = seed + 390 in
|
|
|
411
|
+ let v391 = seed + 391 in
|
|
|
412
|
+ let v392 = seed + 392 in
|
|
|
413
|
+ let v393 = seed + 393 in
|
|
|
414
|
+ let v394 = seed + 394 in
|
|
|
415
|
+ let v395 = seed + 395 in
|
|
|
416
|
+ let v396 = seed + 396 in
|
|
|
417
|
+ let v397 = seed + 397 in
|
|
|
418
|
+ let v398 = seed + 398 in
|
|
|
419
|
+ let v399 = seed + 399 in
|
|
|
420
|
+ let v400 = seed + 400 in
|
|
|
421
|
+ let v401 = seed + 401 in
|
|
|
422
|
+ let v402 = seed + 402 in
|
|
|
423
|
+ let v403 = seed + 403 in
|
|
|
424
|
+ let v404 = seed + 404 in
|
|
|
425
|
+ let v405 = seed + 405 in
|
|
|
426
|
+ let v406 = seed + 406 in
|
|
|
427
|
+ let v407 = seed + 407 in
|
|
|
428
|
+ let v408 = seed + 408 in
|
|
|
429
|
+ let v409 = seed + 409 in
|
|
|
430
|
+ let v410 = seed + 410 in
|
|
|
431
|
+ let v411 = seed + 411 in
|
|
|
432
|
+ let v412 = seed + 412 in
|
|
|
433
|
+ let v413 = seed + 413 in
|
|
|
434
|
+ let v414 = seed + 414 in
|
|
|
435
|
+ let v415 = seed + 415 in
|
|
|
436
|
+ let v416 = seed + 416 in
|
|
|
437
|
+ let v417 = seed + 417 in
|
|
|
438
|
+ let v418 = seed + 418 in
|
|
|
439
|
+ let v419 = seed + 419 in
|
|
|
440
|
+ let v420 = seed + 420 in
|
|
|
441
|
+ let v421 = seed + 421 in
|
|
|
442
|
+ let v422 = seed + 422 in
|
|
|
443
|
+ let v423 = seed + 423 in
|
|
|
444
|
+ let v424 = seed + 424 in
|
|
|
445
|
+ let v425 = seed + 425 in
|
|
|
446
|
+ let v426 = seed + 426 in
|
|
|
447
|
+ let v427 = seed + 427 in
|
|
|
448
|
+ let v428 = seed + 428 in
|
|
|
449
|
+ let v429 = seed + 429 in
|
|
|
450
|
+ let v430 = seed + 430 in
|
|
|
451
|
+ let v431 = seed + 431 in
|
|
|
452
|
+ let v432 = seed + 432 in
|
|
|
453
|
+ let v433 = seed + 433 in
|
|
|
454
|
+ let v434 = seed + 434 in
|
|
|
455
|
+ let v435 = seed + 435 in
|
|
|
456
|
+ let v436 = seed + 436 in
|
|
|
457
|
+ let v437 = seed + 437 in
|
|
|
458
|
+ let v438 = seed + 438 in
|
|
|
459
|
+ let v439 = seed + 439 in
|
|
|
460
|
+ let v440 = seed + 440 in
|
|
|
461
|
+ let v441 = seed + 441 in
|
|
|
462
|
+ let v442 = seed + 442 in
|
|
|
463
|
+ let v443 = seed + 443 in
|
|
|
464
|
+ let v444 = seed + 444 in
|
|
|
465
|
+ let v445 = seed + 445 in
|
|
|
466
|
+ let v446 = seed + 446 in
|
|
|
467
|
+ let v447 = seed + 447 in
|
|
|
468
|
+ let v448 = seed + 448 in
|
|
|
469
|
+ let v449 = seed + 449 in
|
|
|
470
|
+ let v450 = seed + 450 in
|
|
|
471
|
+ let v451 = seed + 451 in
|
|
|
472
|
+ let v452 = seed + 452 in
|
|
|
473
|
+ let v453 = seed + 453 in
|
|
|
474
|
+ let v454 = seed + 454 in
|
|
|
475
|
+ let v455 = seed + 455 in
|
|
|
476
|
+ let v456 = seed + 456 in
|
|
|
477
|
+ let v457 = seed + 457 in
|
|
|
478
|
+ let v458 = seed + 458 in
|
|
|
479
|
+ let v459 = seed + 459 in
|
|
|
480
|
+ let v460 = seed + 460 in
|
|
|
481
|
+ let v461 = seed + 461 in
|
|
|
482
|
+ let v462 = seed + 462 in
|
|
|
483
|
+ let v463 = seed + 463 in
|
|
|
484
|
+ let v464 = seed + 464 in
|
|
|
485
|
+ let v465 = seed + 465 in
|
|
|
486
|
+ let v466 = seed + 466 in
|
|
|
487
|
+ let v467 = seed + 467 in
|
|
|
488
|
+ let v468 = seed + 468 in
|
|
|
489
|
+ let v469 = seed + 469 in
|
|
|
490
|
+ let v470 = seed + 470 in
|
|
|
491
|
+ let v471 = seed + 471 in
|
|
|
492
|
+ let v472 = seed + 472 in
|
|
|
493
|
+ let v473 = seed + 473 in
|
|
|
494
|
+ let v474 = seed + 474 in
|
|
|
495
|
+ let v475 = seed + 475 in
|
|
|
496
|
+ let v476 = seed + 476 in
|
|
|
497
|
+ let v477 = seed + 477 in
|
|
|
498
|
+ let v478 = seed + 478 in
|
|
|
499
|
+ let v479 = seed + 479 in
|
|
|
500
|
+ let v480 = seed + 480 in
|
|
|
501
|
+ let v481 = seed + 481 in
|
|
|
502
|
+ let v482 = seed + 482 in
|
|
|
503
|
+ let v483 = seed + 483 in
|
|
|
504
|
+ let v484 = seed + 484 in
|
|
|
505
|
+ let v485 = seed + 485 in
|
|
|
506
|
+ let v486 = seed + 486 in
|
|
|
507
|
+ let v487 = seed + 487 in
|
|
|
508
|
+ let v488 = seed + 488 in
|
|
|
509
|
+ let v489 = seed + 489 in
|
|
|
510
|
+ let v490 = seed + 490 in
|
|
|
511
|
+ let v491 = seed + 491 in
|
|
|
512
|
+ let v492 = seed + 492 in
|
|
|
513
|
+ let v493 = seed + 493 in
|
|
|
514
|
+ let v494 = seed + 494 in
|
|
|
515
|
+ let v495 = seed + 495 in
|
|
|
516
|
+ let v496 = seed + 496 in
|
|
|
517
|
+ let v497 = seed + 497 in
|
|
|
518
|
+ let v498 = seed + 498 in
|
|
|
519
|
+ let v499 = seed + 499 in
|
|
|
520
|
+ Box (bigfun v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 v50 v51 v52 v53 v54 v55 v56 v57 v58 v59 v60 v61 v62 v63 v64 v65 v66 v67 v68 v69 v70 v71 v72 v73 v74 v75 v76 v77 v78 v79 v80 v81 v82 v83 v84 v85 v86 v87 v88 v89 v90 v91 v92 v93 v94 v95 v96 v97 v98 v99 v100 v101 v102 v103 v104 v105 v106 v107 v108 v109 v110 v111 v112 v113 v114 v115 v116 v117 v118 v119 v120 v121 v122 v123 v124 v125 v126 v127 v128 v129 v130 v131 v132 v133 v134 v135 v136 v137 v138 v139 v140 v141 v142 v143 v144 v145 v146 v147 v148 v149 v150 v151 v152 v153 v154 v155 v156 v157 v158 v159 v160 v161 v162 v163 v164 v165 v166 v167 v168 v169 v170 v171 v172 v173 v174 v175 v176 v177 v178 v179 v180 v181 v182 v183 v184 v185 v186 v187 v188 v189 v190 v191 v192 v193 v194 v195 v196 v197 v198 v199 v200 v201 v202 v203 v204 v205 v206 v207 v208 v209 v210 v211 v212 v213 v214 v215 v216 v217 v218 v219 v220 v221 v222 v223 v224 v225 v226 v227 v228 v229 v230 v231 v232 v233 v234 v235 v236 v237 v238 v239 v240 v241 v242 v243 v244 v245 v246 v247 v248 v249 v250 v251 v252 v253 v254 v255 v256 v257 v258 v259 v260 v261 v262 v263 v264 v265 v266 v267 v268 v269 v270 v271 v272 v273 v274 v275 v276 v277 v278 v279 v280 v281 v282 v283 v284 v285 v286 v287 v288 v289 v290 v291 v292 v293 v294 v295 v296 v297 v298 v299 v300 v301 v302 v303 v304 v305 v306 v307 v308 v309 v310 v311 v312 v313 v314 v315 v316 v317 v318 v319 v320 v321 v322 v323 v324 v325 v326 v327 v328 v329 v330 v331 v332 v333 v334 v335 v336 v337 v338 v339 v340 v341 v342 v343 v344 v345 v346 v347 v348 v349 v350 v351 v352 v353 v354 v355 v356 v357 v358 v359 v360 v361 v362 v363 v364 v365 v366 v367 v368 v369 v370 v371 v372 v373 v374 v375 v376 v377 v378 v379 v380 v381 v382 v383 v384 v385 v386 v387 v388 v389 v390 v391 v392 v393 v394 v395 v396 v397 v398 v399 v400 v401 v402 v403 v404 v405 v406 v407 v408 v409 v410 v411 v412 v413 v414 v415 v416 v417 v418 v419 v420 v421 v422 v423 v424 v425 v426 v427 v428 v429 v430 v431 v432 v433 v434 v435 v436 v437 v438 v439 v440 v441 v442 v443 v444 v445 v446 v447 v448 v449 v450 v451 v452 v453 v454 v455 v456 v457 v458 v459 v460 v461 v462 v463 v464 v465 v466 v467 v468 v469 v470 v471 v472 v473 v474 v475 v476 v477 v478 v479 v480 v481 v482 v483 v484 v485 v486 v487 v488 v489 v490 v491 v492 v493 v494 v495 v496 v497 v498 v499)
|
|
|
521
|
+
|
|
|
522
|
+main :: IO ()
|
|
|
523
|
+main = do
|
|
|
524
|
+ ref <- newIORef ([] :: [Box])
|
|
|
525
|
+ forM_ [1..100] $ \s -> do
|
|
|
526
|
+ let b = mkBox s
|
|
|
527
|
+ b `seq` modifyIORef' ref (b:)
|
|
|
528
|
+ performMajorGC
|
|
|
529
|
+ performMajorGC
|
|
|
530
|
+ bs <- readIORef ref
|
|
|
531
|
+ print (sum [ x | Box x <- bs ]) |