summaryrefslogtreecommitdiff
path: root/testsuite/tests/tool-ocaml/t320-gc-2.ml
blob: 39678f8f7b08ef026b03fd196837ebd5d1ed5420 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
(* TEST
 include tool-ocaml-lib;
 flags = "-w -a";
 ocaml_script_as_argument = "true";
 setup-ocaml-build-env;
 ocaml;
*)

open Lib;;
let rec f n =
  if n <= 0 then []
  else n :: f (n-1)
in
let l = f 300 in
Gc.major ();
if List.fold_left (+) 0 l <> 301 * 150 then raise Not_found
;;

(**
       0 CONSTINT 42
       2 PUSHACC0
       3 MAKEBLOCK1 0
       5 POP 1
       7 SETGLOBAL Lib
       9 BRANCH 746
      11 RESTART
      12 GRAB 1
      14 ACC0
      15 BRANCHIFNOT 28
      17 ACC1
      18 PUSHACC1
      19 GETFIELD1
      20 PUSHOFFSETCLOSURE0
      21 APPLY2
      22 PUSHACC1
      23 GETFIELD0
      24 MAKEBLOCK2 0
      26 RETURN 2
      28 ACC1
      29 RETURN 2
      31 RESTART
      32 GRAB 3
      34 CONST0
      35 PUSHACC4
      36 LEINT
      37 BRANCHIFNOT 42
      39 CONST0
      40 RETURN 4
      42 ACC3
      43 PUSHACC3
      44 PUSHACC3
      45 PUSHACC3
      46 C_CALL4 caml_input
      48 PUSHCONST0
      49 PUSHACC1
      50 EQ
      51 BRANCHIFNOT 58
      53 GETGLOBAL End_of_file
      55 MAKEBLOCK1 0
      57 RAISE
      58 ACC0
      59 PUSHACC5
      60 SUBINT
      61 PUSHACC1
      62 PUSHACC5
      63 ADDINT
      64 PUSHACC4
      65 PUSHACC4
      66 PUSHOFFSETCLOSURE0
      67 APPTERM 4, 9
      70 ACC0
      71 C_CALL1 caml_input_scan_line
      73 PUSHCONST0
      74 PUSHACC1
      75 EQ
      76 BRANCHIFNOT 83
      78 GETGLOBAL End_of_file
      80 MAKEBLOCK1 0
      82 RAISE
      83 CONST0
      84 PUSHACC1
      85 GTINT
      86 BRANCHIFNOT 107
      88 ACC0
      89 OFFSETINT -1
      91 C_CALL1 create_string
      93 PUSHACC1
      94 OFFSETINT -1
      96 PUSHCONST0
      97 PUSHACC2
      98 PUSHACC5
      99 C_CALL4 caml_input
     101 ACC2
     102 C_CALL1 caml_input_char
     104 ACC0
     105 RETURN 3
     107 ACC0
     108 NEGINT
     109 C_CALL1 create_string
     111 PUSHACC1
     112 NEGINT
     113 PUSHCONST0
     114 PUSHACC2
     115 PUSHACC5
     116 C_CALL4 caml_input
     118 CONST0
     119 PUSHTRAP 130
     121 ACC6
     122 PUSHOFFSETCLOSURE0
     123 APPLY1
     124 PUSHACC5
     125 PUSHENVACC1
     126 APPLY2
     127 POPTRAP
     128 RETURN 3
     130 PUSHGETGLOBAL End_of_file
     132 PUSHACC1
     133 GETFIELD0
     134 EQ
     135 BRANCHIFNOT 140
     137 ACC1
     138 RETURN 4
     140 ACC0
     141 RAISE
     142 ACC0
     143 C_CALL1 caml_flush
     145 RETURN 1
     147 RESTART
     148 GRAB 1
     150 ACC1
     151 PUSHACC1
     152 C_CALL2 caml_output_char
     154 RETURN 2
     156 RESTART
     157 GRAB 1
     159 ACC1
     160 PUSHACC1
     161 C_CALL2 caml_output_char
     163 RETURN 2
     165 RESTART
     166 GRAB 1
     168 ACC1
     169 PUSHACC1
     170 C_CALL2 caml_output_int
     172 RETURN 2
     174 RESTART
     175 GRAB 1
     177 ACC1
     178 PUSHACC1
     179 C_CALL2 caml_seek_out
     181 RETURN 2
     183 ACC0
     184 C_CALL1 caml_pos_out
     186 RETURN 1
     188 ACC0
     189 C_CALL1 caml_channel_size
     191 RETURN 1
     193 RESTART
     194 GRAB 1
     196 ACC1
     197 PUSHACC1
     198 C_CALL2 caml_set_binary_mode
     200 RETURN 2
     202 ACC0
     203 C_CALL1 caml_input_char
     205 RETURN 1
     207 ACC0
     208 C_CALL1 caml_input_char
     210 RETURN 1
     212 ACC0
     213 C_CALL1 caml_input_int
     215 RETURN 1
     217 ACC0
     218 C_CALL1 input_value
     220 RETURN 1
     222 RESTART
     223 GRAB 1
     225 ACC1
     226 PUSHACC1
     227 C_CALL2 caml_seek_in
     229 RETURN 2
     231 ACC0
     232 C_CALL1 caml_pos_in
     234 RETURN 1
     236 ACC0
     237 C_CALL1 caml_channel_size
     239 RETURN 1
     241 ACC0
     242 C_CALL1 caml_close_channel
     244 RETURN 1
     246 RESTART
     247 GRAB 1
     249 ACC1
     250 PUSHACC1
     251 C_CALL2 caml_set_binary_mode
     253 RETURN 2
     255 CONST0
     256 PUSHENVACC1
     257 APPLY1
     258 ACC0
     259 C_CALL1 sys_exit
     261 RETURN 1
     263 CONST0
     264 PUSHENVACC1
     265 GETFIELD0
     266 APPTERM1 2
     268 CONST0
     269 PUSHENVACC1
     270 APPLY1
     271 CONST0
     272 PUSHENVACC2
     273 APPTERM1 2
     275 ENVACC1
     276 GETFIELD0
     277 PUSHACC0
     278 PUSHACC2
     279 CLOSURE 2, 268
     282 PUSHENVACC1
     283 SETFIELD0
     284 RETURN 2
     286 ENVACC1
     287 C_CALL1 caml_flush
     289 ENVACC2
     290 C_CALL1 caml_flush
     292 RETURN 1
     294 CONST0
     295 PUSHENVACC1
     296 APPLY1
     297 C_CALL1 float_of_string
     299 RETURN 1
     301 CONST0
     302 PUSHENVACC1
     303 APPLY1
     304 C_CALL1 int_of_string
     306 RETURN 1
     308 ENVACC2
     309 C_CALL1 caml_flush
     311 ENVACC1
     312 PUSHENVACC3
     313 APPTERM1 2
     315 CONSTINT 13
     317 PUSHENVACC1
     318 C_CALL2 caml_output_char
     320 ENVACC1
     321 C_CALL1 caml_flush
     323 RETURN 1
     325 ACC0
     326 PUSHENVACC1
     327 PUSHENVACC2
     328 APPLY2
     329 CONSTINT 13
     331 PUSHENVACC1
     332 C_CALL2 caml_output_char
     334 ENVACC1
     335 C_CALL1 caml_flush
     337 RETURN 1
     339 ACC0
     340 PUSHENVACC1
     341 APPLY1
     342 PUSHENVACC2
     343 PUSHENVACC3
     344 APPTERM2 3
     346 ACC0
     347 PUSHENVACC1
     348 APPLY1
     349 PUSHENVACC2
     350 PUSHENVACC3
     351 APPTERM2 3
     353 ACC0
     354 PUSHENVACC1
     355 PUSHENVACC2
     356 APPTERM2 3
     358 ACC0
     359 PUSHENVACC1
     360 C_CALL2 caml_output_char
     362 RETURN 1
     364 CONSTINT 13
     366 PUSHENVACC1
     367 C_CALL2 caml_output_char
     369 ENVACC1
     370 C_CALL1 caml_flush
     372 RETURN 1
     374 ACC0
     375 PUSHENVACC1
     376 PUSHENVACC2
     377 APPLY2
     378 CONSTINT 13
     380 PUSHENVACC1
     381 C_CALL2 caml_output_char
     383 RETURN 1
     385 ACC0
     386 PUSHENVACC1
     387 APPLY1
     388 PUSHENVACC2
     389 PUSHENVACC3
     390 APPTERM2 3
     392 ACC0
     393 PUSHENVACC1
     394 APPLY1
     395 PUSHENVACC2
     396 PUSHENVACC3
     397 APPTERM2 3
     399 ACC0
     400 PUSHENVACC1
     401 PUSHENVACC2
     402 APPTERM2 3
     404 ACC0
     405 PUSHENVACC1
     406 C_CALL2 caml_output_char
     408 RETURN 1
     410 RESTART
     411 GRAB 3
     413 CONST0
     414 PUSHACC3
     415 LTINT
     416 BRANCHIF 427
     418 ACC1
     419 C_CALL1 ml_string_length
     421 PUSHACC4
     422 PUSHACC4
     423 ADDINT
     424 GTINT
     425 BRANCHIFNOT 432
     427 GETGLOBAL "really_input"
     429 PUSHENVACC1
     430 APPTERM1 5
     432 ACC3
     433 PUSHACC3
     434 PUSHACC3
     435 PUSHACC3
     436 PUSHENVACC2
     437 APPTERM 4, 8
     440 RESTART
     441 GRAB 3
     443 CONST0
     444 PUSHACC3
     445 LTINT
     446 BRANCHIF 457
     448 ACC1
     449 C_CALL1 ml_string_length
     451 PUSHACC4
     452 PUSHACC4
     453 ADDINT
     454 GTINT
     455 BRANCHIFNOT 462
     457 GETGLOBAL "input"
     459 PUSHENVACC1
     460 APPTERM1 5
     462 ACC3
     463 PUSHACC3
     464 PUSHACC3
     465 PUSHACC3
     466 C_CALL4 caml_input
     468 RETURN 4
     470 ACC0
     471 PUSHCONST0
     472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
     474 PUSHENVACC1
     475 APPTERM3 4
     477 ACC0
     478 PUSHCONST0
     479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
     481 PUSHENVACC1
     482 APPTERM3 4
     484 RESTART
     485 GRAB 2
     487 ACC1
     488 PUSHACC1
     489 PUSHACC4
     490 C_CALL3 sys_open
     492 C_CALL1 caml_open_descriptor
     494 RETURN 3
     496 ACC0
     497 C_CALL1 caml_flush
     499 ACC0
     500 C_CALL1 caml_close_channel
     502 RETURN 1
     504 RESTART
     505 GRAB 1
     507 CONST0
     508 PUSHACC2
     509 PUSHACC2
     510 C_CALL3 output_value
     512 RETURN 2
     514 RESTART
     515 GRAB 3
     517 CONST0
     518 PUSHACC3
     519 LTINT
     520 BRANCHIF 531
     522 ACC1
     523 C_CALL1 ml_string_length
     525 PUSHACC4
     526 PUSHACC4
     527 ADDINT
     528 GTINT
     529 BRANCHIFNOT 536
     531 GETGLOBAL "output"
     533 PUSHENVACC1
     534 APPTERM1 5
     536 ACC3
     537 PUSHACC3
     538 PUSHACC3
     539 PUSHACC3
     540 C_CALL4 caml_output
     542 RETURN 4
     544 RESTART
     545 GRAB 1
     547 ACC1
     548 C_CALL1 ml_string_length
     550 PUSHCONST0
     551 PUSHACC3
     552 PUSHACC3
     553 C_CALL4 caml_output
     555 RETURN 2
     557 ACC0
     558 PUSHCONSTINT 438
     560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
     562 PUSHENVACC1
     563 APPTERM3 4
     565 ACC0
     566 PUSHCONSTINT 438
     568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
     570 PUSHENVACC1
     571 APPTERM3 4
     573 RESTART
     574 GRAB 2
     576 ACC1
     577 PUSHACC1
     578 PUSHACC4
     579 C_CALL3 sys_open
     581 C_CALL1 caml_open_descriptor
     583 RETURN 3
     585 ACC0
     586 PUSHGETGLOBAL "%.12g"
     588 C_CALL2 format_float
     590 RETURN 1
     592 ACC0
     593 PUSHGETGLOBAL "%d"
     595 C_CALL2 format_int
     597 RETURN 1
     599 GETGLOBAL "false"
     601 PUSHACC1
     602 C_CALL2 string_equal
     604 BRANCHIFNOT 609
     606 CONST0
     607 RETURN 1
     609 GETGLOBAL "true"
     611 PUSHACC1
     612 C_CALL2 string_equal
     614 BRANCHIFNOT 619
     616 CONST1
     617 RETURN 1
     619 GETGLOBAL "bool_of_string"
     621 PUSHENVACC1
     622 APPTERM1 2
     624 ACC0
     625 BRANCHIFNOT 631
     627 GETGLOBAL "true"
     629 RETURN 1
     631 GETGLOBAL "false"
     633 RETURN 1
     635 CONST0
     636 PUSHACC1
     637 LTINT
     638 BRANCHIF 646
     640 CONSTINT 255
     642 PUSHACC1
     643 GTINT
     644 BRANCHIFNOT 651
     646 GETGLOBAL "char_of_int"
     648 PUSHENVACC1
     649 APPTERM1 2
     651 ACC0
     652 RETURN 1
     654 RESTART
     655 GRAB 1
     657 ACC0
     658 C_CALL1 ml_string_length
     660 PUSHACC2
     661 C_CALL1 ml_string_length
     663 PUSHACC0
     664 PUSHACC2
     665 ADDINT
     666 C_CALL1 create_string
     668 PUSHACC2
     669 PUSHCONST0
     670 PUSHACC2
     671 PUSHCONST0
     672 PUSHACC7
     673 C_CALL5 blit_string
     675 ACC1
     676 PUSHACC3
     677 PUSHACC2
     678 PUSHCONST0
     679 PUSHACC 8
     681 C_CALL5 blit_string
     683 ACC0
     684 RETURN 5
     686 CONSTINT -1
     688 PUSHACC1
     689 XORINT
     690 RETURN 1
     692 CONST0
     693 PUSHACC1
     694 GEINT
     695 BRANCHIFNOT 700
     697 ACC0
     698 RETURN 1
     700 ACC0
     701 NEGINT
     702 RETURN 1
     704 RESTART
     705 GRAB 1
     707 ACC1
     708 PUSHACC1
     709 C_CALL2 greaterequal
     711 BRANCHIFNOT 716
     713 ACC0
     714 RETURN 2
     716 ACC1
     717 RETURN 2
     719 RESTART
     720 GRAB 1
     722 ACC1
     723 PUSHACC1
     724 C_CALL2 lessequal
     726 BRANCHIFNOT 731
     728 ACC0
     729 RETURN 2
     731 ACC1
     732 RETURN 2
     734 ACC0
     735 PUSHGETGLOBAL Invalid_argument
     737 MAKEBLOCK2 0
     739 RAISE
     740 ACC0
     741 PUSHGETGLOBAL Failure
     743 MAKEBLOCK2 0
     745 RAISE
     746 CLOSURE 0, 740
     749 PUSH
     750 CLOSURE 0, 734
     753 PUSHGETGLOBAL "Pervasives.Exit"
     755 MAKEBLOCK1 0
     757 PUSHGETGLOBAL "Pervasives.Assert_failure"
     759 MAKEBLOCK1 0
     761 PUSH
     762 CLOSURE 0, 720
     765 PUSH
     766 CLOSURE 0, 705
     769 PUSH
     770 CLOSURE 0, 692
     773 PUSH
     774 CLOSURE 0, 686
     777 PUSHCONST0
     778 PUSHCONSTINT 31
     780 PUSHCONST1
     781 LSLINT
     782 EQ
     783 BRANCHIFNOT 789
     785 CONSTINT 30
     787 BRANCH 791
     789 CONSTINT 62
     791 PUSHCONST1
     792 LSLINT
     793 PUSHACC0
     794 OFFSETINT -1
     796 PUSH
     797 CLOSURE 0, 655
     800 PUSHACC 9
     802 CLOSURE 1, 635
     805 PUSH
     806 CLOSURE 0, 624
     809 PUSHACC 11
     811 CLOSURE 1, 599
     814 PUSH
     815 CLOSURE 0, 592
     818 PUSH
     819 CLOSURE 0, 585
     822 PUSH
     823 CLOSUREREC 0, 12
     827 CONST0
     828 C_CALL1 caml_open_descriptor
     830 PUSHCONST1
     831 C_CALL1 caml_open_descriptor
     833 PUSHCONST2
     834 C_CALL1 caml_open_descriptor
     836 PUSH
     837 CLOSURE 0, 574
     840 PUSHACC0
     841 CLOSURE 1, 565
     844 PUSHACC1
     845 CLOSURE 1, 557
     848 PUSH
     849 CLOSURE 0, 545
     852 PUSHACC 22
     854 CLOSURE 1, 515
     857 PUSH
     858 CLOSURE 0, 505
     861 PUSH
     862 CLOSURE 0, 496
     865 PUSH
     866 CLOSURE 0, 485
     869 PUSHACC0
     870 CLOSURE 1, 477
     873 PUSHACC1
     874 CLOSURE 1, 470
     877 PUSHACC 28
     879 CLOSURE 1, 441
     882 PUSH
     883 CLOSUREREC 0, 32
     887 ACC0
     888 PUSHACC 31
     890 CLOSURE 2, 411
     893 PUSHACC 22
     895 CLOSUREREC 1, 70
     899 ACC 15
     901 CLOSURE 1, 404
     904 PUSHACC 11
     906 PUSHACC 17
     908 CLOSURE 2, 399
     911 PUSHACC 12
     913 PUSHACC 18
     915 PUSHACC 23
     917 CLOSURE 3, 392
     920 PUSHACC 13
     922 PUSHACC 19
     924 PUSHACC 23
     926 CLOSURE 3, 385
     929 PUSHACC 14
     931 PUSHACC 20
     933 CLOSURE 2, 374
     936 PUSHACC 20
     938 CLOSURE 1, 364
     941 PUSHACC 20
     943 CLOSURE 1, 358
     946 PUSHACC 17
     948 PUSHACC 22
     950 CLOSURE 2, 353
     953 PUSHACC 18
     955 PUSHACC 23
     957 PUSHACC 29
     959 CLOSURE 3, 346
     962 PUSHACC 19
     964 PUSHACC 24
     966 PUSHACC 29
     968 CLOSURE 3, 339
     971 PUSHACC 20
     973 PUSHACC 25
     975 CLOSURE 2, 325
     978 PUSHACC 25
     980 CLOSURE 1, 315
     983 PUSHACC 12
     985 PUSHACC 28
     987 PUSHACC 30
     989 CLOSURE 3, 308
     992 PUSHACC0
     993 CLOSURE 1, 301
     996 PUSHACC1
     997 CLOSURE 1, 294
    1000 PUSHACC 29
    1002 PUSHACC 31
    1004 CLOSURE 2, 286
    1007 MAKEBLOCK1 0
    1009 PUSHACC0
    1010 CLOSURE 1, 275
    1013 PUSHACC1
    1014 CLOSURE 1, 263
    1017 PUSHACC0
    1018 CLOSURE 1, 255
    1021 PUSHACC1
    1022 PUSHACC 22
    1024 PUSHACC4
    1025 PUSHACC3
    1026 PUSH
    1027 CLOSURE 0, 247
    1030 PUSH
    1031 CLOSURE 0, 241
    1034 PUSH
    1035 CLOSURE 0, 236
    1038 PUSH
    1039 CLOSURE 0, 231
    1042 PUSH
    1043 CLOSURE 0, 223
    1046 PUSH
    1047 CLOSURE 0, 217
    1050 PUSH
    1051 CLOSURE 0, 212
    1054 PUSH
    1055 CLOSURE 0, 207
    1058 PUSHACC 32
    1060 PUSHACC 35
    1062 PUSHACC 33
    1064 PUSH
    1065 CLOSURE 0, 202
    1068 PUSHACC 41
    1070 PUSHACC 40
    1072 PUSHACC 42
    1074 PUSH
    1075 CLOSURE 0, 194
    1078 PUSHACC 46
    1080 PUSH
    1081 CLOSURE 0, 188
    1084 PUSH
    1085 CLOSURE 0, 183
    1088 PUSH
    1089 CLOSURE 0, 175
    1092 PUSHACC 51
    1094 PUSH
    1095 CLOSURE 0, 166
    1098 PUSH
    1099 CLOSURE 0, 157
    1102 PUSHACC 55
    1104 PUSHACC 57
    1106 PUSH
    1107 CLOSURE 0, 148
    1110 PUSH
    1111 CLOSURE 0, 142
    1114 PUSHACC 63
    1116 PUSHACC 62
    1118 PUSHACC 64
    1120 PUSHACC 38
    1122 PUSHACC 40
    1124 PUSHACC 42
    1126 PUSHACC 44
    1128 PUSHACC 46
    1130 PUSHACC 48
    1132 PUSHACC 50
    1134 PUSHACC 52
    1136 PUSHACC 54
    1138 PUSHACC 56
    1140 PUSHACC 58
    1142 PUSHACC 60
    1144 PUSHACC 62
    1146 PUSHACC 64
    1148 PUSHACC 66
    1150 PUSHACC 82
    1152 PUSHACC 84
    1154 PUSHACC 86
    1156 PUSHACC 88
    1158 PUSHACC 90
    1160 PUSHACC 92
    1162 PUSHACC 94
    1164 PUSHACC 96
    1166 PUSHACC 98
    1168 PUSHACC 100
    1170 PUSHACC 104
    1172 PUSHACC 104
    1174 PUSHACC 104
    1176 PUSHACC 108
    1178 PUSHACC 110
    1180 PUSHACC 112
    1182 PUSHACC 117
    1184 PUSHACC 117
    1186 PUSHACC 117
    1188 PUSHACC 117
    1190 MAKEBLOCK 69, 0
    1193 POP 53
    1195 SETGLOBAL Pervasives
    1197 BRANCH 2177
    1199 RESTART
    1200 GRAB 1
    1202 ACC1
    1203 BRANCHIFNOT 1213
    1205 ACC1
    1206 GETFIELD1
    1207 PUSHACC1
    1208 OFFSETINT 1
    1210 PUSHOFFSETCLOSURE0
    1211 APPTERM2 4
    1213 ACC0
    1214 RETURN 2
    1216 RESTART
    1217 GRAB 1
    1219 ACC0
    1220 BRANCHIFNOT 1251
    1222 CONST0
    1223 PUSHACC2
    1224 EQ
    1225 BRANCHIFNOT 1231
    1227 ACC0
    1228 GETFIELD0
    1229 RETURN 2
    1231 CONST0
    1232 PUSHACC2
    1233 GTINT
    1234 BRANCHIFNOT 1244
    1236 ACC1
    1237 OFFSETINT -1
    1239 PUSHACC1
    1240 GETFIELD1
    1241 PUSHOFFSETCLOSURE0
    1242 APPTERM2 4
    1244 GETGLOBAL "List.nth"
    1246 PUSHGETGLOBALFIELD Pervasives, 2
    1249 APPTERM1 3
    1251 GETGLOBAL "nth"
    1253 PUSHGETGLOBALFIELD Pervasives, 3
    1256 APPTERM1 3
    1258 RESTART
    1259 GRAB 1
    1261 ACC0
    1262 BRANCHIFNOT 1274
    1264 ACC1
    1265 PUSHACC1
    1266 GETFIELD0
    1267 MAKEBLOCK2 0
    1269 PUSHACC1
    1270 GETFIELD1
    1271 PUSHOFFSETCLOSURE0
    1272 APPTERM2 4
    1274 ACC1
    1275 RETURN 2
    1277 ACC0
    1278 BRANCHIFNOT 1291
    1280 ACC0
    1281 GETFIELD1
    1282 PUSHOFFSETCLOSURE0
    1283 APPLY1
    1284 PUSHACC1
    1285 GETFIELD0
    1286 PUSHGETGLOBALFIELD Pervasives, 16
    1289 APPTERM2 3
    1291 RETURN 1
    1293 RESTART
    1294 GRAB 1
    1296 ACC1
    1297 BRANCHIFNOT 1313
    1299 ACC1
    1300 GETFIELD0
    1301 PUSHACC1
    1302 APPLY1
    1303 PUSHACC2
    1304 GETFIELD1
    1305 PUSHACC2
    1306 PUSHOFFSETCLOSURE0
    1307 APPLY2
    1308 PUSHACC1
    1309 MAKEBLOCK2 0
    1311 POP 1
    1313 RETURN 2
    1315 RESTART
    1316 GRAB 1
    1318 ACC1
    1319 BRANCHIFNOT 1331
    1321 ACC1
    1322 GETFIELD0
    1323 PUSHACC1
    1324 APPLY1
    1325 ACC1
    1326 GETFIELD1
    1327 PUSHACC1
    1328 PUSHOFFSETCLOSURE0
    1329 APPTERM2 4
    1331 RETURN 2
    1333 RESTART
    1334 GRAB 2
    1336 ACC2
    1337 BRANCHIFNOT 1350
    1339 ACC2
    1340 GETFIELD1
    1341 PUSHACC3
    1342 GETFIELD0
    1343 PUSHACC3
    1344 PUSHACC3
    1345 APPLY2
    1346 PUSHACC2
    1347 PUSHOFFSETCLOSURE0
    1348 APPTERM3 6
    1350 ACC1
    1351 RETURN 3
    1353 RESTART
    1354 GRAB 2
    1356 ACC1
    1357 BRANCHIFNOT 1370
    1359 ACC2
    1360 PUSHACC2
    1361 GETFIELD1
    1362 PUSHACC2
    1363 PUSHOFFSETCLOSURE0
    1364 APPLY3
    1365 PUSHACC2
    1366 GETFIELD0
    1367 PUSHACC2
    1368 APPTERM2 5
    1370 ACC2
    1371 RETURN 3
    1373 RESTART
    1374 GRAB 2
    1376 ACC1
    1377 BRANCHIFNOT 1400
    1379 ACC2
    1380 BRANCHIFNOT 1407
    1382 ACC2
    1383 GETFIELD0
    1384 PUSHACC2
    1385 GETFIELD0
    1386 PUSHACC2
    1387 APPLY2
    1388 PUSHACC3
    1389 GETFIELD1
    1390 PUSHACC3
    1391 GETFIELD1
    1392 PUSHACC3
    1393 PUSHOFFSETCLOSURE0
    1394 APPLY3
    1395 PUSHACC1
    1396 MAKEBLOCK2 0
    1398 RETURN 4
    1400 ACC2
    1401 BRANCHIFNOT 1405
    1403 BRANCH 1407
    1405 RETURN 3
    1407 GETGLOBAL "List.map2"
    1409 PUSHGETGLOBALFIELD Pervasives, 2
    1412 APPTERM1 4
    1414 RESTART
    1415 GRAB 2
    1417 ACC1
    1418 BRANCHIFNOT 1437
    1420 ACC2
    1421 BRANCHIFNOT 1444
    1423 ACC2
    1424 GETFIELD0
    1425 PUSHACC2
    1426 GETFIELD0
    1427 PUSHACC2
    1428 APPLY2
    1429 ACC2
    1430 GETFIELD1
    1431 PUSHACC2
    1432 GETFIELD1
    1433 PUSHACC2
    1434 PUSHOFFSETCLOSURE0
    1435 APPTERM3 6
    1437 ACC2
    1438 BRANCHIFNOT 1442
    1440 BRANCH 1444
    1442 RETURN 3
    1444 GETGLOBAL "List.iter2"
    1446 PUSHGETGLOBALFIELD Pervasives, 2
    1449 APPTERM1 4
    1451 RESTART
    1452 GRAB 3
    1454 ACC2
    1455 BRANCHIFNOT 1476
    1457 ACC3
    1458 BRANCHIFNOT 1482
    1460 ACC3
    1461 GETFIELD1
    1462 PUSHACC3
    1463 GETFIELD1
    1464 PUSHACC5
    1465 GETFIELD0
    1466 PUSHACC5
    1467 GETFIELD0
    1468 PUSHACC5
    1469 PUSHACC5
    1470 APPLY3
    1471 PUSHACC3
    1472 PUSHOFFSETCLOSURE0
    1473 APPTERM 4, 8
    1476 ACC3
    1477 BRANCHIF 1482
    1479 ACC1
    1480 RETURN 4
    1482 GETGLOBAL "List.fold_left2"
    1484 PUSHGETGLOBALFIELD Pervasives, 2
    1487 APPTERM1 5
    1489 RESTART
    1490 GRAB 3
    1492 ACC1
    1493 BRANCHIFNOT 1516
    1495 ACC2
    1496 BRANCHIFNOT 1522
    1498 PUSH_RETADDR 1509
    1500 ACC6
    1501 PUSHACC6
    1502 GETFIELD1
    1503 PUSHACC6
    1504 GETFIELD1
    1505 PUSHACC6
    1506 PUSHOFFSETCLOSURE0
    1507 APPLY 4
    1509 PUSHACC3
    1510 GETFIELD0
    1511 PUSHACC3
    1512 GETFIELD0
    1513 PUSHACC3
    1514 APPTERM3 7
    1516 ACC2
    1517 BRANCHIF 1522
    1519 ACC3
    1520 RETURN 4
    1522 GETGLOBAL "List.fold_right2"
    1524 PUSHGETGLOBALFIELD Pervasives, 2
    1527 APPTERM1 5
    1529 RESTART
    1530 GRAB 1
    1532 ACC1
    1533 BRANCHIFNOT 1549
    1535 ACC1
    1536 GETFIELD0
    1537 PUSHACC1
    1538 APPLY1
    1539 BRANCHIFNOT 1547
    1541 ACC1
    1542 GETFIELD1
    1543 PUSHACC1
    1544 PUSHOFFSETCLOSURE0
    1545 APPTERM2 4
    1547 RETURN 2
    1549 CONST1
    1550 RETURN 2
    1552 RESTART
    1553 GRAB 1
    1555 ACC1
    1556 BRANCHIFNOT 1570
    1558 ACC1
    1559 GETFIELD0
    1560 PUSHACC1
    1561 APPLY1
    1562 BRANCHIF 1570
    1564 ACC1
    1565 GETFIELD1
    1566 PUSHACC1
    1567 PUSHOFFSETCLOSURE0
    1568 APPTERM2 4
    1570 RETURN 2
    1572 RESTART
    1573 GRAB 2
    1575 ACC1
    1576 BRANCHIFNOT 1599
    1578 ACC2
    1579 BRANCHIFNOT 1605
    1581 ACC2
    1582 GETFIELD0
    1583 PUSHACC2
    1584 GETFIELD0
    1585 PUSHACC2
    1586 APPLY2
    1587 BRANCHIFNOT 1597
    1589 ACC2
    1590 GETFIELD1
    1591 PUSHACC2
    1592 GETFIELD1
    1593 PUSHACC2
    1594 PUSHOFFSETCLOSURE0
    1595 APPTERM3 6
    1597 RETURN 3
    1599 ACC2
    1600 BRANCHIF 1605
    1602 CONST1
    1603 RETURN 3
    1605 GETGLOBAL "List.for_all2"
    1607 PUSHGETGLOBALFIELD Pervasives, 2
    1610 APPTERM1 4
    1612 RESTART
    1613 GRAB 2
    1615 ACC1
    1616 BRANCHIFNOT 1639
    1618 ACC2
    1619 BRANCHIFNOT 1646
    1621 ACC2
    1622 GETFIELD0
    1623 PUSHACC2
    1624 GETFIELD0
    1625 PUSHACC2
    1626 APPLY2
    1627 BRANCHIF 1637
    1629 ACC2
    1630 GETFIELD1
    1631 PUSHACC2
    1632 GETFIELD1
    1633 PUSHACC2
    1634 PUSHOFFSETCLOSURE0
    1635 APPTERM3 6
    1637 RETURN 3
    1639 ACC2
    1640 BRANCHIFNOT 1644
    1642 BRANCH 1646
    1644 RETURN 3
    1646 GETGLOBAL "List.exists2"
    1648 PUSHGETGLOBALFIELD Pervasives, 2
    1651 APPTERM1 4
    1653 RESTART
    1654 GRAB 1
    1656 ACC1
    1657 BRANCHIFNOT 1672
    1659 ACC0
    1660 PUSHACC2
    1661 GETFIELD0
    1662 C_CALL2 equal
    1664 BRANCHIF 1672
    1666 ACC1
    1667 GETFIELD1
    1668 PUSHACC1
    1669 PUSHOFFSETCLOSURE0
    1670 APPTERM2 4
    1672 RETURN 2
    1674 RESTART
    1675 GRAB 1
    1677 ACC1
    1678 BRANCHIFNOT 1692
    1680 ACC0
    1681 PUSHACC2
    1682 GETFIELD0
    1683 EQ
    1684 BRANCHIF 1692
    1686 ACC1
    1687 GETFIELD1
    1688 PUSHACC1
    1689 PUSHOFFSETCLOSURE0
    1690 APPTERM2 4
    1692 RETURN 2
    1694 RESTART
    1695 GRAB 1
    1697 ACC1
    1698 BRANCHIFNOT 1719
    1700 ACC1
    1701 GETFIELD0
    1702 PUSHACC1
    1703 PUSHACC1
    1704 GETFIELD0
    1705 C_CALL2 equal
    1707 BRANCHIFNOT 1713
    1709 ACC0
    1710 GETFIELD1
    1711 RETURN 3
    1713 ACC2
    1714 GETFIELD1
    1715 PUSHACC2
    1716 PUSHOFFSETCLOSURE0
    1717 APPTERM2 5
    1719 GETGLOBAL Not_found
    1721 MAKEBLOCK1 0
    1723 RAISE
    1724 RESTART
    1725 GRAB 1
    1727 ACC1
    1728 BRANCHIFNOT 1748
    1730 ACC1
    1731 GETFIELD0
    1732 PUSHACC1
    1733 PUSHACC1
    1734 GETFIELD0
    1735 EQ
    1736 BRANCHIFNOT 1742
    1738 ACC0
    1739 GETFIELD1
    1740 RETURN 3
    1742 ACC2
    1743 GETFIELD1
    1744 PUSHACC2
    1745 PUSHOFFSETCLOSURE0
    1746 APPTERM2 5
    1748 GETGLOBAL Not_found
    1750 MAKEBLOCK1 0
    1752 RAISE
    1753 RESTART
    1754 GRAB 1
    1756 ACC1
    1757 BRANCHIFNOT 1773
    1759 ACC0
    1760 PUSHACC2
    1761 GETFIELD0
    1762 GETFIELD0
    1763 C_CALL2 equal
    1765 BRANCHIF 1773
    1767 ACC1
    1768 GETFIELD1
    1769 PUSHACC1
    1770 PUSHOFFSETCLOSURE0
    1771 APPTERM2 4
    1773 RETURN 2
    1775 RESTART
    1776 GRAB 1
    1778 ACC1
    1779 BRANCHIFNOT 1794
    1781 ACC0
    1782 PUSHACC2
    1783 GETFIELD0
    1784 GETFIELD0
    1785 EQ
    1786 BRANCHIF 1794
    1788 ACC1
    1789 GETFIELD1
    1790 PUSHACC1
    1791 PUSHOFFSETCLOSURE0
    1792 APPTERM2 4
    1794 RETURN 2
    1796 RESTART
    1797 GRAB 1
    1799 ACC1
    1800 BRANCHIFNOT 1825
    1802 ACC1
    1803 GETFIELD0
    1804 PUSHACC2
    1805 GETFIELD1
    1806 PUSHACC2
    1807 PUSHACC2
    1808 GETFIELD0
    1809 C_CALL2 equal
    1811 BRANCHIFNOT 1816
    1813 ACC0
    1814 RETURN 4
    1816 ACC0
    1817 PUSHACC3
    1818 PUSHOFFSETCLOSURE0
    1819 APPLY2
    1820 PUSHACC2
    1821 MAKEBLOCK2 0
    1823 POP 2
    1825 RETURN 2
    1827 RESTART
    1828 GRAB 1
    1830 ACC1
    1831 BRANCHIFNOT 1855
    1833 ACC1
    1834 GETFIELD0
    1835 PUSHACC2
    1836 GETFIELD1
    1837 PUSHACC2
    1838 PUSHACC2
    1839 GETFIELD0
    1840 EQ
    1841 BRANCHIFNOT 1846
    1843 ACC0
    1844 RETURN 4
    1846 ACC0
    1847 PUSHACC3
    1848 PUSHOFFSETCLOSURE0
    1849 APPLY2
    1850 PUSHACC2
    1851 MAKEBLOCK2 0
    1853 POP 2
    1855 RETURN 2
    1857 RESTART
    1858 GRAB 1
    1860 ACC1
    1861 BRANCHIFNOT 1879
    1863 ACC1
    1864 GETFIELD0
    1865 PUSHACC0
    1866 PUSHACC2
    1867 APPLY1
    1868 BRANCHIFNOT 1873
    1870 ACC0
    1871 RETURN 3
    1873 ACC2
    1874 GETFIELD1
    1875 PUSHACC2
    1876 PUSHOFFSETCLOSURE0
    1877 APPTERM2 5
    1879 GETGLOBAL Not_found
    1881 MAKEBLOCK1 0
    1883 RAISE
    1884 RESTART
    1885 GRAB 2
    1887 ACC2
    1888 BRANCHIFNOT 1917
    1890 ACC2
    1891 GETFIELD0
    1892 PUSHACC3
    1893 GETFIELD1
    1894 PUSHACC1
    1895 PUSHENVACC2
    1896 APPLY1
    1897 BRANCHIFNOT 1908
    1899 ACC0
    1900 PUSHACC4
    1901 PUSHACC4
    1902 PUSHACC4
    1903 MAKEBLOCK2 0
    1905 PUSHOFFSETCLOSURE0
    1906 APPTERM3 8
    1908 ACC0
    1909 PUSHACC4
    1910 PUSHACC3
    1911 MAKEBLOCK2 0
    1913 PUSHACC4
    1914 PUSHOFFSETCLOSURE0
    1915 APPTERM3 8
    1917 ACC1
    1918 PUSHENVACC1
    1919 APPLY1
    1920 PUSHACC1
    1921 PUSHENVACC1
    1922 APPLY1
    1923 MAKEBLOCK2 0
    1925 RETURN 3
    1927 RESTART
    1928 GRAB 1
    1930 ACC0
    1931 PUSHENVACC1
    1932 CLOSUREREC 2, 1885
    1936 ACC2
    1937 PUSHCONST0
    1938 PUSHCONST0
    1939 PUSHACC3
    1940 APPTERM3 6
    1942 ACC0
    1943 BRANCHIFNOT 1967
    1945 ACC0
    1946 GETFIELD0
    1947 PUSHACC1
    1948 GETFIELD1
    1949 PUSHOFFSETCLOSURE0
    1950 APPLY1
    1951 PUSHACC0
    1952 GETFIELD1
    1953 PUSHACC2
    1954 GETFIELD1
    1955 MAKEBLOCK2 0
    1957 PUSHACC1
    1958 GETFIELD0
    1959 PUSHACC3
    1960 GETFIELD0
    1961 MAKEBLOCK2 0
    1963 MAKEBLOCK2 0
    1965 RETURN 3
    1967 GETGLOBAL <0>(0, 0)
    1969 RETURN 1
    1971 RESTART
    1972 GRAB 1
    1974 ACC0
    1975 BRANCHIFNOT 1996
    1977 ACC1
    1978 BRANCHIFNOT 2003
    1980 ACC1
    1981 GETFIELD1
    1982 PUSHACC1
    1983 GETFIELD1
    1984 PUSHOFFSETCLOSURE0
    1985 APPLY2
    1986 PUSHACC2
    1987 GETFIELD0
    1988 PUSHACC2
    1989 GETFIELD0
    1990 MAKEBLOCK2 0
    1992 MAKEBLOCK2 0
    1994 RETURN 2
    1996 ACC1
    1997 BRANCHIFNOT 2001
    1999 BRANCH 2003
    2001 RETURN 2
    2003 GETGLOBAL "List.combine"
    2005 PUSHGETGLOBALFIELD Pervasives, 2
    2008 APPTERM1 3
    2010 RESTART
    2011 GRAB 1
    2013 ACC1
    2014 BRANCHIFNOT 2038
    2016 ACC1
    2017 GETFIELD0
    2018 PUSHACC2
    2019 GETFIELD1
    2020 PUSHACC1
    2021 PUSHENVACC2
    2022 APPLY1
    2023 BRANCHIFNOT 2033
    2025 ACC0
    2026 PUSHACC3
    2027 PUSHACC3
    2028 MAKEBLOCK2 0
    2030 PUSHOFFSETCLOSURE0
    2031 APPTERM2 6
    2033 ACC0
    2034 PUSHACC3
    2035 PUSHOFFSETCLOSURE0
    2036 APPTERM2 6
    2038 ACC0
    2039 PUSHENVACC1
    2040 APPTERM1 3
    2042 ACC0
    2043 PUSHENVACC1
    2044 CLOSUREREC 2, 2011
    2048 CONST0
    2049 PUSHACC1
    2050 APPTERM1 3
    2052 RESTART
    2053 GRAB 2
    2055 ACC1
    2056 BRANCHIFNOT 2077
    2058 ACC2
    2059 BRANCHIFNOT 2084
    2061 ACC2
    2062 GETFIELD1
    2063 PUSHACC2
    2064 GETFIELD1
    2065 PUSHACC2
    2066 PUSHACC5
    2067 GETFIELD0
    2068 PUSHACC5
    2069 GETFIELD0
    2070 PUSHENVACC1
    2071 APPLY2
    2072 MAKEBLOCK2 0
    2074 PUSHOFFSETCLOSURE0
    2075 APPTERM3 6
    2077 ACC2
    2078 BRANCHIFNOT 2082
    2080 BRANCH 2084
    2082 RETURN 3
    2084 GETGLOBAL "List.rev_map2"
    2086 PUSHGETGLOBALFIELD Pervasives, 2
    2089 APPTERM1 4
    2091 RESTART
    2092 GRAB 2
    2094 ACC0
    2095 CLOSUREREC 1, 2053
    2099 ACC3
    2100 PUSHACC3
    2101 PUSHCONST0
    2102 PUSHACC3
    2103 APPTERM3 7
    2105 RESTART
    2106 GRAB 1
    2108 ACC1
    2109 BRANCHIFNOT 2123
    2111 ACC1
    2112 GETFIELD1
    2113 PUSHACC1
    2114 PUSHACC3
    2115 GETFIELD0
    2116 PUSHENVACC1
    2117 APPLY1
    2118 MAKEBLOCK2 0
    2120 PUSHOFFSETCLOSURE0
    2121 APPTERM2 4
    2123 ACC0
    2124 RETURN 2
    2126 RESTART
    2127 GRAB 1
    2129 ACC0
    2130 CLOSUREREC 1, 2106
    2134 ACC2
    2135 PUSHCONST0
    2136 PUSHACC2
    2137 APPTERM2 5
    2139 CONST0
    2140 PUSHACC1
    2141 PUSHENVACC1
    2142 APPTERM2 3
    2144 ACC0
    2145 BRANCHIFNOT 2151
    2147 ACC0
    2148 GETFIELD1
    2149 RETURN 1
    2151 GETGLOBAL "tl"
    2153 PUSHGETGLOBALFIELD Pervasives, 3
    2156 APPTERM1 2
    2158 ACC0
    2159 BRANCHIFNOT 2165
    2161 ACC0
    2162 GETFIELD0
    2163 RETURN 1
    2165 GETGLOBAL "hd"
    2167 PUSHGETGLOBALFIELD Pervasives, 3
    2170 APPTERM1 2
    2172 ACC0
    2173 PUSHCONST0
    2174 PUSHENVACC1
    2175 APPTERM2 3
    2177 CLOSUREREC 0, 1200
    2181 ACC0
    2182 CLOSURE 1, 2172
    2185 PUSH
    2186 CLOSURE 0, 2158
    2189 PUSH
    2190 CLOSURE 0, 2144
    2193 PUSH
    2194 CLOSUREREC 0, 1217
    2198 GETGLOBALFIELD Pervasives, 16
    2201 PUSH
    2202 CLOSUREREC 0, 1259
    2206 ACC0
    2207 CLOSURE 1, 2139
    2210 PUSH
    2211 CLOSUREREC 0, 1277
    2215 CLOSUREREC 0, 1294
    2219 CLOSURE 0, 2127
    2222 PUSH
    2223 CLOSUREREC 0, 1316
    2227 CLOSUREREC 0, 1334
    2231 CLOSUREREC 0, 1354
    2235 CLOSUREREC 0, 1374
    2239 CLOSURE 0, 2092
    2242 PUSH
    2243 CLOSUREREC 0, 1415
    2247 CLOSUREREC 0, 1452
    2251 CLOSUREREC 0, 1490
    2255 CLOSUREREC 0, 1530
    2259 CLOSUREREC 0, 1553
    2263 CLOSUREREC 0, 1573
    2267 CLOSUREREC 0, 1613
    2271 CLOSUREREC 0, 1654
    2275 CLOSUREREC 0, 1675
    2279 CLOSUREREC 0, 1695
    2283 CLOSUREREC 0, 1725
    2287 CLOSUREREC 0, 1754
    2291 CLOSUREREC 0, 1776
    2295 CLOSUREREC 0, 1797
    2299 CLOSUREREC 0, 1828
    2303 CLOSUREREC 0, 1858
    2307 ACC 24
    2309 CLOSURE 1, 2042
    2312 PUSHACC 25
    2314 CLOSUREREC 1, 1928
    2318 CLOSUREREC 0, 1942
    2322 CLOSUREREC 0, 1972
    2326 ACC0
    2327 PUSHACC2
    2328 PUSHACC7
    2329 PUSHACC 9
    2331 PUSHACC 11
    2333 PUSHACC 13
    2335 PUSHACC 15
    2337 PUSHACC 17
    2339 PUSHACC 10
    2341 PUSHACC 12
    2343 PUSHACC 13
    2345 PUSHACC 15
    2347 PUSHACC 23
    2349 PUSHACC 25
    2351 PUSHACC 27
    2353 PUSHACC 29
    2355 PUSHACC 31
    2357 PUSHACC 33
    2359 PUSHACC 35
    2361 PUSHACC 37
    2363 PUSHACC 40
    2365 PUSHACC 42
    2367 PUSHACC 41
    2369 PUSHACC 45
    2371 PUSHACC 47
    2373 PUSHACC 50
    2375 PUSHACC 52
    2377 PUSHACC 51
    2379 PUSHACC 55
    2381 PUSHACC 56
    2383 PUSHACC 59
    2385 PUSHACC 61
    2387 PUSHACC 60
    2389 PUSHACC 64
    2391 PUSHACC 66
    2393 PUSHACC 68
    2395 PUSHACC 70
    2397 MAKEBLOCK 37, 0
    2400 POP 36
    2402 SETGLOBAL List
    2404 BRANCH 2432
    2406 CONST0
    2407 PUSHACC1
    2408 LEINT
    2409 BRANCHIFNOT 2414
    2411 CONST0
    2412 RETURN 1
    2414 ACC0
    2415 OFFSETINT -1
    2417 PUSHOFFSETCLOSURE0
    2418 APPLY1
    2419 PUSHACC1
    2420 MAKEBLOCK2 0
    2422 RETURN 1
    2424 RESTART
    2425 GRAB 1
    2427 ACC1
    2428 PUSHACC1
    2429 ADDINT
    2430 RETURN 2
    2432 CLOSUREREC 0, 2406
    2436 CONSTINT 300
    2438 PUSHACC1
    2439 APPLY1
    2440 PUSHCONST0
    2441 C_CALL1 gc_major
    2443 CONSTINT 150
    2445 PUSHCONSTINT 301
    2447 MULINT
    2448 PUSHACC1
    2449 PUSHCONST0
    2450 PUSH
    2451 CLOSURE 0, 2425
    2454 PUSHGETGLOBALFIELD List, 12
    2457 APPLY3
    2458 NEQ
    2459 BRANCHIFNOT 2466
    2461 GETGLOBAL Not_found
    2463 MAKEBLOCK1 0
    2465 RAISE
    2466 POP 2
    2468 ATOM0
    2469 SETGLOBAL T320-gc-2
    2471 STOP
**)