[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)))