cyclone/tests/debug/maze-cps-opt.scm
Justin Ethier 81a96d1e53 Testing
2017-06-30 14:13:24 +00:00

1759 lines
512 KiB
Scheme

[optimized]
(lambda (k924)
(let ((k925 (##core#lambda
(r926)
(let ((k928 (##core#lambda
(r929)
(let ((k931 (##core#lambda
(r932)
(let ((k934 (##core#lambda
(r935)
(let ((k937 (##core#lambda
(r938)
(let ((t940 (set! flush-output-port #f flush-output)))
(let ((t941 (set! current-jiffy #f current-milliseconds)))
(let ((t942 (set! jiffies-per-second
#f
(lambda (k944) (k944 1000)))))
(let ((t945 (set! current-second #f current-seconds)))
(let ((t946 (set! inexact #f exact->inexact)))
(let ((t947 (set! exact #f inexact->exact)))
(let ((t948 (set! square
#f
(lambda (k950 x61)
(k950 (##core#inline_allocate
("C_a_i_times" 4)
x61
x61))))))
(let ((t954 (set! exact-integer? #f integer?)))
(let ((t955 (set! this-scheme-implementation-name
#f
(lambda (k957)
(let ((k962 (##core#lambda
(r963)
(string-append k957 "chicken-" r963))))
(chicken-version k962))))))
(let ((t965 (set! bitwise-not
#f
(lambda (k967 x66)
(let ((k972 (##core#lambda
(r973)
(k967 (##core#inline_allocate ("C_a_i_minus" 4) r973 1)))))
((##core#proc "C_minus" #t) k972 x66))))))
(let ((t975 (set! bitwise-and
#f
(lambda (k977 x68 y69)
(if (##core#inline "C_i_nequalp" x68 0)
(k977 0)
(if (##core#inline "C_i_nequalp" y69 0)
(k977 0)
(if (##core#inline "C_i_nequalp" x68 -1)
(k977 y69)
(if (##core#inline "C_i_nequalp" y69 -1)
(k977 x68)
(let ((k1024 (##core#lambda
(r1025)
(let ((a1023 r1025))
(let ((k1028 (##core#lambda
(r1029)
(let ((r1003 (##core#inline_allocate
("C_a_i_bitwise_and" 4)
a1023
r1029)))
(let ((r1018 (##core#inline "C_i_oddp" x68)))
(let ((r1009 (##core#cond
r1018
(##core#inline "C_i_oddp" y69)
#f)))
(if r1009
((##core#proc "C_plus" #t) k977 r1003 r1003 1)
(k977 (##core#inline_allocate
("C_a_i_plus" 4)
r1003
r1003)))))))))
(div k1028 y69 2))))))
(div k1024 x68 2))))))))))
(let ((t1031 (set! div
#f
(lambda (k1033 x77 y78)
(let ((k1037 (##core#lambda
(r1038)
(if r1038
((##core#proc "C_quotient" #t) k1033 x77 y78)
(if (##core#inline "C_i_lessp" y78 0)
(let ((k1049 (##core#lambda
(r1050)
(let ((r1066 (##core#inline_allocate
("C_a_i_times" 4)
r1050
y78)))
(let ((r1053 (##core#inline_allocate
("C_a_i_minus" 4)
x77
r1066)))
(let ((r1059 (##core#inline "C_i_nequalp" r1053 0)))
(k1033 (##core#cond
r1059
r1050
(##core#inline_allocate ("C_a_i_plus" 4) r1050 1)))))))))
((##core#proc "C_quotient" #t) k1049 x77 y78))
(let ((k1068 (##core#lambda
(r1069)
(let ((r1085 (##core#inline_allocate
("C_a_i_times" 4)
r1069
y78)))
(let ((r1072 (##core#inline_allocate
("C_a_i_minus" 4)
x77
r1085)))
(let ((r1078 (##core#inline "C_i_nequalp" r1072 0)))
(k1033 (##core#cond
r1078
r1069
(##core#inline_allocate
("C_a_i_minus" 4)
r1069
1)))))))))
((##core#proc "C_quotient" #t) k1068 x77 y78)))))))
(let ((k1087 (##core#lambda
(r1088)
(if r1088
(let ((k1093 (##core#lambda
(r1094)
(k1037 (##core#cond
r1094
(##core#inline "C_i_greater_or_equalp" x77 0)
#f)))))
(exact-integer? k1093 y78))
(k1037 #f)))))
(exact-integer? k1087 x77)))))))
(let ((t1099 (set! mod
#f
(lambda (k1101 x90 y91)
(let ((k1105 (##core#lambda
(r1106)
(if r1106
(remainder k1101 x90 y91)
(if (##core#inline "C_i_lessp" y91 0)
(let ((k1117 (##core#lambda
(r1118)
(let ((r1134 (##core#inline_allocate
("C_a_i_times" 4)
r1118
y91)))
(let ((r1121 (##core#inline_allocate
("C_a_i_minus" 4)
x90
r1134)))
(let ((r1127 (##core#inline "C_i_nequalp" r1121 0)))
(k1101 (##core#cond
r1127
0
(##core#inline_allocate
("C_a_i_minus" 4)
r1121
y91)))))))))
((##core#proc "C_quotient" #t) k1117 x90 y91))
(let ((k1136 (##core#lambda
(r1137)
(let ((r1153 (##core#inline_allocate
("C_a_i_times" 4)
r1137
y91)))
(let ((r1140 (##core#inline_allocate
("C_a_i_minus" 4)
x90
r1153)))
(let ((r1146 (##core#inline "C_i_nequalp" r1140 0)))
(k1101 (##core#cond
r1146
0
(##core#inline_allocate
("C_a_i_plus" 4)
r1140
y91)))))))))
((##core#proc "C_quotient" #t) k1136 x90 y91)))))))
(let ((k1155 (##core#lambda
(r1156)
(if r1156
(let ((k1161 (##core#lambda
(r1162)
(k1105 (##core#cond
r1162
(##core#inline "C_i_greater_or_equalp" x90 0)
#f)))))
(exact-integer? k1161 y91))
(k1105 #f)))))
(exact-integer? k1155 x90)))))))
(let ((t1167 (set! random-state
#f
(lambda (k1169 n103)
(k1169 (##core#inline_allocate ("C_a_i_cons" 3) n103 #f))))))
(let ((t1173 (set! rand
#f
(lambda (k1175 state105)
(let ((r1177 (##core#inline "C_i_car" state105)))
(let ((seed106 r1177))
(let ((k1179 (##core#lambda
(r1180)
(let ((hi111 r1180))
(let ((k1182 (##core#lambda
(r1183)
(let ((r1202 (##core#inline_allocate
("C_a_i_times" 4)
2813
r1183)))
(let ((r1206 (##core#inline_allocate
("C_a_i_times" 4)
2699
hi111)))
(let ((r1186 (##core#inline_allocate
("C_a_i_minus" 4)
r1202
r1206)))
(let ((r1195 (##core#inline "C_i_greaterp" r1186 0)))
(let ((r1189 (##core#cond
r1195
r1186
(##core#inline_allocate
("C_a_i_plus" 4)
r1186
8388607))))
(let ((r1192 (##core#inline "C_i_set_car" state105 r1189)))
(k1175 r1189))))))))))
(mod k1182 seed106 2787))))))
(div k1179 seed106 2787))))))))
(let ((t1208 (set! random-int
#f
(lambda (k1210 n117 state118)
(let ((k1215 (##core#lambda (r1216) (mod k1210 r1216 n117))))
(rand k1215 state118))))))
(let ((t1218 (set! base-set
#f
(lambda (k1220 nelts120)
(k1220 (##core#inline_allocate
("C_a_i_cons" 3)
nelts120
'()))))))
(let ((t1224 (set! get-set-root
#f
(lambda (k1226 s122)
(let ((lp123 (##core#undefined)))
(let ((t1230 (set! lp123
#f
(lambda (k1232 r124)
(let ((r1234 (##core#inline "C_i_cdr" r124)))
(if (##core#inline "C_i_pairp" r1234)
(lp123 k1232 r1234)
(let ((k1245 (##core#lambda (r1246) (k1232 r124))))
(let ((r1278 (##core#inline "C_eqp" r124 s122)))
(if r1278
(k1245 (##core#undefined))
(let ((lp130 (##core#undefined)))
(let ((t1254 (set! lp130
#f
(lambda (k1256 x131)
(let ((r1258 (##core#inline "C_i_cdr" x131)))
(let ((r1274 (##core#inline "C_eqp" r124 r1258)))
(if r1274
(k1256 (##core#undefined))
(let ((r1267 (##core#inline "C_i_set_cdr" x131 r124)))
(lp130 k1256 r1258)))))))))
(lp130 k1245 s122))))))))))))
(lp123 k1226 s122)))))))
(let ((t1280 (set! set-equal?
#f
(lambda (k1282 s1142 s2143)
(let ((k1287 (##core#lambda
(r1288)
(let ((a1286 r1288))
(let ((k1291 (##core#lambda
(r1292)
(k1282 (##core#inline "C_eqp" a1286 r1292)))))
(get-set-root k1291 s2143))))))
(get-set-root k1287 s1142))))))
(let ((t1294 (set! set-size
#f
(lambda (k1296 s145)
(let ((k1301 (##core#lambda
(r1302)
(k1296 (##core#inline "C_i_car" r1302)))))
(get-set-root k1301 s145))))))
(let ((t1304 (set! union!
#f
(lambda (k1306 s1147 s2148)
(let ((k1307 (##core#lambda
(r1308)
(let ((r1149 r1308))
(let ((k1310 (##core#lambda
(r1311)
(let ((r2150 r1311))
(let ((k1313 (##core#lambda
(r1314)
(let ((n1151 r1314))
(let ((k1316 (##core#lambda
(r1317)
(let ((r1320 (##core#inline_allocate
("C_a_i_plus" 4)
n1151
r1317)))
(if (##core#inline "C_i_greaterp" n1151 r1317)
(let ((r1329 (##core#inline "C_i_set_cdr" r2150 r1149)))
(k1306 (##core#inline "C_i_set_car" r1149 r1320)))
(let ((r1335 (##core#inline "C_i_set_cdr" r1149 r2150)))
(k1306 (##core#inline "C_i_set_car" r2150 r1320))))))))
(set-size k1316 r2150))))))
(set-size k1313 r1149))))))
(get-set-root k1310 s2148))))))
(get-set-root k1307 s1147))))))
(let ((t1340 (set! make-wall
#f
(lambda (k1342 owner161 neighbor162 bit163)
(k1342 (##core#inline_allocate
("C_a_i_vector4" 5)
'wall
owner161
neighbor162
bit163))))))
(let ((t1346 (set! wall:owner
#f
(lambda (k1348 o165)
(k1348 (##core#inline "C_i_vector_ref" o165 1))))))
(let ((t1352 (set! set-wall:owner
#f
(lambda (k1354 o167 v168)
(k1354 (##core#inline "C_i_vector_set" o167 1 v168))))))
(let ((t1358 (set! wall:neighbor
#f
(lambda (k1360 o170)
(k1360 (##core#inline "C_i_vector_ref" o170 2))))))
(let ((t1364 (set! set-wall:neighbor
#f
(lambda (k1366 o172 v173)
(k1366 (##core#inline "C_i_vector_set" o172 2 v173))))))
(let ((t1370 (set! wall:bit
#f
(lambda (k1372 o175)
(k1372 (##core#inline "C_i_vector_ref" o175 3))))))
(let ((t1376 (set! set-wall:bit
#f
(lambda (k1378 o177 v178)
(k1378 (##core#inline "C_i_vector_set" o177 3 v178))))))
(let ((t1382 (set! make-cell
#f
(lambda (k1384 reachable180 id181)
(k1384 (##core#inline_allocate
("C_a_i_vector6" 7)
'cell
reachable180
id181
-1
#f
#f))))))
(let ((t1388 (set! cell:reachable
#f
(lambda (k1390 o183)
(k1390 (##core#inline "C_i_vector_ref" o183 1))))))
(let ((t1394 (set! set-cell:reachable
#f
(lambda (k1396 o185 v186)
(k1396 (##core#inline "C_i_vector_set" o185 1 v186))))))
(let ((t1400 (set! cell:id
#f
(lambda (k1402 o188)
(k1402 (##core#inline "C_i_vector_ref" o188 2))))))
(let ((t1406 (set! set-cell:id
#f
(lambda (k1408 o190 v191)
(k1408 (##core#inline "C_i_vector_set" o190 2 v191))))))
(let ((t1412 (set! cell:walls
#f
(lambda (k1414 o193)
(k1414 (##core#inline "C_i_vector_ref" o193 3))))))
(let ((t1418 (set! set-cell:walls
#f
(lambda (k1420 o195 v196)
(k1420 (##core#inline "C_i_vector_set" o195 3 v196))))))
(let ((t1424 (set! cell:parent
#f
(lambda (k1426 o198)
(k1426 (##core#inline "C_i_vector_ref" o198 4))))))
(let ((t1430 (set! set-cell:parent
#f
(lambda (k1432 o200 v201)
(k1432 (##core#inline "C_i_vector_set" o200 4 v201))))))
(let ((t1436 (set! cell:mark
#f
(lambda (k1438 o203)
(k1438 (##core#inline "C_i_vector_ref" o203 5))))))
(let ((t1442 (set! set-cell:mark
#f
(lambda (k1444 o205 v206)
(k1444 (##core#inline "C_i_vector_set" o205 5 v206))))))
(let ((t1448 (set! vector-for-each-rev
#f
(lambda (k1450 proc208 v209)
(let ((r1483 (##core#inline "C_i_vector_length" v209)))
(let ((r1456 (##core#inline_allocate
("C_a_i_minus" 4)
r1483
1)))
(let ((lp210 (##core#undefined)))
(let ((t1458 (set! lp210
#f
(lambda (k1460 i211)
(if (##core#inline "C_i_greater_or_equalp" i211 0)
(let ((k1467 (##core#lambda
(r1468)
(let ((r1475 (##core#inline_allocate ("C_a_i_minus" 4) i211 1)))
(lp210 k1460 r1475)))))
(let ((r1479 (##core#inline "C_i_vector_ref" v209 i211)))
(proc208 k1467 r1479)))
(k1460 (##core#undefined)))))))
(lp210 k1450 r1456)))))))))
(let ((t1485 (set! permute-vec!
#f
(lambda (k1487 v219 random-state220)
(let ((k1488 (##core#lambda (r1489) (k1487 v219))))
(let ((r1529 (##core#inline "C_i_vector_length" v219)))
(let ((r1493 (##core#inline_allocate
("C_a_i_minus" 4)
r1529
1)))
(let ((lp221 (##core#undefined)))
(let ((t1495 (set! lp221
#f
(lambda (k1497 i222)
(if (##core#inline "C_i_greaterp" i222 1)
(let ((r1505 (##core#inline "C_i_vector_ref" v219 i222)))
(let ((elt-i227 r1505))
(let ((k1507 (##core#lambda
(r1508)
(let ((r1525 (##core#inline "C_i_vector_ref" v219 r1508)))
(let ((r1511 (##core#inline "C_i_vector_set" v219 i222 r1525)))
(let ((r1514 (##core#inline
"C_i_vector_set"
v219
r1508
elt-i227)))
(let ((r1521 (##core#inline_allocate ("C_a_i_minus" 4) i222 1)))
(lp221 k1497 r1521))))))))
(random-int k1507 i222 random-state220))))
(k1497 (##core#undefined)))))))
(lp221 k1488 r1493))))))))))
(let ((t1531 (set! dig-maze
#f
(lambda (k1533 walls234 ncells235)
(let ((a1537 (lambda (k1539 quit236)
(let ((a1543 (lambda (k1545 wall237)
(let ((k1546 (##core#lambda
(r1547)
(let ((c1238 r1547))
(let ((k1549 (##core#lambda
(r1550)
(let ((set1239 r1550))
(let ((k1552 (##core#lambda
(r1553)
(let ((k1555 (##core#lambda
(r1556)
(let ((set2241 r1556))
(let ((k1598 (##core#lambda
(r1599)
(if r1599
(k1545 (##core#undefined))
(let ((k1564 (##core#lambda
(r1565)
(let ((walls242 r1565))
(let ((k1594 (##core#lambda
(r1595)
(let ((r1568 (##core#inline_allocate
("C_a_i_bitwise_not" 4)
r1595)))
(let ((wall-mask243 r1568))
(let ((k1570 (##core#lambda
(r1571)
(let ((k1573 (##core#lambda
(r1574)
(let ((k1586 (##core#lambda
(r1587)
(if (##core#inline "C_i_nequalp" r1587 ncells235)
(quit236 k1545 #f)
(k1545 (##core#undefined))))))
(set-size k1586 set1239)))))
(let ((r1591 (##core#inline_allocate
("C_a_i_bitwise_and" 4)
walls242
wall-mask243)))
(set-cell:walls k1573 c1238 r1591))))))
(union! k1570 set1239 set2241)))))))
(wall:bit k1594 wall237))))))
(cell:walls k1564 c1238))))))
(set-equal? k1598 set1239 set2241))))))
(cell:reachable k1555 r1553)))))
(wall:neighbor k1552 wall237))))))
(cell:reachable k1549 c1238))))))
(wall:owner k1546 wall237)))))
(vector-for-each-rev k1539 a1543 walls234)))))
(call-with-current-continuation k1533 a1537))))))
(let ((t1601 (set! dfs-maze
#f
(lambda (k1603 maze247 root248 do-children249)
(let ((search250 (##core#undefined)))
(let ((t1607 (set! search250
#f
(lambda (k1609 node251 parent252)
(let ((k1610 (##core#lambda
(r1611)
(let ((a1616 (lambda (k1618 child253)
(let ((r1630 (##core#inline "C_eqp" child253 parent252)))
(if r1630
(k1618 (##core#undefined))
(search250 k1618 child253 node251))))))
(do-children249 k1609 a1616 maze247 node251)))))
(set-cell:parent k1610 node251 parent252))))))
(search250 k1603 root248 #f)))))))
(let ((t1632 (set! reroot-maze
#f
(lambda (k1634 new-root257)
(let ((lp258 (##core#undefined)))
(let ((t1638 (set! lp258
#f
(lambda (k1640 node259 new-parent260)
(let ((k1641 (##core#lambda
(r1642)
(let ((old-parent261 r1642))
(let ((k1644 (##core#lambda
(r1645)
(if old-parent261
(lp258 k1640 old-parent261 node259)
(k1640 (##core#undefined))))))
(set-cell:parent k1644 node259 new-parent260))))))
(cell:parent k1641 node259))))))
(lp258 k1634 new-root257 #f)))))))
(let ((t1653 (set! path-length
#f
(lambda (k1655 cell265)
(let ((k1660 (##core#lambda
(r1661)
(let ((doloop266267 (##core#undefined)))
(let ((t1663 (set! doloop266267
#f
(lambda (k1665 len268 node269)
(let ((r1670 node269))
(if r1670
(let ((r1677 (##core#inline_allocate
("C_a_i_plus" 4)
len268
1)))
(let ((a1675 r1677))
(let ((k1680 (##core#lambda
(r1681)
(doloop266267 k1665 a1675 r1681))))
(cell:parent k1680 node269))))
(k1665 len268)))))))
(doloop266267 k1655 0 r1661))))))
(cell:parent k1660 cell265))))))
(let ((t1683 (set! mark-path
#f
(lambda (k1685 node272)
(let ((lp273 (##core#undefined)))
(let ((t1689 (set! lp273
#f
(lambda (k1691 node274)
(let ((k1692 (##core#lambda
(r1693)
(let ((k1695 (##core#lambda
(r1696)
(if r1696
(lp273 k1691 r1696)
(k1691 (##core#undefined))))))
(cell:parent k1695 node274)))))
(set-cell:mark k1692 node274 #t))))))
(lp273 k1685 node272)))))))
(let ((t1704 (set! make-harr
#f
(lambda (k1706 nrows284 ncols285 elts286)
(k1706 (##core#inline_allocate
("C_a_i_vector4" 5)
'harr
nrows284
ncols285
elts286))))))
(let ((t1710 (set! harr:nrows
#f
(lambda (k1712 o288)
(k1712 (##core#inline "C_i_vector_ref" o288 1))))))
(let ((t1716 (set! set-harr:nrows
#f
(lambda (k1718 o290 v291)
(k1718 (##core#inline "C_i_vector_set" o290 1 v291))))))
(let ((t1722 (set! harr:ncols
#f
(lambda (k1724 o293)
(k1724 (##core#inline "C_i_vector_ref" o293 2))))))
(let ((t1728 (set! set-harr:ncols
#f
(lambda (k1730 o295 v296)
(k1730 (##core#inline "C_i_vector_set" o295 2 v296))))))
(let ((t1734 (set! harr:elts
#f
(lambda (k1736 o298)
(k1736 (##core#inline "C_i_vector_ref" o298 3))))))
(let ((t1740 (set! set-harr:elts
#f
(lambda (k1742 o300 v301)
(k1742 (##core#inline "C_i_vector_set" o300 3 v301))))))
(let ((t1746 (set! harr
#f
(lambda (k1748 r303 c304)
(let ((k1753 (##core#lambda
(r1754)
(make-harr k1748 r303 c304 r1754))))
(let ((r1758 (##core#inline_allocate
("C_a_i_times" 4)
r303
c304)))
(make-vector k1753 r1758)))))))
(let ((t1760 (set! href
#f
(lambda (k1762 ha306 x307 y308)
(let ((k1763 (##core#lambda
(r1764)
(let ((r309 r1764))
(let ((k1766 (##core#lambda
(r1767)
(let ((c310 r1767))
(let ((k1773 (##core#lambda
(r1774)
(let ((a1772 r1774))
(let ((k1785 (##core#lambda
(r1786)
(let ((r1782 (##core#inline_allocate
("C_a_i_times" 4)
r1786
r309)))
(let ((r1778 (##core#inline_allocate
("C_a_i_plus" 4)
r1782
c310)))
(k1762 (##core#inline "C_i_vector_ref" a1772 r1778)))))))
(harr:ncols k1785 ha306))))))
(harr:elts k1773 ha306))))))
(div k1766 x307 3))))))
(div k1763 y308 2))))))
(let ((t1788 (set! hset!
#f
(lambda (k1790 ha312 x313 y314 val315)
(let ((k1791 (##core#lambda
(r1792)
(let ((r316 r1792))
(let ((k1794 (##core#lambda
(r1795)
(let ((c317 r1795))
(let ((k1801 (##core#lambda
(r1802)
(let ((a1800 r1802))
(let ((k1813 (##core#lambda
(r1814)
(let ((r1810 (##core#inline_allocate
("C_a_i_times" 4)
r1814
r316)))
(let ((r1806 (##core#inline_allocate
("C_a_i_plus" 4)
r1810
c317)))
(k1790 (##core#inline
"C_i_vector_set"
a1800
r1806
val315)))))))
(harr:ncols k1813 ha312))))))
(harr:elts k1801 ha312))))))
(div k1794 x313 3))))))
(div k1791 y314 2))))))
(let ((t1816 (set! href/rc
#f
(lambda (k1818 ha319 r320 c321)
(let ((k1823 (##core#lambda
(r1824)
(let ((a1822 r1824))
(let ((k1835 (##core#lambda
(r1836)
(let ((r1832 (##core#inline_allocate
("C_a_i_times" 4)
r1836
r320)))
(let ((r1828 (##core#inline_allocate
("C_a_i_plus" 4)
r1832
c321)))
(k1818 (##core#inline "C_i_vector_ref" a1822 r1828)))))))
(harr:ncols k1835 ha319))))))
(harr:elts k1823 ha319))))))
(let ((t1838 (set! harr-tabulate
#f
(lambda (k1840 nrows323 ncols324 proc325)
(let ((k1841 (##core#lambda
(r1842)
(let ((v326 r1842))
(let ((k1844 (##core#lambda
(r1845)
(make-harr k1840 nrows323 ncols324 v326))))
(let ((r1852 (##core#inline_allocate
("C_a_i_minus" 4)
nrows323
1)))
(let ((doloop327328 (##core#undefined)))
(let ((t1854 (set! doloop327328
#f
(lambda (k1856 r329)
(if (##core#inline "C_i_lessp" r329 0)
(k1856 (##core#undefined))
(let ((k1863 (##core#lambda
(r1864)
(let ((r1871 (##core#inline_allocate ("C_a_i_minus" 4) r329 1)))
(doloop327328 k1856 r1871)))))
(let ((r1875 (##core#inline_allocate
("C_a_i_times" 4)
r329
ncols324)))
(let ((doloop330331 (##core#undefined)))
(let ((t1877 (set! doloop330331
#f
(lambda (k1879 c332 i333)
(if (##core#inline "C_i_nequalp" c332 ncols324)
(k1879 (##core#undefined))
(let ((k1901 (##core#lambda
(r1902)
(let ((r1887 (##core#inline "C_i_vector_set" v326 i333 r1902)))
(let ((r1894 (##core#inline_allocate ("C_a_i_plus" 4) c332 1)))
(let ((r1898 (##core#inline_allocate ("C_a_i_plus" 4) i333 1)))
(doloop330331 k1879 r1894 r1898)))))))
(let ((r1906 (##core#inline_allocate ("C_a_i_times" 4) 3 c332)))
(let ((r1914 (##core#inline_allocate ("C_a_i_times" 4) 2 r329)))
(let ((r1918 (##core#inline_allocate
("C_a_i_bitwise_and" 4)
c332
1)))
(let ((r1910 (##core#inline_allocate
("C_a_i_plus" 4)
r1914
r1918)))
(proc325 k1901 r1906 r1910)))))))))))
(doloop330331 k1863 0 r1875))))))))))
(doloop327328 k1844 r1852)))))))))
(let ((r1922 (##core#inline_allocate
("C_a_i_times" 4)
nrows323
ncols324)))
(make-vector k1841 r1922)))))))
(let ((t1924 (set! harr-for-each
#f
(lambda (k1926 proc340 harr341)
(let ((k1931 (##core#lambda
(r1932)
(vector-for-each-rev k1926 proc340 r1932))))
(harr:elts k1931 harr341))))))
(let ((t1934 (set! south-west #t 1)))
(let ((t1935 (set! south #t 2)))
(let ((t1936 (set! south-east #t 4)))
(let ((t1937 (set! gen-maze-array
#f
(lambda (k1939 r346 c347)
(let ((a1943 (lambda (k1945 x348 y349)
(let ((k1950 (##core#lambda
(r1951)
(let ((r1955 (##core#inline_allocate
("C_a_i_cons" 3)
x348
y349)))
(make-cell k1945 r1951 r1955)))))
(base-set k1950 1)))))
(harr-tabulate k1939 r346 c347 a1943))))))
(let ((t1957 (set! make-wall-vec
#f
(lambda (k1959 harr351)
(let ((k1960 (##core#lambda
(r1961)
(let ((nrows352 r1961))
(let ((k1963 (##core#lambda
(r1964)
(let ((ncols353 r1964))
(let ((r2207 (##core#inline_allocate
("C_a_i_minus" 4)
ncols353
1)))
(let ((r1967 (##core#inline_allocate
("C_a_i_times" 4)
3
r2207)))
(let ((xmax354 r1967))
(let ((walls355 '()))
(let ((add-wall356
(lambda (k1970 o357 n358 b359)
(let ((k1976 (##core#lambda
(r1977)
(let ((r1973 (##core#inline_allocate
("C_a_i_cons" 3)
r1977
walls355)))
(let ((t1971 (set! walls355 #f r1973)))
(k1970 t1971))))))
(make-wall k1976 o357 n358 b359)))))
(let ((k1979 (##core#lambda
(r1980)
(let ((k1982 (##core#lambda
(r1983)
(vector-lib#list->vector k1959 walls355))))
(if (##core#inline "C_i_greaterp" ncols353 1)
(let ((k2079 (##core#lambda
(r2080)
(let ((r2076 (##core#inline_allocate
("C_a_i_times" 4)
6
r2080)))
(let ((r1992 (##core#inline_allocate ("C_a_i_plus" 4) 3 r2076)))
(let ((rmoc-x373 r1992))
(let ((k1994 (##core#lambda
(r1995)
(let ((rmoc-hex374 r1995))
(let ((k1997 (##core#lambda
(r1998)
(let ((k2000 (##core#lambda
(r2001)
(let ((r2008 (##core#inline_allocate
("C_a_i_minus" 4)
rmoc-x373
6)))
(let ((doloop376377 (##core#undefined)))
(let ((t2010 (set! doloop376377
#f
(lambda (k2012 x378)
(if (##core#inline "C_i_lessp" x378 3)
(k2012 (##core#undefined))
(let ((k2019 (##core#lambda
(r2020)
(let ((k2022 (##core#lambda
(r2023)
(let ((r2030 (##core#inline_allocate ("C_a_i_minus" 4) x378 6)))
(doloop376377 k2012 r2030)))))
(let ((k2033 (##core#lambda
(r2034)
(let ((a2032 r2034))
(let ((k2037 (##core#lambda
(r2038)
(add-wall356 k2022 a2032 r2038 south-east))))
(let ((r2042 (##core#inline_allocate ("C_a_i_plus" 4) x378 3)))
(href k2037 harr351 r2042 0)))))))
(href k2033 harr351 x378 1))))))
(let ((k2045 (##core#lambda
(r2046)
(let ((a2044 r2046))
(let ((k2049 (##core#lambda
(r2050)
(add-wall356 k2019 a2044 r2050 south-west))))
(let ((r2054 (##core#inline_allocate ("C_a_i_minus" 4) x378 3)))
(href k2049 harr351 r2054 0)))))))
(href k2045 harr351 x378 1))))))))
(doloop376377 k1982 r2008)))))))
(let ((k2057 (##core#lambda
(r2058)
(add-wall356 k2000 rmoc-hex374 r2058 south-west))))
(let ((r2062 (##core#inline_allocate
("C_a_i_minus" 4)
rmoc-x373
3)))
(href k2057 harr351 r2062 0)))))))
(if (##core#inline "C_i_lessp" rmoc-x373 xmax354)
(let ((k2071 (##core#lambda
(r2072)
(add-wall356 k1997 rmoc-hex374 r2072 south-east))))
(href k2071 harr351 xmax354 0))
(k1997 (##core#undefined))))))))
(href k1994 harr351 rmoc-x373 1))))))))
(let ((r2084 (##core#inline_allocate
("C_a_i_minus" 4)
ncols353
2)))
(div k2079 r2084 2)))
(k1982 (##core#undefined)))))))
(let ((r2203 (##core#inline_allocate
("C_a_i_minus" 4)
ncols353
1)))
(let ((r2088 (##core#inline_allocate
("C_a_i_times" 4)
r2203
3)))
(let ((doloop360361 (##core#undefined)))
(let ((t2090 (set! doloop360361
#f
(lambda (k2092 x362)
(if (##core#inline "C_i_lessp" x362 0)
(k2092 (##core#undefined))
(let ((k2099 (##core#lambda
(r2100)
(let ((r2107 (##core#inline_allocate ("C_a_i_minus" 4) x362 3)))
(doloop360361 k2092 r2107)))))
(let ((r2199 (##core#inline_allocate
("C_a_i_minus" 4)
nrows352
1)))
(let ((r2191 (##core#inline_allocate
("C_a_i_times" 4)
r2199
2)))
(let ((r2195 (##core#inline_allocate
("C_a_i_bitwise_and" 4)
x362
1)))
(let ((r2111 (##core#inline_allocate
("C_a_i_plus" 4)
r2191
r2195)))
(let ((doloop363364 (##core#undefined)))
(let ((t2113 (set! doloop363364
#f
(lambda (k2115 y365)
(if (##core#inline "C_i_less_or_equalp" y365 1)
(k2115 (##core#undefined))
(let ((k2122 (##core#lambda
(r2123)
(let ((hex366 r2123))
(let ((k2125 (##core#lambda
(r2126)
(let ((k2128 (##core#lambda
(r2129)
(let ((k2131 (##core#lambda
(r2132)
(let ((r2139 (##core#inline_allocate ("C_a_i_minus" 4) y365 2)))
(doloop363364 k2115 r2139)))))
(if (##core#inline "C_i_lessp" x362 xmax354)
(let ((k2148 (##core#lambda
(r2149)
(add-wall356 k2131 hex366 r2149 south-east))))
(let ((r2153 (##core#inline_allocate ("C_a_i_plus" 4) x362 3)))
(let ((r2157 (##core#inline_allocate ("C_a_i_minus" 4) y365 1)))
(href k2148 harr351 r2153 r2157))))
(k2131 (##core#undefined)))))))
(let ((k2160 (##core#lambda
(r2161)
(add-wall356 k2128 hex366 r2161 south))))
(let ((r2165 (##core#inline_allocate ("C_a_i_minus" 4) y365 2)))
(href k2160 harr351 x362 r2165)))))))
(if (##core#inline "C_i_zerop" x362)
(k2125 (##core#undefined))
(let ((k2174 (##core#lambda
(r2175)
(add-wall356 k2125 hex366 r2175 south-west))))
(let ((r2179 (##core#inline_allocate ("C_a_i_minus" 4) x362 3)))
(let ((r2183 (##core#inline_allocate ("C_a_i_minus" 4) y365 1)))
(href k2174 harr351 r2179 r2183))))))))))
(href k2122 harr351 x362 y365)))))))
(doloop363364 k2099 r2111)))))))))))))
(doloop360361 k1979 r2088)))))))))))))))
(harr:ncols k1963 harr351))))))
(harr:nrows k1960 harr351))))))
(let ((t2209 (set! pick-entrances
#f
(lambda (k2211 harr386)
(let ((k2212 (##core#lambda
(r2213)
(let ((k2215 (##core#lambda
(r2216)
(let ((nrows387 r2216))
(let ((k2218 (##core#lambda
(r2219)
(let ((ncols388 r2219))
(let ((r2226 (##core#inline_allocate
("C_a_i_minus" 4)
ncols388
1)))
(let ((tp-lp389 (##core#undefined)))
(let ((t2228 (set! tp-lp389
#f
(lambda (k2230 max-len390 entrance391 exit392 tcol393)
(if (##core#inline "C_i_lessp" tcol393 0)
(k2230 (##core#inline_allocate
("C_a_i_vector2" 3)
entrance391
exit392))
(let ((k2240 (##core#lambda
(r2241)
(let ((k2243 (##core#lambda
(r2244)
(let ((k2246 (##core#lambda
(r2247)
(let ((r2250 (##core#inline "C_i_vector_ref" r2247 0)))
(let ((r2253 (##core#inline "C_i_vector_ref" r2247 1)))
(let ((r2256 (##core#inline "C_i_vector_ref" r2247 2)))
(let ((r2263 (##core#inline_allocate
("C_a_i_minus" 4)
tcol393
1)))
(tp-lp389 k2230 r2250 r2253 r2256 r2263))))))))
(let ((r2267 (##core#inline_allocate
("C_a_i_minus" 4)
ncols388
1)))
(let ((bt-lp396 (##core#undefined)))
(let ((t2269 (set! bt-lp396
#f
(lambda (k2271 max-len397 entrance398 exit399 bcol400)
(if (##core#inline "C_i_lessp" bcol400 0)
(k2271 (##core#inline_allocate
("C_a_i_vector3" 4)
max-len397
entrance398
exit399))
(let ((k2281 (##core#lambda
(r2282)
(if (##core#inline "C_i_greaterp" r2282 max-len397)
(let ((r2295 (##core#inline_allocate
("C_a_i_minus" 4)
bcol400
1)))
(bt-lp396 k2271 r2282 tcol393 bcol400 r2295))
(let ((r2302 (##core#inline_allocate
("C_a_i_minus" 4)
bcol400
1)))
(bt-lp396
k2271
max-len397
entrance398
exit399
r2302))))))
(let ((k2305 (##core#lambda (r2306) (path-length k2281 r2306))))
(href/rc k2305 harr386 0 bcol400))))))))
(bt-lp396
k2246
max-len390
entrance391
exit392
r2267))))))))
(reroot-maze k2243 r2241)))))
(let ((r2310 (##core#inline_allocate
("C_a_i_minus" 4)
nrows387
1)))
(href/rc k2240 harr386 r2310 tcol393))))))))
(tp-lp389 k2211 -1 #f #f r2226))))))))
(harr:ncols k2218 harr386))))))
(harr:nrows k2215 harr386)))))
(let ((k2313 (##core#lambda
(r2314)
(dfs-maze k2212 harr386 r2314 for-each-hex-child))))
(href/rc k2313 harr386 0 0)))))))
(let ((t2316 (set! for-each-hex-child
#f
(lambda (k2318 proc410 harr411 cell412)
(let ((k2319 (##core#lambda
(r2320)
(let ((walls413 r2320))
(let ((k2322 (##core#lambda
(r2323)
(let ((r2326 (##core#inline "C_i_car" r2323)))
(let ((x415 r2326))
(let ((r2329 (##core#inline "C_i_cdr" r2323)))
(let ((y416 r2329))
(let ((k2331 (##core#lambda
(r2332)
(let ((nr417 r2332))
(let ((k2334 (##core#lambda
(r2335)
(let ((r2550 (##core#inline_allocate
("C_a_i_minus" 4)
nr417
1)))
(let ((r2338 (##core#inline_allocate
("C_a_i_times" 4)
2
r2550)))
(let ((maxy419 r2338))
(let ((r2546 (##core#inline_allocate
("C_a_i_minus" 4)
r2335
1)))
(let ((r2341 (##core#inline_allocate
("C_a_i_times" 4)
3
r2546)))
(let ((maxx420 r2341))
(let ((k2343 (##core#lambda
(r2344)
(let ((k2346 (##core#lambda
(r2347)
(let ((k2349 (##core#lambda
(r2350)
(let ((k2352 (##core#lambda
(r2353)
(let ((k2355 (##core#lambda
(r2356)
(let ((k2361 (##core#lambda
(r2362)
(if r2362
(let ((k2364 (##core#lambda
(r2365)
(let ((ne431 r2365))
(let ((k2377 (##core#lambda
(r2378)
(if r2378
(k2318 (##core#undefined))
(proc410 k2318 ne431)))))
(let ((k2381 (##core#lambda
(r2382)
(bit-test k2377 r2382 south-west))))
(cell:walls k2381 ne431)))))))
(let ((r2386 (##core#inline_allocate ("C_a_i_plus" 4) x415 3)))
(let ((r2390 (##core#inline_allocate ("C_a_i_plus" 4) y416 1)))
(href k2364 harr411 r2386 r2390))))
(k2318 (##core#undefined))))))
(if (##core#inline "C_i_lessp" x415 maxx420)
(let ((r2396 (##core#inline "C_i_less_or_equalp" y416 maxy419)))
(if r2396
(k2361 r2396)
(let ((k2405 (##core#lambda
(r2406)
(k2361 (##core#inline "C_i_zerop" r2406)))))
(mod k2405 x415 6))))
(k2361 #f))))))
(if (##core#inline "C_i_lessp" y416 maxy419)
(let ((k2411 (##core#lambda
(r2412)
(let ((n426 r2412))
(let ((k2424 (##core#lambda
(r2425)
(if r2425
(k2355 (##core#undefined))
(proc410 k2355 n426)))))
(let ((k2428 (##core#lambda
(r2429)
(bit-test k2424 r2429 south))))
(cell:walls k2428 n426)))))))
(let ((r2433 (##core#inline_allocate ("C_a_i_plus" 4) y416 2)))
(href k2411 harr411 x415 r2433)))
(k2355 (##core#undefined)))))))
(let ((k2435 (##core#lambda
(r2436)
(if r2436
(let ((k2438 (##core#lambda
(r2439)
(let ((nw425 r2439))
(let ((k2451 (##core#lambda
(r2452)
(if r2452
(k2352 (##core#undefined))
(proc410 k2352 nw425)))))
(let ((k2455 (##core#lambda
(r2456)
(bit-test k2451 r2456 south-east))))
(cell:walls k2455 nw425)))))))
(let ((r2460 (##core#inline_allocate ("C_a_i_minus" 4) x415 3)))
(let ((r2464 (##core#inline_allocate ("C_a_i_plus" 4) y416 1)))
(href k2438 harr411 r2460 r2464))))
(k2352 (##core#undefined))))))
(if (##core#inline "C_i_greaterp" x415 0)
(let ((r2470 (##core#inline "C_i_less_or_equalp" y416 maxy419)))
(if r2470
(k2435 r2470)
(let ((k2479 (##core#lambda
(r2480)
(k2435 (##core#inline "C_i_zerop" r2480)))))
(mod k2479 x415 6))))
(k2435 #f)))))))
(let ((k2501 (##core#lambda
(r2502)
(if r2502
(k2349 (##core#undefined))
(let ((k2489 (##core#lambda (r2490) (proc410 k2349 r2490))))
(let ((r2494 (##core#inline_allocate ("C_a_i_plus" 4) x415 3)))
(let ((r2498 (##core#inline_allocate ("C_a_i_minus" 4) y416 1)))
(href k2489 harr411 r2494 r2498))))))))
(bit-test k2501 walls413 south-east))))))
(let ((k2519 (##core#lambda
(r2520)
(if r2520
(k2346 (##core#undefined))
(let ((k2511 (##core#lambda (r2512) (proc410 k2346 r2512))))
(let ((r2516 (##core#inline_allocate ("C_a_i_minus" 4) y416 2)))
(href k2511 harr411 x415 r2516)))))))
(bit-test k2519 walls413 south))))))
(let ((k2541 (##core#lambda
(r2542)
(if r2542
(k2343 (##core#undefined))
(let ((k2529 (##core#lambda (r2530) (proc410 k2343 r2530))))
(let ((r2534 (##core#inline_allocate ("C_a_i_minus" 4) x415 3)))
(let ((r2538 (##core#inline_allocate ("C_a_i_minus" 4) y416 1)))
(href k2529 harr411 r2534 r2538))))))))
(bit-test k2541 walls413 south-west))))))))))))
(harr:ncols k2334 harr411))))))
(harr:nrows k2331 harr411)))))))))
(cell:id k2322 cell412))))))
(cell:walls k2319 cell412))))))
(let ((t2552 (set! make-maze
#f
(lambda (k2554 nrows438 ncols439)
(let ((k2555 (##core#lambda
(r2556)
(let ((cells440 r2556))
(let ((k2558 (##core#lambda
(r2559)
(let ((k2561 (##core#lambda
(r2562)
(let ((k2564 (##core#lambda
(r2565)
(let ((r2568 (##core#inline "C_i_vector_ref" r2565 0)))
(let ((entrance443 r2568))
(let ((r2571 (##core#inline "C_i_vector_ref" r2565 1)))
(let ((exit444 r2571))
(let ((k2573 (##core#lambda
(r2574)
(let ((exit-cell445 r2574))
(let ((k2576 (##core#lambda
(r2577)
(let ((walls446 r2577))
(let ((k2579 (##core#lambda
(r2580)
(let ((k2582 (##core#lambda
(r2583)
(let ((k2585 (##core#lambda
(r2586)
(k2554 (##core#inline_allocate
("C_a_i_vector3" 4)
cells440
entrance443
exit444)))))
(let ((r2597 (##core#inline_allocate
("C_a_i_bitwise_not" 4)
south)))
(let ((r2593 (##core#inline_allocate
("C_a_i_bitwise_and" 4)
walls446
r2597)))
(set-cell:walls k2585 exit-cell445 r2593)))))))
(mark-path k2582 exit-cell445)))))
(let ((k2600 (##core#lambda (r2601) (reroot-maze k2579 r2601))))
(let ((r2605 (##core#inline_allocate
("C_a_i_minus" 4)
nrows438
1)))
(href/rc k2600 cells440 r2605 entrance443))))))))
(cell:walls k2576 exit-cell445))))))
(href/rc k2573 cells440 0 exit444)))))))))
(pick-entrances k2564 cells440)))))
(let ((r2609 (##core#inline_allocate
("C_a_i_times" 4)
nrows438
ncols439)))
(dig-maze k2561 r2559 r2609))))))
(let ((k2612 (##core#lambda
(r2613)
(let ((a2611 r2613))
(let ((k2616 (##core#lambda
(r2617)
(permute-vec! k2558 a2611 r2617))))
(random-state k2616 20))))))
(make-wall-vec k2612 cells440)))))))
(gen-maze-array k2555 nrows438 ncols439))))))
(let ((t2619 (set! pmaze
#f
(lambda (k2621 nrows452 ncols453)
(let ((k2622 (##core#lambda
(r2623)
(let ((r2626 (##core#inline "C_i_vector_ref" r2623 0)))
(let ((r2629 (##core#inline "C_i_vector_ref" r2623 1)))
(let ((r2632 (##core#inline "C_i_vector_ref" r2623 2)))
(print-hexmaze k2621 r2626 r2629)))))))
(make-maze k2622 nrows452 ncols453))))))
(let ((t2637 (set! output #f #f)))
(let ((t2638 (set! write-ch
#f
(lambda (k2640 c460)
(let ((r2643 (##core#inline_allocate
("C_a_i_cons" 3)
c460
output)))
(let ((t2641 (set! output #f r2643)))
(k2640 t2641)))))))
(let ((t2645 (set! print-hexmaze
#f
(lambda (k2647 harr462 entrance463)
(let ((k2648 (##core#lambda
(r2649)
(let ((nrows464 r2649))
(let ((k2651 (##core#lambda
(r2652)
(let ((ncols465 r2652))
(let ((k2947 (##core#lambda
(r2948)
(let ((r2655 (##core#inline_allocate
("C_a_i_times" 4)
2
r2948)))
(let ((ncols2466 r2655))
(let ((k2657 (##core#lambda
(r2658)
(let ((k2660 (##core#lambda
(r2661)
(let ((k2663 (##core#lambda
(r2664)
(let ((k2666 (##core#lambda
(r2667)
(let ((k2669 (##core#lambda
(r2670)
(let ((k2672 (##core#lambda
(r2673)
(let ((r2680 (##core#inline_allocate
("C_a_i_minus" 4)
nrows464
1)))
(let ((doloop483484 (##core#undefined)))
(let ((t2682 (set! doloop483484
#f
(lambda (k2684 r485)
(if (##core#inline "C_i_lessp" r485 0)
(k2684 (##core#undefined))
(let ((k2691 (##core#lambda
(r2692)
(let ((k2694 (##core#lambda
(r2695)
(let ((k2697 (##core#lambda
(r2698)
(let ((k2700 (##core#lambda
(r2701)
(let ((k2703 (##core#lambda
(r2704)
(let ((k2706 (##core#lambda
(r2707)
(let ((k2709 (##core#lambda
(r2710)
(let ((r2717 (##core#inline_allocate ("C_a_i_minus" 4) r485 1)))
(doloop483484 k2684 r2717)))))
(write-ch k2709 #\newline)))))
(if (##core#inline "C_i_oddp" ncols465)
(let ((k2726 (##core#lambda
(r2727)
(display-hexbottom k2706 r2727))))
(let ((k2730 (##core#lambda (r2731) (cell:walls k2726 r2731))))
(let ((r2735 (##core#inline_allocate
("C_a_i_minus" 4)
ncols465
1)))
(href/rc k2730 harr462 r485 r2735))))
(if (##core#inline "C_i_zerop" r485)
(k2706 (##core#undefined))
(write-ch k2706 #\\)))))))
(let ((doloop497498 (##core#undefined)))
(let ((t2750 (set! doloop497498
#f
(lambda (k2752 c499)
(if (##core#inline
"C_i_greater_or_equalp"
c499
ncols2466)
(k2752 (##core#undefined))
(let ((k2759 (##core#lambda
(r2760)
(let ((k2762 (##core#lambda
(r2763)
(let ((r2770 (##core#inline_allocate ("C_a_i_plus" 4) c499 2)))
(doloop497498 k2752 r2770)))))
(let ((k2773 (##core#lambda (r2774) (write-ch k2762 r2774))))
(let ((r2778 (##core#inline_allocate ("C_a_i_minus" 4) r485 1)))
(let ((r2782 (##core#inline_allocate ("C_a_i_plus" 4) c499 1)))
(dot/space k2773 harr462 r2778 r2782))))))))
(let ((k2785 (##core#lambda
(r2786)
(display-hexbottom k2759 r2786))))
(let ((k2789 (##core#lambda (r2790) (cell:walls k2785 r2790))))
(href/rc k2789 harr462 r485 c499)))))))))
(doloop497498 k2703 0)))))))
(write-ch k2700 #\newline)))))
(if (##core#inline "C_i_oddp" ncols465)
(let ((k2795 (##core#lambda (r2796) (write-ch k2697 #\\))))
(let ((k2802 (##core#lambda (r2803) (write-ch k2795 r2803))))
(let ((r2807 (##core#inline_allocate
("C_a_i_minus" 4)
ncols465
1)))
(dot/space k2802 harr462 r485 r2807))))
(k2697 (##core#undefined)))))))
(let ((doloop486487 (##core#undefined)))
(let ((t2809 (set! doloop486487
#f
(lambda (k2811 c488)
(if (##core#inline
"C_i_greater_or_equalp"
c488
ncols2466)
(k2811 (##core#undefined))
(let ((k2818 (##core#lambda
(r2819)
(let ((k2821 (##core#lambda
(r2822)
(let ((r2829 (##core#inline_allocate ("C_a_i_plus" 4) c488 2)))
(doloop486487 k2811 r2829)))))
(let ((k2832 (##core#lambda
(r2833)
(display-hexbottom k2821 r2833))))
(let ((k2836 (##core#lambda (r2837) (cell:walls k2832 r2837))))
(href/rc k2836 harr462 r485 c488)))))))
(let ((k2840 (##core#lambda (r2841) (write-ch k2818 r2841))))
(let ((r2845 (##core#inline_allocate ("C_a_i_minus" 4) c488 1)))
(dot/space k2840 harr462 r485 r2845)))))))))
(doloop486487 k2694 1)))))))
(write-ch k2691 #\/)))))))
(doloop483484 k2647 r2680)))))))
(write-ch k2672 #\newline)))))
(if (##core#inline "C_i_oddp" ncols465)
(let ((r2862 (##core#inline_allocate
("C_a_i_minus" 4)
ncols465
1)))
(let ((r2858 (##core#inline "C_i_nequalp" entrance463 r2862)))
(let ((r2855 (##core#cond r2858 #\space #\_)))
(write-ch k2669 r2855))))
(k2669 (##core#undefined)))))))
(let ((doloop475476 (##core#undefined)))
(let ((t2864 (set! doloop475476
#f
(lambda (k2866 c477)
(if (##core#inline
"C_i_greater_or_equalp"
c477
ncols2466)
(k2866 (##core#undefined))
(let ((k2873 (##core#lambda
(r2874)
(let ((k2876 (##core#lambda
(r2877)
(let ((k2879 (##core#lambda
(r2880)
(let ((k2882 (##core#lambda
(r2883)
(let ((r2890 (##core#inline_allocate ("C_a_i_plus" 4) c477 2)))
(doloop475476 k2866 r2890)))))
(write-ch k2882 #\\)))))
(let ((k2893 (##core#lambda (r2894) (write-ch k2879 r2894))))
(let ((r2898 (##core#inline_allocate
("C_a_i_minus" 4)
nrows464
1)))
(let ((r2902 (##core#inline_allocate ("C_a_i_plus" 4) c477 1)))
(dot/space k2893 harr462 r2898 r2902))))))))
(write-ch k2876 #\/)))))
(let ((r2909 (##core#inline "C_i_nequalp" c477 entrance463)))
(let ((r2906 (##core#cond r2909 #\space #\_)))
(write-ch k2873 r2906)))))))))
(doloop475476 k2666 0)))))))
(write-ch k2663 #\space)))))
(write-ch k2660 #\newline)))))
(let ((doloop467468 (##core#undefined)))
(let ((t2911 (set! doloop467468
#f
(lambda (k2913 c469)
(if (##core#inline
"C_i_greater_or_equalp"
c469
ncols465)
(k2913 (##core#undefined))
(let ((k2920 (##core#lambda
(r2921)
(let ((k2923 (##core#lambda
(r2924)
(let ((k2926 (##core#lambda
(r2927)
(let ((k2929 (##core#lambda
(r2930)
(let ((r2937 (##core#inline_allocate ("C_a_i_plus" 4) c469 2)))
(doloop467468 k2913 r2937)))))
(let ((r2944 (##core#inline "C_i_nequalp" c469 entrance463)))
(let ((r2941 (##core#cond r2944 #\space #\_)))
(write-ch k2929 r2941)))))))
(write-ch k2926 #\space)))))
(write-ch k2923 #\space)))))
(write-ch k2920 #\space)))))))
(doloop467468 k2657 1)))))))))
(div k2947 ncols465 2))))))
(harr:ncols k2651 harr462))))))
(harr:nrows k2648 harr462))))))
(let ((t2950 (set! bit-test
#f
(lambda (k2952 j522 bit523)
(let ((r2962 (##core#inline_allocate
("C_a_i_bitwise_and" 4)
j522
bit523)))
(let ((r2958 (##core#inline "C_i_zerop" r2962)))
(k2952 (##core#inline "C_i_not" r2958))))))))
(let ((t2964 (set! dot/space
#f
(lambda (k2966 harr525 r526 c527)
(let ((k2970 (##core#lambda
(r2971)
(k2966 (##core#cond r2971 #\. #\space)))))
(if (##core#inline "C_i_greater_or_equalp" r526 0)
(let ((k2980 (##core#lambda (r2981) (cell:mark k2970 r2981))))
(href/rc k2980 harr525 r526 c527))
(k2970 #f)))))))
(let ((t2983 (set! display-hexbottom
#f
(lambda (k2985 hexwalls530)
(let ((k2986 (##core#lambda
(r2987)
(let ((k2989 (##core#lambda
(r2990)
(let ((k2999 (##core#lambda
(r3000)
(let ((r2997 (##core#cond r3000 #\/ #\space)))
(write-ch k2985 r2997)))))
(bit-test k2999 hexwalls530 south-east)))))
(let ((k3006 (##core#lambda
(r3007)
(let ((r3004 (##core#cond r3007 #\_ #\space)))
(write-ch k2989 r3004)))))
(bit-test k3006 hexwalls530 south))))))
(let ((k3013 (##core#lambda
(r3014)
(let ((r3011 (##core#cond r3014 #\\ #\space)))
(write-ch k2986 r3011)))))
(bit-test k3013 hexwalls530 south-west)))))))
(let ((t3016 (set! run
#f
(lambda (k3018 nrows534 ncols535)
(let ((t3019 (set! output #t '())))
(let ((k3020 (##core#lambda (r3021) (reverse k3018 output))))
(pmaze k3020 nrows534 ncols535)))))))
(let ((t3026 (set! main
#f
(lambda (k3028)
(let ((k3029 (##core#lambda
(r3030)
(let ((count539 r3030))
(let ((k3032 (##core#lambda
(r3033)
(let ((input1540 r3033))
(let ((k3035 (##core#lambda
(r3036)
(let ((input2541 r3036))
(let ((k3038 (##core#lambda
(r3039)
(let ((output542 r3039))
(let ((k3041 (##core#lambda
(r3042)
(let ((s3543 r3042))
(let ((k3044 (##core#lambda
(r3045)
(let ((s2544 r3045))
(let ((k3047 (##core#lambda
(r3048)
(let ((k3054 (##core#lambda
(r3055)
(let ((a3057 (lambda (k3059)
(let ((k3064 (##core#lambda
(r3065)
(let ((a3063 r3065))
(let ((k3068 (##core#lambda (r3069) (run k3059 a3063 r3069))))
(hide k3068 count539 input2541))))))
(hide k3064 count539 input1540)))))
(let ((a3071 (lambda (k3073 result547)
(k3073 (##core#inline "C_i_equalp" result547 output542)))))
(run-r7rs-benchmark
k3028
r3055
count539
a3057
a3071))))))
(string-append
k3054
"maze"
":"
r3048
":"
s2544
":"
s3543)))))
(number->string k3047 input1540))))))
(number->string k3044 input2541))))))
(number->string k3041 count539))))))
(read k3038))))))
(read k3035))))))
(read k3032))))))
(read k3029))))))
(let ((t3077 (set! hide
#f
(lambda (k3079 r549 x550)
(let ((a3083 (lambda (k3085)
(let ((a3100 (lambda (k3102 x551) (k3102 x551))))
(let ((r3091 (##core#inline_allocate
("C_a_i_vector2" 3)
values
a3100)))
(let ((r3098 (##core#inline "C_i_lessp" r549 100)))
(let ((r3095 (##core#cond r3098 0 1)))
((##core#proc "C_values" #t) k3085 r3091 r3095))))))))
(let ((a3103 (lambda (k3105 v552 i553)
(let ((r3107 (##core#inline "C_i_vector_ref" v552 i553)))
(r3107 k3105 x550)))))
((##core#proc "C_call_with_values" #t)
k3079
a3083
a3103)))))))
(let ((t3112 (set! run-r7rs-benchmark
#f
(lambda (k3114 name557 count558 thunk559 ok?560)
(let ((k3129 (##core#lambda
(r3130)
(let ((k3132 (##core#lambda
(r3133)
(let ((k3135 (##core#lambda
(r3136)
(let ((k3138 (##core#lambda
(r3139)
(let ((k3141 (##core#lambda
(r3142)
(let ((j/s563 r3142))
(let ((k3144 (##core#lambda
(r3145)
(let ((t0564 r3145))
(let ((k3147 (##core#lambda
(r3148)
(let ((j0565 r3148))
(let ((loop566 (##core#undefined)))
(let ((t3153 (set! loop566
#f
(lambda (k3155 i567 result568)
(if (##core#inline "C_i_lessp" i567 count558)
(let ((r3167 (##core#inline_allocate ("C_a_i_plus" 4) i567 1)))
(let ((a3165 r3167))
(let ((k3170 (##core#lambda
(r3171)
(loop566 k3155 a3165 r3171))))
(thunk559 k3170))))
(let ((k3176 (##core#lambda
(r3177)
(if r3177
(let ((k3179 (##core#lambda
(r3180)
(let ((j1573 r3180))
(let ((k3182 (##core#lambda
(r3183)
(let ((t1574 r3183))
(let ((r3186 (##core#inline_allocate
("C_a_i_minus" 4)
j1573
j0565)))
(let ((k3188 (##core#lambda
(r3189)
(let ((secs576 r3189))
(let ((k3191 (##core#lambda
(r3192)
(let ((secs2577 r3192))
(let ((k3194 (##core#lambda
(r3195)
(let ((k3197 (##core#lambda
(r3198)
(let ((k3200 (##core#lambda
(r3201)
(let ((k3203 (##core#lambda
(r3204)
(let ((k3206 (##core#lambda
(r3207)
(let ((k3209 (##core#lambda
(r3210)
(let ((k3212 (##core#lambda
(r3213)
(let ((k3215 (##core#lambda
(r3216)
(let ((k3218 (##core#lambda
(r3219)
(let ((k3221 (##core#lambda
(r3222)
(let ((k3224 (##core#lambda
(r3225)
(let ((k3227 (##core#lambda
(r3228)
(let ((k3230 (##core#lambda
(r3231)
(let ((k3233 (##core#lambda
(r3234)
(let ((k3236 (##core#lambda (r3237) (k3155 result568))))
(let ((r3241 ##sys#standard-output))
(flush-output-port k3236 ##sys#standard-output))))))
(newline k3233)))))
(display k3230 secs576)))))
(display k3227 ",")))))
(display k3224 name557)))))
(display k3221 ",")))))
(let ((k3244 (##core#lambda (r3245) (display k3218 r3245))))
(this-scheme-implementation-name k3244))))))
(display k3215 "+!CSVLINE!+")))))
(newline k3212)))))
(display k3209 name557)))))
(display k3206 ") for ")))))
(write k3203 secs2577)))))
(display k3200 " seconds (")))))
(write k3197 secs576)))))
(display k3194 "Elapsed time: "))))))
(let ((r3249 (##core#inline_allocate
("C_a_i_minus" 4)
t1574
t0564)))
(let ((k3117 k3191))
(let ((k3122 (##core#lambda
(r3123)
(k3117 (##core#inline_allocate
("C_a_i_divide" 4)
r3123
1000)))))
(let ((r3127 (##core#inline_allocate
("C_a_i_times" 4)
1000
r3249)))
(round k3122 r3127))))))))))
(let ((r3253 (##core#inline_allocate
("C_a_i_divide" 4)
r3186
j/s563)))
(inexact k3188 r3253))))))))
(current-second k3182))))))
(current-jiffy k3179))
(let ((k3255 (##core#lambda
(r3256)
(let ((k3258 (##core#lambda
(r3259)
(let ((k3261 (##core#lambda
(r3262)
(let ((k3264 (##core#lambda (r3265) (k3155 result568))))
(let ((r3269 ##sys#standard-output))
(flush-output-port k3264 ##sys#standard-output))))))
(newline k3261)))))
(write k3258 result568)))))
(display
k3255
"ERROR: returned incorrect result: "))))))
(ok?560 k3176 result568)))))))
(loop566 k3114 0 #f)))))))
(current-jiffy k3147))))))
(current-second k3144))))))
(jiffies-per-second k3141)))))
(let ((r3273 ##sys#standard-output))
(flush-output-port k3138 ##sys#standard-output))))))
(newline k3135)))))
(display k3132 name557)))))
(display k3129 "Running "))))))
(let ((k3275 (##core#lambda
(r3276)
(let ((k3278 (##core#lambda (r3279) (k924 (##core#undefined)))))
(let ((k3281 (##core#lambda (r3282) (r3282 k3278))))
(##sys#implicit-exit-handler k3281))))))
(main k3275)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
(##sys#require k937 'vector-lib)))))
(##core#callunit "extras" k934)))))
(##core#callunit "chicken_2dsyntax" k931)))))
(##core#callunit "eval" k928)))))
(##core#callunit "library" k925)))