summaryrefslogtreecommitdiffstats
path: root/testsuite/tests/tool-ocaml/t340-weak.ml
blob: e36dbab503145f0b0be6318a79c025c098200b0c (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
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
open Lib;;
let x = Array.make 20 "" in
let w = weak_create 20 in
for i = 0 to 19 do
  x.(i) <- String.make 20 's';
  weak_set w i (Some x.(i));
done;
Gc.full_major ();
for i = 0 to 19 do
  match weak_get w i with
  | None -> raise Not_found
  | _ -> ()
done;
for i = 0 to 19 do
  if i mod 2 = 0 then x.(i) <- ""
done;
Gc.full_major ();
for i = 0 to 19 do
  match weak_get w i with
  | None when i mod 2 = 0 -> ()
  | Some s when i mod 2 = 1 -> if s.[5] <> 's' then raise Not_found
  | _ -> raise Not_found
done
;;

(**
       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 2622
    2406 CONSTINT 97
    2408 PUSHACC1 
    2409 GEINT 
    2410 BRANCHIFNOT 2418
    2412 CONSTINT 122
    2414 PUSHACC1 
    2415 LEINT 
    2416 BRANCHIF 2442
    2418 CONSTINT 224
    2420 PUSHACC1 
    2421 GEINT 
    2422 BRANCHIFNOT 2430
    2424 CONSTINT 246
    2426 PUSHACC1 
    2427 LEINT 
    2428 BRANCHIF 2442
    2430 CONSTINT 248
    2432 PUSHACC1 
    2433 GEINT 
    2434 BRANCHIFNOT 2447
    2436 CONSTINT 254
    2438 PUSHACC1 
    2439 LEINT 
    2440 BRANCHIFNOT 2447
    2442 ACC0 
    2443 OFFSETINT -32
    2445 RETURN 1
    2447 ACC0 
    2448 RETURN 1
    2450 CONSTINT 65
    2452 PUSHACC1 
    2453 GEINT 
    2454 BRANCHIFNOT 2462
    2456 CONSTINT 90
    2458 PUSHACC1 
    2459 LEINT 
    2460 BRANCHIF 2486
    2462 CONSTINT 192
    2464 PUSHACC1 
    2465 GEINT 
    2466 BRANCHIFNOT 2474
    2468 CONSTINT 214
    2470 PUSHACC1 
    2471 LEINT 
    2472 BRANCHIF 2486
    2474 CONSTINT 216
    2476 PUSHACC1 
    2477 GEINT 
    2478 BRANCHIFNOT 2491
    2480 CONSTINT 222
    2482 PUSHACC1 
    2483 LEINT 
    2484 BRANCHIFNOT 2491
    2486 ACC0 
    2487 OFFSETINT 32
    2489 RETURN 1
    2491 ACC0 
    2492 RETURN 1
    2494 CONSTINT 39
    2496 PUSHACC1 
    2497 LTINT 
    2498 BRANCHIFNOT 2520
    2500 CONSTINT 9
    2502 PUSHACC1 
    2503 EQ 
    2504 BRANCHIFNOT 2510
    2506 GETGLOBAL "\\t"
    2508 RETURN 1
    2510 CONSTINT 13
    2512 PUSHACC1 
    2513 EQ 
    2514 BRANCHIFNOT 2540
    2516 GETGLOBAL "\\n"
    2518 RETURN 1
    2520 CONSTINT 39
    2522 PUSHACC1 
    2523 EQ 
    2524 BRANCHIFNOT 2530
    2526 GETGLOBAL "\\'"
    2528 RETURN 1
    2530 CONSTINT 92
    2532 PUSHACC1 
    2533 EQ 
    2534 BRANCHIFNOT 2540
    2536 GETGLOBAL "\\\\"
    2538 RETURN 1
    2540 ACC0 
    2541 C_CALL1 is_printable
    2543 BRANCHIFNOT 2555
    2545 CONST1 
    2546 C_CALL1 create_string
    2548 PUSHACC1 
    2549 PUSHCONST0 
    2550 PUSHACC2 
    2551 SETSTRINGCHAR 
    2552 ACC0 
    2553 RETURN 2
    2555 ACC0 
    2556 PUSHCONSTINT 4
    2558 C_CALL1 create_string
    2560 PUSHCONSTINT 92
    2562 PUSHCONST0 
    2563 PUSHACC2 
    2564 SETSTRINGCHAR 
    2565 CONSTINT 100
    2567 PUSHACC2 
    2568 DIVINT 
    2569 PUSHCONSTINT 48
    2571 ADDINT 
    2572 PUSHCONST1 
    2573 PUSHACC2 
    2574 SETSTRINGCHAR 
    2575 CONSTINT 10
    2577 PUSHCONSTINT 10
    2579 PUSHACC3 
    2580 DIVINT 
    2581 MODINT 
    2582 PUSHCONSTINT 48
    2584 ADDINT 
    2585 PUSHCONST2 
    2586 PUSHACC2 
    2587 SETSTRINGCHAR 
    2588 CONSTINT 10
    2590 PUSHACC2 
    2591 MODINT 
    2592 PUSHCONSTINT 48
    2594 ADDINT 
    2595 PUSHCONST3 
    2596 PUSHACC2 
    2597 SETSTRINGCHAR 
    2598 ACC0 
    2599 RETURN 3
    2601 CONST0 
    2602 PUSHACC1 
    2603 LTINT 
    2604 BRANCHIF 2612
    2606 CONSTINT 255
    2608 PUSHACC1 
    2609 GTINT 
    2610 BRANCHIFNOT 2619
    2612 GETGLOBAL "Char.chr"
    2614 PUSHGETGLOBALFIELD Pervasives, 2
    2617 APPTERM1 2
    2619 ACC0 
    2620 RETURN 1
    2622 CLOSURE 0, 2601
    2625 PUSH 
    2626 CLOSURE 0, 2494
    2629 PUSH 
    2630 CLOSURE 0, 2450
    2633 PUSH 
    2634 CLOSURE 0, 2406
    2637 PUSHACC0 
    2638 PUSHACC2 
    2639 PUSHACC4 
    2640 PUSHACC6 
    2641 MAKEBLOCK 4, 0
    2644 POP 4
    2646 SETGLOBAL Char
    2648 BRANCH 3540
    2650 RESTART 
    2651 GRAB 3
    2653 ACC1 
    2654 PUSHACC3 
    2655 GEINT 
    2656 BRANCHIFNOT 2663
    2658 GETGLOBAL Not_found
    2660 MAKEBLOCK1 0
    2662 RAISE 
    2663 ACC3 
    2664 PUSHACC3 
    2665 PUSHACC2 
    2666 GETSTRINGCHAR 
    2667 EQ 
    2668 BRANCHIFNOT 2673
    2670 ACC2 
    2671 RETURN 4
    2673 ACC3 
    2674 PUSHACC3 
    2675 OFFSETINT 1
    2677 PUSHACC3 
    2678 PUSHACC3 
    2679 PUSHOFFSETCLOSURE0 
    2680 APPTERM 4, 8
    2683 RESTART 
    2684 GRAB 2
    2686 CONST0 
    2687 PUSHACC2 
    2688 LTINT 
    2689 BRANCHIFNOT 2696
    2691 GETGLOBAL Not_found
    2693 MAKEBLOCK1 0
    2695 RAISE 
    2696 ACC2 
    2697 PUSHACC2 
    2698 PUSHACC2 
    2699 GETSTRINGCHAR 
    2700 EQ 
    2701 BRANCHIFNOT 2706
    2703 ACC1 
    2704 RETURN 3
    2706 ACC2 
    2707 PUSHACC2 
    2708 OFFSETINT -1
    2710 PUSHACC2 
    2711 PUSHOFFSETCLOSURE0 
    2712 APPTERM3 6
    2714 RESTART 
    2715 GRAB 1
    2717 ACC1 
    2718 PUSHCONST0 
    2719 PUSHACC2 
    2720 PUSHENVACC1 
    2721 APPTERM3 5
    2723 RESTART 
    2724 GRAB 2
    2726 CONST0 
    2727 PUSHACC2 
    2728 LTINT 
    2729 BRANCHIF 2738
    2731 ACC0 
    2732 C_CALL1 ml_string_length
    2734 PUSHACC2 
    2735 GEINT 
    2736 BRANCHIFNOT 2745
    2738 GETGLOBAL "String.rcontains_from"
    2740 PUSHGETGLOBALFIELD Pervasives, 2
    2743 APPTERM1 4
    2745 PUSHTRAP 2756
    2747 ACC6 
    2748 PUSHACC6 
    2749 PUSHACC6 
    2750 PUSHENVACC1 
    2751 APPLY3 
    2752 CONST1 
    2753 POPTRAP 
    2754 RETURN 3
    2756 PUSHGETGLOBAL Not_found
    2758 PUSHACC1 
    2759 GETFIELD0 
    2760 EQ 
    2761 BRANCHIFNOT 2766
    2763 CONST0 
    2764 RETURN 4
    2766 ACC0 
    2767 RAISE 
    2768 RESTART 
    2769 GRAB 2
    2771 CONST0 
    2772 PUSHACC2 
    2773 LTINT 
    2774 BRANCHIF 2783
    2776 ACC0 
    2777 C_CALL1 ml_string_length
    2779 PUSHACC2 
    2780 GTINT 
    2781 BRANCHIFNOT 2790
    2783 GETGLOBAL "String.contains_from"
    2785 PUSHGETGLOBALFIELD Pervasives, 2
    2788 APPTERM1 4
    2790 PUSHTRAP 2811
    2792 PUSH_RETADDR 2807
    2794 ACC 9
    2796 PUSHACC 9
    2798 PUSHACC 9
    2800 C_CALL1 ml_string_length
    2802 PUSHACC 10
    2804 PUSHENVACC1 
    2805 APPLY 4
    2807 CONST1 
    2808 POPTRAP 
    2809 RETURN 3
    2811 PUSHGETGLOBAL Not_found
    2813 PUSHACC1 
    2814 GETFIELD0 
    2815 EQ 
    2816 BRANCHIFNOT 2821
    2818 CONST0 
    2819 RETURN 4
    2821 ACC0 
    2822 RAISE 
    2823 RESTART 
    2824 GRAB 2
    2826 CONST0 
    2827 PUSHACC2 
    2828 LTINT 
    2829 BRANCHIF 2838
    2831 ACC0 
    2832 C_CALL1 ml_string_length
    2834 PUSHACC2 
    2835 GEINT 
    2836 BRANCHIFNOT 2845
    2838 GETGLOBAL "String.rindex_from"
    2840 PUSHGETGLOBALFIELD Pervasives, 2
    2843 APPTERM1 4
    2845 ACC2 
    2846 PUSHACC2 
    2847 PUSHACC2 
    2848 PUSHENVACC1 
    2849 APPTERM3 6
    2851 RESTART 
    2852 GRAB 1
    2854 ACC1 
    2855 PUSHACC1 
    2856 C_CALL1 ml_string_length
    2858 OFFSETINT -1
    2860 PUSHACC2 
    2861 PUSHENVACC1 
    2862 APPTERM3 5
    2864 RESTART 
    2865 GRAB 2
    2867 CONST0 
    2868 PUSHACC2 
    2869 LTINT 
    2870 BRANCHIF 2879
    2872 ACC0 
    2873 C_CALL1 ml_string_length
    2875 PUSHACC2 
    2876 GTINT 
    2877 BRANCHIFNOT 2886
    2879 GETGLOBAL "String.index_from"
    2881 PUSHGETGLOBALFIELD Pervasives, 2
    2884 APPTERM1 4
    2886 ACC2 
    2887 PUSHACC2 
    2888 PUSHACC2 
    2889 C_CALL1 ml_string_length
    2891 PUSHACC3 
    2892 PUSHENVACC1 
    2893 APPTERM 4, 7
    2896 RESTART 
    2897 GRAB 1
    2899 ACC1 
    2900 PUSHCONST0 
    2901 PUSHACC2 
    2902 C_CALL1 ml_string_length
    2904 PUSHACC3 
    2905 PUSHENVACC1 
    2906 APPTERM 4, 6
    2909 ACC0 
    2910 PUSHGETGLOBALFIELD Char, 2
    2913 PUSHENVACC1 
    2914 APPTERM2 3
    2916 ACC0 
    2917 PUSHGETGLOBALFIELD Char, 3
    2920 PUSHENVACC1 
    2921 APPTERM2 3
    2923 RESTART 
    2924 GRAB 1
    2926 CONST0 
    2927 PUSHACC2 
    2928 C_CALL1 ml_string_length
    2930 EQ 
    2931 BRANCHIFNOT 2936
    2933 ACC1 
    2934 RETURN 2
    2936 ACC1 
    2937 PUSHENVACC1 
    2938 APPLY1 
    2939 PUSHCONST0 
    2940 PUSHACC3 
    2941 GETSTRINGCHAR 
    2942 PUSHACC2 
    2943 APPLY1 
    2944 PUSHCONST0 
    2945 PUSHACC2 
    2946 SETSTRINGCHAR 
    2947 ACC0 
    2948 RETURN 3
    2950 ACC0 
    2951 PUSHGETGLOBALFIELD Char, 2
    2954 PUSHENVACC1 
    2955 APPTERM2 3
    2957 ACC0 
    2958 PUSHGETGLOBALFIELD Char, 3
    2961 PUSHENVACC1 
    2962 APPTERM2 3
    2964 RESTART 
    2965 GRAB 1
    2967 ACC1 
    2968 C_CALL1 ml_string_length
    2970 PUSHCONST0 
    2971 PUSHACC1 
    2972 EQ 
    2973 BRANCHIFNOT 2978
    2975 ACC2 
    2976 RETURN 3
    2978 ACC0 
    2979 C_CALL1 create_string
    2981 PUSHCONST0 
    2982 PUSHACC2 
    2983 OFFSETINT -1
    2985 PUSH 
    2986 BRANCH 3002
    2988 CHECK_SIGNALS 
    2989 ACC1 
    2990 PUSHACC6 
    2991 GETSTRINGCHAR 
    2992 PUSHACC5 
    2993 APPLY1 
    2994 PUSHACC2 
    2995 PUSHACC4 
    2996 SETSTRINGCHAR 
    2997 ACC1 
    2998 OFFSETINT 1
    3000 ASSIGN 1
    3002 ACC0 
    3003 PUSHACC2 
    3004 LEINT 
    3005 BRANCHIF 2988
    3007 CONST0 
    3008 POP 2
    3010 ACC0 
    3011 RETURN 4
    3013 CONST0 
    3014 PUSHCONST0 
    3015 PUSHACC2 
    3016 C_CALL1 ml_string_length
    3018 OFFSETINT -1
    3020 PUSH 
    3021 BRANCH 3059
    3023 CHECK_SIGNALS 
    3024 ACC1 
    3025 PUSHACC4 
    3026 GETSTRINGCHAR 
    3027 PUSHACC0 
    3028 PUSHGETGLOBAL "\000\"\000\000\004\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    3030 C_CALL2 bitvect_test
    3032 BRANCHIFNOT 3038
    3034 CONST0 
    3035 CONST2 
    3036 BRANCH 3048
    3038 ACC0 
    3039 C_CALL1 is_printable
    3041 BRANCHIFNOT 3046
    3043 CONST1 
    3044 BRANCH 3048
    3046 CONSTINT 4
    3048 POP 1
    3050 PUSHACC3 
    3051 ADDINT 
    3052 ASSIGN 2
    3054 ACC1 
    3055 OFFSETINT 1
    3057 ASSIGN 1
    3059 ACC0 
    3060 PUSHACC2 
    3061 LEINT 
    3062 BRANCHIF 3023
    3064 CONST0 
    3065 POP 2
    3067 ACC1 
    3068 C_CALL1 ml_string_length
    3070 PUSHACC1 
    3071 EQ 
    3072 BRANCHIFNOT 3077
    3074 ACC1 
    3075 RETURN 2
    3077 ACC0 
    3078 C_CALL1 create_string
    3080 PUSHCONST0 
    3081 ASSIGN 1
    3083 CONST0 
    3084 PUSHACC3 
    3085 C_CALL1 ml_string_length
    3087 OFFSETINT -1
    3089 PUSH 
    3090 BRANCH 3245
    3092 CHECK_SIGNALS 
    3093 ACC1 
    3094 PUSHACC5 
    3095 GETSTRINGCHAR 
    3096 PUSHACC0 
    3097 PUSHGETGLOBAL "\000\000\000\000\004\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    3099 C_CALL2 bitvect_test
    3101 BRANCHIFNOT 3120
    3103 CONST0 
    3104 CONSTINT 92
    3106 PUSHACC5 
    3107 PUSHACC5 
    3108 SETSTRINGCHAR 
    3109 ACC4 
    3110 OFFSETINT 1
    3112 ASSIGN 4
    3114 ACC0 
    3115 PUSHACC5 
    3116 PUSHACC5 
    3117 SETSTRINGCHAR 
    3118 BRANCH 3233
    3120 CONSTINT 9
    3122 PUSHACC1 
    3123 EQ 
    3124 BRANCHIFNOT 3143
    3126 CONSTINT 92
    3128 PUSHACC5 
    3129 PUSHACC5 
    3130 SETSTRINGCHAR 
    3131 ACC4 
    3132 OFFSETINT 1
    3134 ASSIGN 4
    3136 CONSTINT 116
    3138 PUSHACC5 
    3139 PUSHACC5 
    3140 SETSTRINGCHAR 
    3141 BRANCH 3233
    3143 CONSTINT 13
    3145 PUSHACC1 
    3146 EQ 
    3147 BRANCHIFNOT 3166
    3149 CONSTINT 92
    3151 PUSHACC5 
    3152 PUSHACC5 
    3153 SETSTRINGCHAR 
    3154 ACC4 
    3155 OFFSETINT 1
    3157 ASSIGN 4
    3159 CONSTINT 110
    3161 PUSHACC5 
    3162 PUSHACC5 
    3163 SETSTRINGCHAR 
    3164 BRANCH 3233
    3166 ACC0 
    3167 C_CALL1 is_printable
    3169 BRANCHIFNOT 3177
    3171 ACC0 
    3172 PUSHACC5 
    3173 PUSHACC5 
    3174 SETSTRINGCHAR 
    3175 BRANCH 3233
    3177 ACC0 
    3178 PUSHCONSTINT 92
    3180 PUSHACC6 
    3181 PUSHACC6 
    3182 SETSTRINGCHAR 
    3183 ACC5 
    3184 OFFSETINT 1
    3186 ASSIGN 5
    3188 CONSTINT 100
    3190 PUSHACC1 
    3191 DIVINT 
    3192 PUSHCONSTINT 48
    3194 ADDINT 
    3195 PUSHACC6 
    3196 PUSHACC6 
    3197 SETSTRINGCHAR 
    3198 ACC5 
    3199 OFFSETINT 1
    3201 ASSIGN 5
    3203 CONSTINT 10
    3205 PUSHCONSTINT 10
    3207 PUSHACC2 
    3208 DIVINT 
    3209 MODINT 
    3210 PUSHCONSTINT 48
    3212 ADDINT 
    3213 PUSHACC6 
    3214 PUSHACC6 
    3215 SETSTRINGCHAR 
    3216 ACC5 
    3217 OFFSETINT 1
    3219 ASSIGN 5
    3221 CONSTINT 10
    3223 PUSHACC1 
    3224 MODINT 
    3225 PUSHCONSTINT 48
    3227 ADDINT 
    3228 PUSHACC6 
    3229 PUSHACC6 
    3230 SETSTRINGCHAR 
    3231 POP 1
    3233 POP 1
    3235 ACC3 
    3236 OFFSETINT 1
    3238 ASSIGN 3
    3240 ACC1 
    3241 OFFSETINT 1
    3243 ASSIGN 1
    3245 ACC0 
    3246 PUSHACC2 
    3247 LEINT 
    3248 BRANCHIF 3092
    3250 CONST0 
    3251 POP 2
    3253 ACC0 
    3254 RETURN 3
    3256 ENVACC1 
    3257 C_CALL1 ml_string_length
    3259 PUSHENVACC3 
    3260 GETFIELD0 
    3261 PUSHENVACC2 
    3262 PUSHCONST0 
    3263 PUSHENVACC1 
    3264 C_CALL5 blit_string
    3266 ENVACC1 
    3267 C_CALL1 ml_string_length
    3269 PUSHENVACC3 
    3270 GETFIELD0 
    3271 ADDINT 
    3272 PUSHENVACC3 
    3273 SETFIELD0 
    3274 ACC0 
    3275 C_CALL1 ml_string_length
    3277 PUSHENVACC3 
    3278 GETFIELD0 
    3279 PUSHENVACC2 
    3280 PUSHCONST0 
    3281 PUSHACC4 
    3282 C_CALL5 blit_string
    3284 ACC0 
    3285 C_CALL1 ml_string_length
    3287 PUSHENVACC3 
    3288 GETFIELD0 
    3289 ADDINT 
    3290 PUSHENVACC3 
    3291 SETFIELD0 
    3292 RETURN 1
    3294 ENVACC1 
    3295 OFFSETREF 1
    3297 ACC0 
    3298 C_CALL1 ml_string_length
    3300 PUSHENVACC2 
    3301 GETFIELD0 
    3302 ADDINT 
    3303 PUSHENVACC2 
    3304 SETFIELD0 
    3305 RETURN 1
    3307 RESTART 
    3308 GRAB 1
    3310 ACC1 
    3311 BRANCHIFNOT 3374
    3313 ACC1 
    3314 GETFIELD0 
    3315 PUSHCONST0 
    3316 MAKEBLOCK1 0
    3318 PUSHCONST0 
    3319 MAKEBLOCK1 0
    3321 PUSHACC4 
    3322 PUSHACC1 
    3323 PUSHACC3 
    3324 CLOSURE 2, 3294
    3327 PUSHGETGLOBALFIELD List, 9
    3330 APPLY2 
    3331 ACC1 
    3332 GETFIELD0 
    3333 OFFSETINT -1
    3335 PUSHACC4 
    3336 C_CALL1 ml_string_length
    3338 MULINT 
    3339 PUSHACC1 
    3340 GETFIELD0 
    3341 ADDINT 
    3342 C_CALL1 create_string
    3344 PUSHACC3 
    3345 C_CALL1 ml_string_length
    3347 PUSHCONST0 
    3348 PUSHACC2 
    3349 PUSHCONST0 
    3350 PUSHACC7 
    3351 C_CALL5 blit_string
    3353 ACC3 
    3354 C_CALL1 ml_string_length
    3356 MAKEBLOCK1 0
    3358 PUSHACC6 
    3359 GETFIELD1 
    3360 PUSHACC1 
    3361 PUSHACC3 
    3362 PUSHACC 8
    3364 CLOSURE 3, 3256
    3367 PUSHGETGLOBALFIELD List, 9
    3370 APPLY2 
    3371 ACC1 
    3372 RETURN 7
    3374 GETGLOBAL ""
    3376 RETURN 2
    3378 RESTART 
    3379 GRAB 4
    3381 CONST0 
    3382 PUSHACC5 
    3383 LTINT 
    3384 BRANCHIF 3414
    3386 CONST0 
    3387 PUSHACC2 
    3388 LTINT 
    3389 BRANCHIF 3414
    3391 ACC0 
    3392 C_CALL1 ml_string_length
    3394 PUSHACC5 
    3395 PUSHACC3 
    3396 ADDINT 
    3397 GTINT 
    3398 BRANCHIF 3414
    3400 CONST0 
    3401 PUSHACC4 
    3402 LTINT 
    3403 BRANCHIF 3414
    3405 ACC2 
    3406 C_CALL1 ml_string_length
    3408 PUSHACC5 
    3409 PUSHACC5 
    3410 ADDINT 
    3411 GTINT 
    3412 BRANCHIFNOT 3421
    3414 GETGLOBAL "String.blit"
    3416 PUSHGETGLOBALFIELD Pervasives, 2
    3419 APPTERM1 6
    3421 ACC4 
    3422 PUSHACC4 
    3423 PUSHACC4 
    3424 PUSHACC4 
    3425 PUSHACC4 
    3426 C_CALL5 blit_string
    3428 RETURN 5
    3430 RESTART 
    3431 GRAB 3
    3433 CONST0 
    3434 PUSHACC2 
    3435 LTINT 
    3436 BRANCHIF 3452
    3438 CONST0 
    3439 PUSHACC3 
    3440 LTINT 
    3441 BRANCHIF 3452
    3443 ACC0 
    3444 C_CALL1 ml_string_length
    3446 PUSHACC3 
    3447 PUSHACC3 
    3448 ADDINT 
    3449 GTINT 
    3450 BRANCHIFNOT 3459
    3452 GETGLOBAL "String.fill"
    3454 PUSHGETGLOBALFIELD Pervasives, 2
    3457 APPTERM1 5
    3459 ACC3 
    3460 PUSHACC3 
    3461 PUSHACC3 
    3462 PUSHACC3 
    3463 C_CALL4 fill_string
    3465 RETURN 4
    3467 RESTART 
    3468 GRAB 2
    3470 CONST0 
    3471 PUSHACC2 
    3472 LTINT 
    3473 BRANCHIF 3489
    3475 CONST0 
    3476 PUSHACC3 
    3477 LTINT 
    3478 BRANCHIF 3489
    3480 ACC0 
    3481 C_CALL1 ml_string_length
    3483 PUSHACC3 
    3484 PUSHACC3 
    3485 ADDINT 
    3486 GTINT 
    3487 BRANCHIFNOT 3496
    3489 GETGLOBAL "String.sub"
    3491 PUSHGETGLOBALFIELD Pervasives, 2
    3494 APPTERM1 4
    3496 ACC2 
    3497 C_CALL1 create_string
    3499 PUSHACC3 
    3500 PUSHCONST0 
    3501 PUSHACC2 
    3502 PUSHACC5 
    3503 PUSHACC5 
    3504 C_CALL5 blit_string
    3506 ACC0 
    3507 RETURN 4
    3509 ACC0 
    3510 C_CALL1 ml_string_length
    3512 PUSHACC0 
    3513 C_CALL1 create_string
    3515 PUSHACC1 
    3516 PUSHCONST0 
    3517 PUSHACC2 
    3518 PUSHCONST0 
    3519 PUSHACC6 
    3520 C_CALL5 blit_string
    3522 ACC0 
    3523 RETURN 3
    3525 RESTART 
    3526 GRAB 1
    3528 ACC0 
    3529 C_CALL1 create_string
    3531 PUSHACC2 
    3532 PUSHACC2 
    3533 PUSHCONST0 
    3534 PUSHACC3 
    3535 C_CALL4 fill_string
    3537 ACC0 
    3538 RETURN 3
    3540 CLOSURE 0, 3526
    3543 PUSH 
    3544 CLOSURE 0, 3509
    3547 PUSH 
    3548 CLOSURE 0, 3468
    3551 PUSH 
    3552 CLOSURE 0, 3431
    3555 PUSH 
    3556 CLOSURE 0, 3379
    3559 PUSH 
    3560 CLOSURE 0, 3308
    3563 PUSH 
    3564 CLOSURE 0, 3013
    3567 PUSH 
    3568 CLOSURE 0, 2965
    3571 PUSHACC0 
    3572 CLOSURE 1, 2957
    3575 PUSHACC1 
    3576 CLOSURE 1, 2950
    3579 PUSHACC 8
    3581 CLOSURE 1, 2924
    3584 PUSHACC0 
    3585 CLOSURE 1, 2916
    3588 PUSHACC1 
    3589 CLOSURE 1, 2909
    3592 PUSH 
    3593 CLOSUREREC 0, 2651
    3597 ACC0 
    3598 CLOSURE 1, 2897
    3601 PUSHACC1 
    3602 CLOSURE 1, 2865
    3605 PUSH 
    3606 CLOSUREREC 0, 2684
    3610 ACC0 
    3611 CLOSURE 1, 2852
    3614 PUSHACC1 
    3615 CLOSURE 1, 2824
    3618 PUSHACC5 
    3619 CLOSURE 1, 2769
    3622 PUSHACC3 
    3623 CLOSURE 1, 2724
    3626 PUSHACC1 
    3627 CLOSURE 1, 2715
    3630 PUSHACC 9
    3632 PUSHACC 11
    3634 PUSHACC 14
    3636 PUSHACC 16
    3638 PUSHACC5 
    3639 PUSHACC7 
    3640 PUSHACC6 
    3641 PUSHACC 10
    3643 PUSHACC 14
    3645 PUSHACC 13
    3647 PUSHACC 17
    3649 PUSHACC 26
    3651 PUSHACC 28
    3653 PUSHACC 30
    3655 PUSHACC 32
    3657 PUSHACC 34
    3659 PUSHACC 36
    3661 PUSHACC 38
    3663 MAKEBLOCK 18, 0
    3666 POP 22
    3668 SETGLOBAL String
    3670 GETGLOBAL ""
    3672 PUSHCONSTINT 20
    3674 C_CALL2 make_vect
    3676 PUSHCONSTINT 20
    3678 C_CALL1 weak_create
    3680 PUSHCONST0 
    3681 PUSHCONSTINT 19
    3683 PUSH 
    3684 BRANCH 3712
    3686 CHECK_SIGNALS 
    3687 CONSTINT 115
    3689 PUSHCONSTINT 20
    3691 PUSHGETGLOBALFIELD String, 0
    3694 APPLY2 
    3695 PUSHACC2 
    3696 PUSHACC5 
    3697 SETVECTITEM 
    3698 ACC1 
    3699 PUSHACC4 
    3700 GETVECTITEM 
    3701 MAKEBLOCK1 0
    3703 PUSHACC2 
    3704 PUSHACC4 
    3705 C_CALL3 weak_set
    3707 ACC1 
    3708 OFFSETINT 1
    3710 ASSIGN 1
    3712 ACC0 
    3713 PUSHACC2 
    3714 LEINT 
    3715 BRANCHIF 3686
    3717 CONST0 
    3718 POP 2
    3720 CONST0 
    3721 C_CALL1 gc_full_major
    3723 CONST0 
    3724 PUSHCONSTINT 19
    3726 PUSH 
    3727 BRANCH 3750
    3729 CHECK_SIGNALS 
    3730 ACC1 
    3731 PUSHACC3 
    3732 C_CALL2 weak_get
    3734 PUSHACC0 
    3735 BRANCHIF 3742
    3737 GETGLOBAL Not_found
    3739 MAKEBLOCK1 0
    3741 RAISE 
    3742 CONST0 
    3743 POP 1
    3745 ACC1 
    3746 OFFSETINT 1
    3748 ASSIGN 1
    3750 ACC0 
    3751 PUSHACC2 
    3752 LEINT 
    3753 BRANCHIF 3729
    3755 CONST0 
    3756 POP 2
    3758 CONST0 
    3759 PUSHCONSTINT 19
    3761 PUSH 
    3762 BRANCH 3782
    3764 CHECK_SIGNALS 
    3765 CONST0 
    3766 PUSHCONST2 
    3767 PUSHACC3 
    3768 MODINT 
    3769 EQ 
    3770 BRANCHIFNOT 3777
    3772 GETGLOBAL ""
    3774 PUSHACC2 
    3775 PUSHACC5 
    3776 SETVECTITEM 
    3777 ACC1 
    3778 OFFSETINT 1
    3780 ASSIGN 1
    3782 ACC0 
    3783 PUSHACC2 
    3784 LEINT 
    3785 BRANCHIF 3764
    3787 CONST0 
    3788 POP 2
    3790 CONST0 
    3791 C_CALL1 gc_full_major
    3793 CONST0 
    3794 PUSHCONSTINT 19
    3796 PUSH 
    3797 BRANCH 3851
    3799 CHECK_SIGNALS 
    3800 ACC1 
    3801 PUSHACC3 
    3802 C_CALL2 weak_get
    3804 PUSHACC0 
    3805 BRANCHIFNOT 3829
    3807 CONST1 
    3808 PUSHCONST2 
    3809 PUSHACC4 
    3810 MODINT 
    3811 EQ 
    3812 BRANCHIFNOT 3839
    3814 CONSTINT 115
    3816 PUSHCONSTINT 5
    3818 PUSHACC2 
    3819 GETFIELD0 
    3820 GETSTRINGCHAR 
    3821 NEQ 
    3822 BRANCHIFNOT 3844
    3824 GETGLOBAL Not_found
    3826 MAKEBLOCK1 0
    3828 RAISE 
    3829 CONST0 
    3830 PUSHCONST2 
    3831 PUSHACC4 
    3832 MODINT 
    3833 EQ 
    3834 BRANCHIFNOT 3839
    3836 CONST0 
    3837 BRANCH 3844
    3839 GETGLOBAL Not_found
    3841 MAKEBLOCK1 0
    3843 RAISE 
    3844 POP 1
    3846 ACC1 
    3847 OFFSETINT 1
    3849 ASSIGN 1
    3851 ACC0 
    3852 PUSHACC2 
    3853 LEINT 
    3854 BRANCHIF 3799
    3856 CONST0 
    3857 POP 4
    3859 ATOM0 
    3860 SETGLOBAL T340-weak
    3862 STOP 
**)