15143346 5779740 3540682 5822924 NEXTS 2038446 793119 442464 802863 ;s 1995025 787457 428114 779454 col: 1355759 503162 283813 568784 @ 765602 275772 183685 306145 ?branch 700996 246049 141642 313305 lit 674069 270409 125561 278099 col: col: 519952 151876 36627 331449 var: 515649 208841 126882 179926 dup 486243 254487 131630 100126 user: 457720 109479 44542 303699 swap 419537 156910 98260 164367 + 402746 208519 109785 84442 user: @ 402579 209151 103852 89576 @ ;s 401507 174555 73650 153302 ;s ;s 381210 98308 17331 265571 var: @ 377418 164606 70945 141867 con: 354087 95407 33153 225527 ;s col: 309835 182862 60124 66849 >r 292806 173229 57072 62505 r> 275656 28804 16214 230638 0= 251576 126970 68518 56088 user: @ ;s 248438 121046 70632 56760 col: user: 248104 120712 70632 56760 col: user: @ 216244 105626 60494 50124 col: col: user: @ 216244 105626 60494 50124 col: col: user: 212251 104129 58946 49176 col: user: @ ;s 203922 100088 56464 47370 col: col: user: @ ;s 199820 91949 8004 99867 col: var: 196434 55035 27799 113600 and 192467 68884 21938 101645 c@ 187718 83969 57687 46062 ! 182861 99558 41195 42108 over 170810 36514 22562 111734 col: lit 169028 44781 19153 105094 col: con: 167571 31201 41220 95150 cells 167474 57880 12340 97254 rot 165683 82438 47254 35991 2dup 164287 46640 18903 98744 lit col: 159526 63073 6175 90278 col: var: @ 153550 49352 10997 93201 ;s col: col: 149816 73999 49793 26024 dup ?branch 148765 42409 18509 87847 ?branch lit 142644 66254 48157 28233 ;s @ 141586 55741 43102 42743 branch 139323 0 139323 0 @local1 135658 48991 394 86273 col: col: var: 132375 53809 51672 26894 ;s dup 131373 46307 0 85066 col: col: var: @ 129236 46217 24350 58669 +! 127031 61331 37581 28119 col: col: col: 124565 73765 22169 28631 r@ 121258 19748 19543 81967 = 118775 18113 18986 81676 = ?branch 118088 21332 6278 90478 lit col: col: 116035 52796 35160 28079 ! ;s 112276 20152 4945 87179 + swap 111648 39594 17275 54779 +! ;s 111423 42444 34770 34209 defer: 109783 76322 17118 16343 con: col: 108908 55593 29618 23697 ;s @ ;s 108895 55520 29678 23697 user: @ ;s @ 108895 55520 29678 23697 col: user: @ ;s @ 108895 55520 29678 23697 col: col: user: @ ;s @ 108895 55520 29678 23697 @ ;s @ 108835 55520 29618 23697 user: @ ;s @ ;s 108835 55520 29618 23697 col: user: @ ;s @ ;s 108835 55520 29618 23697 @ ;s @ ;s 108626 0 108626 0 >l 107819 47709 34723 25387 field: 106079 55162 25900 25017 col: dup 106058 43162 42530 20366 ;s dup ?branch 103985 37694 18983 47308 <> 103908 47701 31113 25094 field: @ 102930 50665 26789 25476 lit and 102443 12427 6036 83980 @ dup 102351 11144 4751 86456 rot + swap 102351 11144 4751 86456 rot + 101933 11014 4755 86164 c@ ;s 101841 74745 12327 14769 c! 101661 8350 5782 87529 ;s swap 101650 36311 18325 47014 <> ?branch 101169 9853 5732 85584 and 0= 100983 9776 4751 86456 /mod 99120 47603 39014 12503 i 97022 38475 38079 20468 drop 96461 5054 5071 86336 col: col: con: 96125 33283 38718 24124 cell+ 93268 44934 18542 29792 count 92563 2056 7533 82974 ;s col: lit 92381 22723 8638 61020 0= ?branch 92040 41023 29797 21220 ;s con: 89779 35869 33024 20886 - 88442 7667 43 80732 swap ;s 88331 7605 0 80726 + swap ;s 87343 45645 21280 20418 ?branch col: 87199 34933 18457 33809 ;s lit 85910 0 0 85910 0= 0= 85420 4918 13 80489 @ = 85359 4918 13 80428 @ = ?branch 84258 249 2912 81097 dup var: 84132 43533 14258 26341 @ + 83734 43424 24082 16228 ;s ;s ;s 83476 40655 24427 18394 defer: col: 83440 20 2905 80515 @ dup var: 83404 31647 32586 19171 + ;s 83191 1162 568 81461 @ and 83013 0 2588 80425 0= ;s 82851 2043 51 80757 var: @ dup 82312 5 10 82297 lit swap 82288 0 0 82288 col: lit swap 81775 1246 51 80478 col: var: @ dup 81511 781 1 80729 lshift ;s 81511 781 1 80729 lshift 80781 0 360 80421 swap @ 80747 13 4 80730 swap ;s col: 80726 0 0 80726 swap lshift ;s 80726 0 0 80726 swap lshift 80726 0 0 80726 swap ;s col: lit swap lshift 80726 0 0 80726 swap ;s col: lit swap 80726 0 0 80726 swap ;s col: lit 80726 0 0 80726 rot + swap ;s col: lit 80726 0 0 80726 rot + swap ;s col: 80726 0 0 80726 rot + swap ;s 80726 0 0 80726 lit swap lshift ;s 80726 0 0 80726 lit swap lshift 80726 0 0 80726 con: /mod cells rot + swap 80726 0 0 80726 con: /mod cells rot + 80726 0 0 80726 con: /mod cells rot 80726 0 0 80726 con: /mod cells 80726 0 0 80726 con: /mod 80726 0 0 80726 col: lit swap lshift ;s 80726 0 0 80726 col: lit swap lshift 80726 0 0 80726 col: con: /mod cells rot + 80726 0 0 80726 col: con: /mod cells rot 80726 0 0 80726 col: con: /mod cells 80726 0 0 80726 col: con: /mod 80726 0 0 80726 cells rot + swap ;s col: 80726 0 0 80726 cells rot + swap ;s 80726 0 0 80726 cells rot + swap 80726 0 0 80726 cells rot + 80726 0 0 80726 cells rot 80726 0 0 80726 ;s col: lit swap lshift ;s 80726 0 0 80726 ;s col: lit swap lshift 80726 0 0 80726 ;s col: lit swap 80726 0 0 80726 /mod cells rot + swap ;s 80726 0 0 80726 /mod cells rot + swap 80726 0 0 80726 /mod cells rot + 80726 0 0 80726 /mod cells rot 80726 0 0 80726 /mod cells 80726 0 0 80726 + swap ;s col: lit swap 80726 0 0 80726 + swap ;s col: lit 80726 0 0 80726 + swap ;s col: 80646 0 0 80646 and 0= 0= 80494 20 25 80449 var: @ dup var: 80494 20 25 80449 col: var: @ dup var: 80457 28 4 80425 c@ ;s col: 80448 20 0 80428 ;s col: col: con: 80423 1 0 80422 var: @ = ?branch 80423 1 0 80422 var: @ = 80421 0 0 80421 var: @ dup var: @ = 80421 0 0 80421 var: @ dup var: @ 80421 0 0 80421 swap lshift ;s swap @ and 80421 0 0 80421 swap lshift ;s swap @ 80421 0 0 80421 swap lshift ;s swap 80421 0 0 80421 swap @ and 0= 0= ;s 80421 0 0 80421 swap @ and 0= 0= 80421 0 0 80421 swap @ and 0= 80421 0 0 80421 swap @ and 80421 0 0 80421 lshift ;s swap @ and 0= 80421 0 0 80421 lshift ;s swap @ and 80421 0 0 80421 lshift ;s swap @ 80421 0 0 80421 lshift ;s swap 80421 0 0 80421 lit swap lshift ;s swap @ 80421 0 0 80421 lit swap lshift ;s swap 80421 0 0 80421 lit col: col: var: @ dup 80421 0 0 80421 lit col: col: var: @ 80421 0 0 80421 lit col: col: var: 80421 0 0 80421 dup var: @ = ?branch 80421 0 0 80421 dup var: @ = 80421 0 0 80421 dup var: @ 80421 0 0 80421 col: var: @ dup var: @ 80421 0 0 80421 col: lit swap lshift ;s swap 80421 0 0 80421 col: col: var: @ dup var: 80421 0 0 80421 col: col: var: @ dup 80421 0 0 80421 col: col: con: /mod cells rot 80421 0 0 80421 col: col: con: /mod cells 80421 0 0 80421 col: col: con: /mod 80421 0 0 80421 and 0= 0= ;s ;s 80421 0 0 80421 and 0= 0= ;s 80421 0 0 80421 @ dup var: @ = ?branch 80421 0 0 80421 @ dup var: @ = 80421 0 0 80421 @ dup var: @ 80421 0 0 80421 @ and 0= 0= ;s ;s 80421 0 0 80421 @ and 0= 0= ;s 80421 0 0 80421 @ and 0= 0= 80421 0 0 80421 @ and 0= 80421 0 0 80421 ;s swap @ and 0= 0= 80421 0 0 80421 ;s swap @ and 0= 80421 0 0 80421 ;s swap @ and 80421 0 0 80421 ;s swap @ 80421 0 0 80421 ;s col: col: con: /mod cells 80421 0 0 80421 ;s col: col: con: /mod 80421 0 0 80421 0= ;s ;s 80421 0 0 80421 0= 0= ;s ;s 80421 0 0 80421 0= 0= ;s 80415 0 0 80415 var: @ = ?branch c@ ;s 80415 0 0 80415 var: @ = ?branch c@ 80415 0 0 80415 dup var: @ = ?branch c@ 80415 0 0 80415 c@ ;s col: col: con: /mod 80415 0 0 80415 c@ ;s col: col: con: 80415 0 0 80415 c@ ;s col: col: 80415 0 0 80415 @ = ?branch c@ ;s col: 80415 0 0 80415 @ = ?branch c@ ;s 80415 0 0 80415 @ = ?branch c@ 80415 0 0 80415 ?branch c@ ;s col: col: con: 80415 0 0 80415 ?branch c@ ;s col: col: 80415 0 0 80415 ?branch c@ ;s col: 80415 0 0 80415 ?branch c@ ;s 80415 0 0 80415 ?branch c@ 80415 0 0 80415 = ?branch c@ ;s col: col: 80415 0 0 80415 = ?branch c@ ;s col: 80415 0 0 80415 = ?branch c@ ;s 80415 0 0 80415 = ?branch c@ 79644 27806 6564 45274 ;s ;s col: 77857 28954 26630 22273 col: col: col: user: @ 77857 28954 26630 22273 col: col: col: user: 75428 27788 26338 21302 col: col: col: user: @ ;s 75337 29745 20391 25201 execute 73426 45805 14153 13468 (loop) 72370 34611 19847 17912 ?branch ;s 72307 29204 19793 23310 execute col: 71709 37584 18304 15821 ;s ;s dup 69866 0 69866 0 lp- 69866 0 69866 0 >l lp- 67323 41492 12127 13704 c! ;s 67084 36015 14961 16108 con: col: col: 66208 0 66208 0 lp- @local1 66208 0 66208 0 >l lp- @local1 65843 36473 16730 12640 user: ! 64719 20570 4649 39500 <> ?branch lit 64545 10365 12985 41195 ;s ?branch 64364 31733 18226 14405 ;s ;s dup ?branch 64291 41637 13568 9086 /string 64062 55618 7432 1012 um/mod r> 64062 55618 7432 1012 um/mod 63029 18001 12164 32864 ;s branch 62005 31532 13185 17288 + @ 61810 26511 17978 17321 dup @ 61274 40058 12291 8925 ;s user: 60795 38684 10369 11742 swap >r 58376 26295 5655 26426 ;s lit col: 57415 27612 17278 12525 nip 54990 25803 13836 15351 @ execute 54731 25595 13836 15300 @ execute col: 54454 20854 16872 16728 user: @ ;s +! ;s 54454 20854 16872 16728 user: @ ;s +! 54454 20854 16872 16728 col: user: @ ;s +! ;s 54454 20854 16872 16728 col: user: @ ;s +! 54454 20854 16872 16728 col: col: user: @ ;s +! 54454 20854 16872 16728 @ ;s +! ;s 54454 20854 16872 16728 @ ;s +! 54454 20854 16872 16728 ;s +! ;s 54454 20854 16872 16728 ;s +! 54054 40641 7753 5660 col: >r 54020 16742 49 37229 var: +! 53633 16720 0 36913 var: +! ;s 53200 23632 18660 10908 lit + 53097 38761 5904 8432 var: @ + 52903 25069 14406 13428 @ field: @ 52903 25069 14406 13428 @ field: 52731 33460 10470 8801 over c@ 52195 37663 9088 5444 lit r@ 51761 34111 10362 7288 ;s user: @ 51209 6689 3259 41261 ?branch lit col: 50862 30571 8969 11322 ?dup 50600 0 50600 0 col: >l 50084 23847 13836 12401 field: @ field: @ execute col: 50084 23847 13836 12401 field: @ field: @ execute 50084 23847 13836 12401 field: @ field: @ 50084 23847 13836 12401 field: @ field: 50084 23847 13836 12401 field: @ execute col: 50084 23847 13836 12401 field: @ execute 50084 23847 13836 12401 @ field: @ execute col: 50084 23847 13836 12401 @ field: @ execute 49909 21430 17484 10995 2drop 49863 0 49863 0 lp+ 49069 26058 13229 9782 ;s con: col: 48487 28685 11230 8572 @ ;s user: 48327 23345 12664 12318 and ?branch 48046 14221 22260 11565 ;s ! 47571 22632 13273 11666 dup field: 47486 19274 13675 14537 @ col: 47265 22625 13266 11374 dup field: @ field: @ execute 47265 22625 13266 11374 dup field: @ field: @ 47265 22625 13266 11374 dup field: @ field: 47265 22625 13266 11374 dup field: @ 47265 22625 13266 11374 col: dup field: @ field: @ 47265 22625 13266 11374 col: dup field: @ field: 47265 22625 13266 11374 col: dup field: @ 47265 22625 13266 11374 col: dup field: 47255 19538 16173 11544 > 47242 28570 11509 7163 min 46396 25860 4751 15785 @ + ;s 46212 22595 12490 11127 lit and ?branch 45858 18409 15910 11539 > ?branch 45833 5197 1081 39555 ?branch var: 45832 18408 15886 11538 @ > ?branch 45832 18408 15886 11538 @ > 45816 18408 15870 11538 user: @ > ?branch 45816 18408 15870 11538 user: @ > 45767 27523 10669 7575 user: @ ;s user: 45568 28748 9751 7069 1+ 44580 6548 14580 23452 does: 44366 36196 5473 2697 r> ;s 44254 20129 18125 6000 ?branch drop 44216 14215 15931 14070 aligned 44096 24561 11289 8246 user: ! ;s 44001 21923 10450 11628 2dup col: 43364 3151 2070 38143 @ var: 43258 2716 1000 39542 ?branch var: @ 43181 26071 9975 7135 user: @ ;s user: @ 43181 26071 9975 7135 @ ;s user: @ 42348 24195 8562 9591 ;s r> 42334 13102 4406 24826 ;s lit col: col: 42008 0 42008 0 @local1 col: 41705 15690 10574 15441 2@ 41573 20070 6876 14627 xor 41348 24003 10083 7262 defer: col: col: 41320 19138 11683 10499 unloop 41131 18615 12930 9586 ;s con: col: col: 41026 25091 9281 6654 c! ;s ;s 40819 0 3904 36915 @ <> ?branch 40819 0 3904 36915 @ <> 40708 25807 8547 6354 1+ r> 40704 13011 15045 12648 + aligned 40451 14186 15288 10977 @ ;s con: 40326 19706 10744 9876 r@ lit and 40326 19706 10744 9876 r@ lit 39794 17757 12843 9194 con: col: col: user: @ ;s 39794 17757 12843 9194 con: col: col: user: @ 39794 17757 12843 9194 con: col: col: user: 39794 17757 12843 9194 ;s con: col: col: user: @ 39794 17757 12843 9194 ;s con: col: col: user: 39604 20334 12227 7043 ;s 2dup 39524 8 2588 36928 col: 0= 39505 1 2588 36916 ;s col: 0= 39325 22841 9572 6912 user: @ ;s user: @ ;s 39325 22841 9572 6912 defer: col: col: user: @ ;s 39325 22841 9572 6912 defer: col: col: user: @ 39325 22841 9572 6912 defer: col: col: user: 39325 22841 9572 6912 col: user: @ ;s user: @ 39325 22841 9572 6912 col: user: @ ;s user: 39325 22841 9572 6912 col: col: user: @ ;s user: 39325 22841 9572 6912 @ ;s user: @ ;s 39325 22841 9572 6912 ;s user: @ ;s 39143 21396 9818 7929 col: defer: 39083 1908 255 36920 @ var: @ 39014 32375 203 6436 @ ;s ;s 38977 1098 369 37510 lit var: 38959 9236 3359 26364 branch lit 38709 1220 0 37489 var: @ var: 38345 0 38345 0 @local1 col: >l 38051 25064 6422 6565 ?dup ?branch 37737 0 29 37708 ?branch lit col: col: 37694 779 0 36915 var: @ var: @ 37648 0 0 37648 ?branch lit col: col: var: @ 37648 0 0 37648 ?branch lit col: col: var: 37543 630 0 36913 ?branch lit var: 37300 22 49 37229 lit var: +! 37265 33 19 37213 0= ?branch var: 37237 322 0 36915 ?branch var: @ var: 37229 5 19 37205 0= ?branch var: @ 36936 8 0 36928 col: 0= ?branch 36929 6 0 36923 col: 0= ?branch var: 36917 1 0 36916 ;s col: 0= ?branch var: 36917 1 0 36916 ;s col: 0= ?branch 36915 0 0 36915 var: @ var: @ <> ?branch 36915 0 0 36915 var: @ var: @ <> 36915 0 0 36915 var: @ <> ?branch 36915 0 0 36915 var: @ <> 36915 0 0 36915 col: 0= ?branch var: @ var: 36915 0 0 36915 col: 0= ?branch var: @ 36915 0 0 36915 and 0= 0= ;s ;s col: 36915 0 0 36915 @ var: @ <> ?branch 36915 0 0 36915 @ var: @ <> 36915 0 0 36915 ?branch var: @ var: @ <> 36915 0 0 36915 ?branch var: @ var: @ 36915 0 0 36915 ;s col: 0= ?branch var: @ 36915 0 0 36915 ;s ;s col: 0= ?branch var: 36915 0 0 36915 ;s ;s col: 0= ?branch 36915 0 0 36915 ;s ;s col: 0= 36915 0 0 36915 0= ?branch var: @ var: @ 36915 0 0 36915 0= ?branch var: @ var: 36915 0 0 36915 0= ;s ;s col: 0= ?branch 36915 0 0 36915 0= ;s ;s col: 0= 36915 0 0 36915 0= ;s ;s col: 36915 0 0 36915 0= 0= ;s ;s col: 0= 36915 0 0 36915 0= 0= ;s ;s col: 36913 0 0 36913 var: @ <> ?branch lit var: 36913 0 0 36913 var: @ <> ?branch lit 36913 0 0 36913 lit var: +! ;s 36913 0 0 36913 @ var: @ <> ?branch lit 36913 0 0 36913 @ <> ?branch lit var: +! 36913 0 0 36913 @ <> ?branch lit var: 36913 0 0 36913 @ <> ?branch lit 36913 0 0 36913 ?branch lit var: +! ;s 36913 0 0 36913 ?branch lit var: +! 36913 0 0 36913 <> ?branch lit var: +! ;s 36913 0 0 36913 <> ?branch lit var: +! 36913 0 0 36913 <> ?branch lit var: 36850 0 36850 0 lp+ ;s 36117 13470 13481 9166 ;s ! ;s 35811 19962 9143 6706 col: defer: col: 35269 19375 6914 8980 swap col: 35268 16464 5123 13681 execute col: lit 35059 19378 7622 8059 count lit 34859 19495 8914 6450 >r user: 34738 27900 5764 1074 ;s rot 34283 0 0 34283 ;s ;s ?branch 34259 16954 6212 11093 count + 33617 18694 8598 6325 >r user: @ 33475 18619 8607 6249 col: defer: col: col: 33427 5539 27854 34 cells + 33365 5508 27835 22 cells + ;s 33343 18619 8475 6249 col: defer: col: col: user: @ 33343 18619 8475 6249 col: defer: col: col: user: 33306 13312 11670 8324 @ ;s lit 33303 13312 11670 8321 user: @ ;s @ ;s lit 33303 13312 11670 8321 @ ;s @ ;s lit 33303 13312 11670 8321 ;s @ ;s lit 33142 18271 8522 6349 >r >r 33093 0 0 33093 and 0= 0= ;s ;s ?branch 33093 0 0 33093 0= ;s ;s ?branch 33093 0 0 33093 0= 0= ;s ;s ?branch 32948 15749 8373 8826 @ + @ 32943 18174 8493 6276 >r >r user: @ 32943 18174 8493 6276 >r >r user: 32926 18186 8490 6250 r> - 32894 18160 8480 6254 2dup + 32883 18159 8475 6249 user: @ ;s 2dup >r >r 32883 18159 8475 6249 user: @ ;s 2dup >r 32883 18159 8475 6249 user: @ ;s 2dup 32883 18159 8475 6249 r> min user: ! ;s 32883 18159 8475 6249 r> min user: ! 32883 18159 8475 6249 r> min user: 32883 18159 8475 6249 r> min 32883 18159 8475 6249 r> - 1+ r> min user: 32883 18159 8475 6249 r> - 1+ r> min 32883 18159 8475 6249 r> - 1+ r> 32883 18159 8475 6249 r> - 1+ 32883 18159 8475 6249 min user: ! ;s 32883 18159 8475 6249 min user: ! 32883 18159 8475 6249 min user: 32883 18159 8475 6249 @ ;s user: @ ;s 2dup 32883 18159 8475 6249 @ ;s 2dup >r >r user: 32883 18159 8475 6249 @ ;s 2dup >r >r 32883 18159 8475 6249 @ ;s 2dup >r 32883 18159 8475 6249 @ ;s 2dup 32883 18159 8475 6249 ;s user: @ ;s 2dup >r 32883 18159 8475 6249 ;s user: @ ;s 2dup 32883 18159 8475 6249 ;s 2dup >r >r user: @ 32883 18159 8475 6249 ;s 2dup >r >r user: 32883 18159 8475 6249 ;s 2dup >r >r 32883 18159 8475 6249 ;s 2dup >r 32883 18159 8475 6249 2dup >r >r user: @ 32883 18159 8475 6249 2dup >r >r user: 32883 18159 8475 6249 2dup >r >r 32883 18159 8475 6249 2dup >r 32883 18159 8475 6249 2dup + r> - 1+ r> 32883 18159 8475 6249 2dup + r> - 1+ 32883 18159 8475 6249 2dup + r> - 32883 18159 8475 6249 2dup + r> 32883 18159 8475 6249 1+ r> min user: ! ;s 32883 18159 8475 6249 1+ r> min user: ! 32883 18159 8475 6249 1+ r> min user: 32883 18159 8475 6249 1+ r> min 32883 18159 8475 6249 - 1+ r> min user: ! 32883 18159 8475 6249 - 1+ r> min user: 32883 18159 8475 6249 - 1+ r> min 32883 18159 8475 6249 - 1+ r> 32883 18159 8475 6249 - 1+ 32883 18159 8475 6249 + r> - 1+ r> min 32883 18159 8475 6249 + r> - 1+ r> 32883 18159 8475 6249 + r> - 1+ 32883 18159 8475 6249 + r> - 32883 18159 8475 6249 + r> 32883 18159 8475 6249 (parse-white) 32569 21646 4882 6041 +! ;s col: 32434 28166 3737 531 >r lit 32373 28151 3716 506 col: >r lit 32370 13593 10169 8608 dup col: 32279 0 32279 0 col: >l lp- 32186 27924 3743 519 r> swap 32184 10145 12868 9171 user: @ ;s @ ;s con: 32184 10145 12868 9171 @ ;s con: col: col: 32184 10145 12868 9171 @ ;s con: col: 32184 10145 12868 9171 @ ;s @ ;s con: col: 32184 10145 12868 9171 @ ;s @ ;s con: 32184 10145 12868 9171 ;s @ ;s con: col: col: 32184 10145 12868 9171 ;s @ ;s con: col: 32184 10145 12868 9171 ;s @ ;s con: 32159 27897 3743 519 r> swap >r 32155 10145 12839 9171 @ ;s con: col: col: user: 32031 27809 3716 506 um/mod r> swap >r um/mod r> 32031 27809 3716 506 um/mod r> swap >r um/mod 32031 27809 3716 506 um/mod r> swap >r 32031 27809 3716 506 um/mod r> swap 32031 27809 3716 506 um/mod r> ;s rot 32031 27809 3716 506 um/mod r> ;s 32031 27809 3716 506 swap >r um/mod r> ;s rot 32031 27809 3716 506 swap >r um/mod r> ;s 32031 27809 3716 506 swap >r um/mod r> 32031 27809 3716 506 swap >r um/mod 32031 27809 3716 506 r@ um/mod r> swap >r um/mod 32031 27809 3716 506 r@ um/mod r> swap >r 32031 27809 3716 506 r@ um/mod r> swap 32031 27809 3716 506 r@ um/mod r> 32031 27809 3716 506 r@ um/mod 32031 27809 3716 506 r> swap >r um/mod r> ;s 32031 27809 3716 506 r> swap >r um/mod r> 32031 27809 3716 506 r> swap >r um/mod 32031 27809 3716 506 r> ;s rot 32031 27809 3716 506 lit r@ um/mod r> swap >r 32031 27809 3716 506 lit r@ um/mod r> swap 32031 27809 3716 506 lit r@ um/mod r> 32031 27809 3716 506 lit r@ um/mod 32031 27809 3716 506 col: >r lit r@ um/mod r> 32031 27809 3716 506 col: >r lit r@ um/mod 32031 27809 3716 506 col: >r lit r@ 32031 27809 3716 506 >r um/mod r> ;s rot 32031 27809 3716 506 >r um/mod r> ;s 32031 27809 3716 506 >r um/mod r> 32031 27809 3716 506 >r um/mod 32031 27809 3716 506 >r lit r@ um/mod r> swap 32031 27809 3716 506 >r lit r@ um/mod r> 32031 27809 3716 506 >r lit r@ um/mod 32031 27809 3716 506 >r lit r@ 32002 12427 7911 11664 ! ;s ;s 31970 17641 5900 8429 xor cells 31970 17641 5900 8429 con: (hashkey1) ;s 31970 17641 5900 8429 con: (hashkey1) 31970 17641 5900 8429 col: lit + 31970 17641 5900 8429 col: con: (hashkey1) ;s 31970 17641 5900 8429 col: con: (hashkey1) 31970 17641 5900 8429 (hashkey1) ;s 31970 17641 5900 8429 (hashkey1) 31728 14446 6208 11074 dup count 31550 26409 1482 3659 (loop) con: col: 31550 26409 1482 3659 (loop) con: 31427 18869 6332 6226 col: cell+ 31040 17449 4024 9567 ;s var: 30825 10926 8101 11798 col: r> 30667 15414 7915 7338 col: col: dup 30442 22079 5480 2883 ?branch over 30322 18383 6268 5671 >r col: 30077 8614 13855 7608 con: - 29969 16909 5363 7697 >r 2dup 29959 22073 5068 2818 r@ <> ?branch 29959 22073 5068 2818 r@ <> 29959 22073 5068 2818 over c@ r@ <> ?branch 29959 22073 5068 2818 over c@ r@ <> 29959 22073 5068 2818 over c@ r@ 29959 22073 5068 2818 dup ?branch over c@ r@ <> 29959 22073 5068 2818 dup ?branch over c@ r@ 29959 22073 5068 2818 dup ?branch over c@ 29959 22073 5068 2818 dup ?branch over 29959 22073 5068 2818 c@ r@ <> ?branch 29959 22073 5068 2818 c@ r@ <> 29959 22073 5068 2818 c@ r@ 29959 22073 5068 2818 ?branch over c@ r@ <> ?branch 29959 22073 5068 2818 ?branch over c@ r@ <> 29959 22073 5068 2818 ?branch over c@ r@ 29959 22073 5068 2818 ?branch over c@ 29957 14276 7622 8059 count lit and 29945 20674 2583 6688 ;s c! 29944 13360 9320 7264 over <> ?branch 29944 13360 9320 7264 over <> 29944 13360 9320 7264 i 2@ over <> ?branch 29944 13360 9320 7264 i 2@ over <> 29944 13360 9320 7264 i 2@ over 29944 13360 9320 7264 i 2@ 29944 13360 9320 7264 2dup i 2@ over <> ?branch 29944 13360 9320 7264 2dup i 2@ over <> 29944 13360 9320 7264 2dup i 2@ over 29944 13360 9320 7264 2dup i 2@ 29944 13360 9320 7264 2dup i 29944 13360 9320 7264 2@ over <> ?branch 29944 13360 9320 7264 2@ over <> 29944 13360 9320 7264 2@ over 29926 12201 10045 7680 ;s ;s ;s dup 29805 0 0 29805 ;s ?branch lit 29610 9981 7870 11759 r> dup 29584 17160 5248 7176 @ >r 29555 20674 2583 6298 ;s c! ;s 29381 11828 9791 7762 col: drop 29274 10772 6577 11925 >r swap 29174 4366 2420 22388 ;s branch lit 29168 16092 4795 8281 @ execute col: lit 29128 11489 9989 7650 ;s ;s ;s dup ?branch 29044 26583 124 2337 var: @ ;s 29043 26583 124 2336 col: var: @ ;s 28977 0 28977 0 @local1 col: >l lp- 28872 0 0 28872 ;s ;s ?branch lit 28872 0 0 28872 0= ;s ;s ?branch lit 28872 0 0 28872 0= 0= ;s ;s ?branch lit 28849 0 28849 0 col: >l lp- @local1 28839 2 26711 2126 i col: 28701 20925 5027 2749 branch dup 28617 10704 10764 7149 ;s defer: 28534 13957 8643 5934 ?branch nip 28485 0 0 28485 ;s ?branch lit col: col: var: 28485 0 0 28485 ;s ?branch lit col: col: 28485 0 0 28485 ;s ?branch lit col: 28485 0 0 28485 ;s ;s ?branch lit col: col: 28485 0 0 28485 ;s ;s ?branch lit col: 28485 0 0 28485 0= ;s ;s ?branch lit col: 28289 20994 4685 2610 lit /string 28229 20957 4668 2604 ?branch lit /string 28092 20650 4850 2592 branch dup ?branch 27883 20607 4678 2598 lit /string branch 27883 20607 4678 2598 /string branch 27823 20570 4661 2592 ?branch lit /string branch 27815 20570 4657 2588 lit /string branch dup 27815 20570 4657 2588 ?branch lit /string branch dup 27815 20570 4657 2588 /string branch dup 27806 20570 4649 2587 r@ <> ?branch lit /string branch 27806 20570 4649 2587 r@ <> ?branch lit /string 27806 20570 4649 2587 r@ <> ?branch lit 27806 20570 4649 2587 over c@ r@ <> ?branch lit 27806 20570 4649 2587 lit /string branch dup ?branch 27806 20570 4649 2587 c@ r@ <> ?branch lit /string 27806 20570 4649 2587 c@ r@ <> ?branch lit 27806 20570 4649 2587 ?branch lit /string branch dup ?branch 27806 20570 4649 2587 <> ?branch lit /string branch dup 27806 20570 4649 2587 <> ?branch lit /string branch 27806 20570 4649 2587 <> ?branch lit /string 27806 20570 4649 2587 /string branch dup ?branch 27653 20440 4632 2581 lit /string branch dup ?branch over 27653 20440 4632 2581 branch dup ?branch over c@ r@ 27653 20440 4632 2581 branch dup ?branch over c@ 27653 20440 4632 2581 branch dup ?branch over 27653 20440 4632 2581 /string branch dup ?branch over c@ 27653 20440 4632 2581 /string branch dup ?branch over 27492 25311 0 2181 col: col: var: @ ;s 27397 9835 9174 8388 dup col: col: 27310 15786 4816 6708 cells var: 27250 15749 4799 6702 var: @ + @ 27250 15749 4799 6702 cells var: @ + @ 27250 15749 4799 6702 cells var: @ + 27250 15749 4799 6702 cells var: @ 27242 15747 4795 6700 >r 2dup col: 27240 15746 4795 6699 xor cells var: @ + @ 27240 15746 4795 6699 xor cells var: @ + 27240 15746 4795 6699 xor cells var: @ 27240 15746 4795 6699 xor cells var: 27240 15746 4795 6699 var: @ + @ (hashfind) ;s 27240 15746 4795 6699 var: @ + @ (hashfind) 27240 15746 4795 6699 r> xor cells var: @ + 27240 15746 4795 6699 r> xor cells var: @ 27240 15746 4795 6699 r> xor cells var: 27240 15746 4795 6699 r> xor cells 27240 15746 4795 6699 r> xor 27240 15746 4795 6699 lit + @ >r 2dup col: 27240 15746 4795 6699 lit + @ >r 2dup 27240 15746 4795 6699 lit + @ >r 27240 15746 4795 6699 lit + @ 27240 15746 4795 6699 field: @ execute col: lit + 27240 15746 4795 6699 field: @ execute col: lit 27240 15746 4795 6699 execute col: lit + @ >r 27240 15746 4795 6699 execute col: lit + @ 27240 15746 4795 6699 execute col: lit + 27240 15746 4795 6699 con: (hashkey1) ;s r> xor cells 27240 15746 4795 6699 con: (hashkey1) ;s r> xor 27240 15746 4795 6699 con: (hashkey1) ;s r> 27240 15746 4795 6699 col: lit + @ >r 2dup 27240 15746 4795 6699 col: lit + @ >r 27240 15746 4795 6699 col: lit + @ 27240 15746 4795 6699 col: con: (hashkey1) ;s r> xor 27240 15746 4795 6699 col: con: (hashkey1) ;s r> 27240 15746 4795 6699 cells var: @ + @ (hashfind) 27240 15746 4795 6699 @ field: @ execute col: lit 27240 15746 4795 6699 @ execute col: lit + @ 27240 15746 4795 6699 @ execute col: lit + 27240 15746 4795 6699 @ >r 2dup col: con: (hashkey1) 27240 15746 4795 6699 @ >r 2dup col: con: 27240 15746 4795 6699 @ >r 2dup col: 27240 15746 4795 6699 @ >r 2dup 27240 15746 4795 6699 @ + @ (hashfind) ;s ;s 27240 15746 4795 6699 @ + @ (hashfind) ;s 27240 15746 4795 6699 @ + @ (hashfind) 27240 15746 4795 6699 @ (hashfind) ;s ;s 27240 15746 4795 6699 @ (hashfind) ;s 27240 15746 4795 6699 @ (hashfind) 27240 15746 4795 6699 >r 2dup col: con: (hashkey1) ;s 27240 15746 4795 6699 >r 2dup col: con: (hashkey1) 27240 15746 4795 6699 >r 2dup col: con: 27240 15746 4795 6699 ;s r> xor cells var: @ 27240 15746 4795 6699 ;s r> xor cells var: 27240 15746 4795 6699 ;s r> xor cells 27240 15746 4795 6699 ;s r> xor 27240 15746 4795 6699 2dup col: con: (hashkey1) ;s r> 27240 15746 4795 6699 2dup col: con: (hashkey1) ;s 27240 15746 4795 6699 2dup col: con: (hashkey1) 27240 15746 4795 6699 2dup col: con: 27240 15746 4795 6699 + @ >r 2dup col: con: 27240 15746 4795 6699 + @ >r 2dup col: 27240 15746 4795 6699 + @ >r 2dup 27240 15746 4795 6699 + @ >r 27240 15746 4795 6699 + @ (hashfind) ;s ;s 27240 15746 4795 6699 + @ (hashfind) ;s 27240 15746 4795 6699 + @ (hashfind) 27240 15746 4795 6699 (hashkey1) ;s r> xor cells var: 27240 15746 4795 6699 (hashkey1) ;s r> xor cells 27240 15746 4795 6699 (hashkey1) ;s r> xor 27240 15746 4795 6699 (hashkey1) ;s r> 27240 15746 4795 6699 (hashfind) ;s ;s 27240 15746 4795 6699 (hashfind) ;s 27240 15746 4795 6699 (hashfind) 27199 9553 6413 11233 col: col: r> 27179 0 27179 0 @local1 col: >l lp- @local1 27060 9489 6486 11085 >r ;s 27012 12115 7729 7168 @ col: col: 26989 9351 7825 9813 pick 26863 3 26857 3 col: cells 26853 18527 5474 2852 ;s ;s ;s ;s 26816 9438 6236 11142 r> r> 26809 0 26809 0 col: cells + ;s 26809 0 26809 0 col: cells + 26786 0 26786 0 lp- @local1 col: >l lp- 26786 0 26786 0 lp- @local1 col: >l 26786 0 26786 0 lp- @local1 col: 26786 0 26786 0 >l lp- @local1 col: >l lp- 26786 0 26786 0 >l lp- @local1 col: >l 26786 0 26786 0 >l lp- @local1 col: 26751 11290 6636 8825 var: @ col: 26735 24575 0 2160 var: @ ;s ;s 26734 24575 0 2159 col: var: @ ;s ;s 26734 0 26734 0 @local1 @ 26733 24575 0 2158 col: col: var: @ ;s ;s 26662 0 26662 0 lp- @local1 cell+ @local1 @ lp+ 26662 0 26662 0 lp- @local1 cell+ @local1 @ 26662 0 26662 0 lp- @local1 cell+ @local1 26662 0 26662 0 lp- @local1 cell+ 26662 0 26662 0 col: >l lp- @local1 cell+ @local1 26662 0 26662 0 col: >l lp- @local1 cell+ 26662 0 26662 0 cell+ @local1 @ lp+ ;s 26662 0 26662 0 cell+ @local1 @ lp+ 26662 0 26662 0 cell+ @local1 @ 26662 0 26662 0 cell+ @local1 26662 0 26662 0 @local1 col: >l lp- @local1 cell+ 26662 0 26662 0 @local1 cell+ @local1 @ lp+ ;s 26662 0 26662 0 @local1 cell+ @local1 @ lp+ 26662 0 26662 0 @local1 cell+ @local1 @ 26662 0 26662 0 @local1 cell+ @local1 26662 0 26662 0 @local1 cell+ 26662 0 26662 0 @local1 @ lp+ ;s 26662 0 26662 0 @local1 @ lp+ 26662 0 26662 0 @ lp+ ;s 26662 0 26662 0 @ lp+ 26662 0 26662 0 >l lp- @local1 cell+ @local1 @ 26662 0 26662 0 >l lp- @local1 cell+ @local1 26662 0 26662 0 >l lp- @local1 cell+ 26620 9342 6208 11070 swap >r ;s 26620 9342 6208 11070 r> r> dup count + aligned 26620 9342 6208 11070 r> r> dup count + 26620 9342 6208 11070 r> r> dup count 26620 9342 6208 11070 r> r> dup 26620 9342 6208 11070 r> dup count + aligned >r 26620 9342 6208 11070 r> dup count + aligned 26620 9342 6208 11070 r> dup count + 26620 9342 6208 11070 r> dup count 26620 9342 6208 11070 dup count + aligned >r swap 26620 9342 6208 11070 dup count + aligned >r 26620 9342 6208 11070 dup count + aligned 26620 9342 6208 11070 dup count + 26620 9342 6208 11070 count + aligned >r swap >r 26620 9342 6208 11070 count + aligned >r swap 26620 9342 6208 11070 count + aligned >r 26620 9342 6208 11070 count + aligned 26620 9342 6208 11070 col: r> r> dup count + 26620 9342 6208 11070 col: r> r> dup count 26620 9342 6208 11070 col: r> r> dup 26620 9342 6208 11070 col: r> r> 26620 9342 6208 11070 col: col: r> r> dup count 26620 9342 6208 11070 col: col: r> r> dup 26620 9342 6208 11070 col: col: r> r> 26620 9342 6208 11070 aligned >r swap >r ;s 26620 9342 6208 11070 aligned >r swap >r 26620 9342 6208 11070 aligned >r swap 26620 9342 6208 11070 aligned >r 26620 9342 6208 11070 >r swap >r ;s 26620 9342 6208 11070 >r swap >r 26620 9342 6208 11070 + aligned >r swap >r ;s 26620 9342 6208 11070 + aligned >r swap >r 26620 9342 6208 11070 + aligned >r swap 26620 9342 6208 11070 + aligned >r 26601 2 26597 2 i col: cells 26593 0 26593 0 i col: cells + ;s 26593 0 26593 0 i col: cells + 26567 0 26567 0 lp- @local1 col: >l lp- @local1 26423 8997 4282 13144 0= ?branch lit 26266 9162 7552 9552 lit pick 26072 12695 2078 11299 @ over 25869 18117 2402 5350 ;s (loop) 25704 11007 8471 6226 user: @ /string 25704 11007 8471 6226 @ /string 25703 12540 3946 9217 ;s count 25641 25641 0 0 con: col: >r 25640 25640 0 0 um/mod r> ;s rot i c! 25640 25640 0 0 um/mod r> ;s rot i 25640 25640 0 0 rot i c! (loop) 25640 25640 0 0 rot i c! 25640 25640 0 0 rot i 25640 25640 0 0 r> ;s rot i c! (loop) 25640 25640 0 0 r> ;s rot i c! 25640 25640 0 0 r> ;s rot i 25640 25640 0 0 i c! (loop) 25640 25640 0 0 i c! 25640 25640 0 0 con: col: >r lit r@ um/mod 25640 25640 0 0 con: col: >r lit r@ 25640 25640 0 0 con: col: >r lit 25640 25640 0 0 c! (loop) 25640 25640 0 0 >r um/mod r> ;s rot i 25640 25640 0 0 ;s rot i c! (loop) 25640 25640 0 0 ;s rot i c! 25640 25640 0 0 ;s rot i 25312 11996 6845 6471 faligned 25268 14315 4334 6619 ?branch col: col: 25244 10547 8471 6226 user: @ /string (parse-white) 2dup + 25244 10547 8471 6226 user: @ /string (parse-white) 2dup 25244 10547 8471 6226 user: @ /string (parse-white) 25244 10547 8471 6226 defer: col: defer: col: col: user: 25244 10547 8471 6226 defer: col: defer: col: col: 25244 10547 8471 6226 defer: col: defer: col: 25244 10547 8471 6226 defer: col: defer: 25244 10547 8471 6226 @ /string (parse-white) 2dup + r> 25244 10547 8471 6226 @ /string (parse-white) 2dup + 25244 10547 8471 6226 @ /string (parse-white) 2dup 25244 10547 8471 6226 @ /string (parse-white) 25244 10547 8471 6226 >r user: @ /string (parse-white) 2dup 25244 10547 8471 6226 >r user: @ /string (parse-white) 25244 10547 8471 6226 >r user: @ /string 25244 10547 8471 6226 >r >r user: @ /string (parse-white) 25244 10547 8471 6226 >r >r user: @ /string 25244 10547 8471 6226 2dup >r >r user: @ /string 25244 10547 8471 6226 /string (parse-white) 2dup + r> - 25244 10547 8471 6226 /string (parse-white) 2dup + r> 25244 10547 8471 6226 /string (parse-white) 2dup + 25244 10547 8471 6226 /string (parse-white) 2dup 25244 10547 8471 6226 /string (parse-white) 25244 10547 8471 6226 (parse-white) 2dup + r> - 1+ 25244 10547 8471 6226 (parse-white) 2dup + r> - 25244 10547 8471 6226 (parse-white) 2dup + r> 25244 10547 8471 6226 (parse-white) 2dup + 25244 10547 8471 6226 (parse-white) 2dup 25195 10995 5767 8433 unloop ;s 25186 2172 18478 4536 + ;s @ 25176 14866 5372 4938 dup c@ 24910 14640 4512 5758 @ (hashfind) ;s ;s dup ?branch 24910 14640 4512 5758 @ (hashfind) ;s ;s dup 24910 14640 4512 5758 + @ (hashfind) ;s ;s dup 24910 14640 4512 5758 (hashfind) ;s ;s dup ?branch 24910 14640 4512 5758 (hashfind) ;s ;s dup 24717 445 0 24272 branch lit col: 24280 10093 8200 5987 sp@ 24272 0 0 24272 branch lit col: col: var: @ 24272 0 0 24272 branch lit col: col: var: 24272 0 0 24272 branch lit col: col: 24256 10414 8073 5769 ;s defer: col: 24108 10404 7935 5769 ?branch ;s defer: col: 24108 10404 7935 5769 ?branch ;s defer: 24051 23815 0 236 col: col: col: var: 23886 9496 7604 6786 (+loop) 23869 12065 5350 6454 ;s over 23774 23774 0 0 col: col: col: var: @ ;s 23774 23774 0 0 col: col: col: var: @ 23715 11381 5688 6646 col: col: dup field: @ field: 23715 11381 5688 6646 col: col: dup field: @ 23715 11381 5688 6646 col: col: dup field: 23606 9936 6162 7508 ;s col: dup 23570 9854 7947 5769 sp@ user: @ 23570 9854 7947 5769 sp@ user: 23570 9854 7947 5769 col: sp@ user: @ 23570 9854 7947 5769 col: sp@ user: 23570 9854 7947 5769 col: sp@ 23555 9204 7935 6416 ! ;s dup 23473 11001 5732 6740 swap c! 23463 0 0 23463 var: +! ;s branch 23463 0 0 23463 lit var: +! ;s branch 23463 0 0 23463 ?branch lit var: +! ;s branch 23463 0 0 23463 +! ;s branch 23462 11000 5727 6735 swap c! ;s 23259 0 23259 0 @local0 23174 12828 5032 5314 2drop ;s 23096 0 23096 0 lp+ ;s dup 23039 9293 7963 5783 fp@ 23025 9152 7949 5924 branch col: 23024 9152 7948 5924 ;s branch col: 23016 9202 8160 5654 nip nip 23016 9202 8160 5654 ?branch nip nip 22981 71 9136 13774 defer: (type) 22981 71 9136 13774 (type) 22924 9204 7951 5769 @ > ?branch ;s 22924 9204 7951 5769 > ?branch ;s 22911 9205 7936 5770 fp@ user: 22908 9204 7935 5769 user: @ > ?branch fp@ user: 22908 9204 7935 5769 user: @ > ?branch fp@ 22908 9204 7935 5769 user: @ > ?branch ;s defer: 22908 9204 7935 5769 user: @ > ?branch ;s 22908 9204 7935 5769 user: ! ;s dup ?branch 22908 9204 7935 5769 user: ! ;s dup 22908 9204 7935 5769 sp@ user: @ > ?branch fp@ 22908 9204 7935 5769 sp@ user: @ > ?branch 22908 9204 7935 5769 sp@ user: @ > 22908 9204 7935 5769 r> min user: ! ;s dup 22908 9204 7935 5769 min user: ! ;s dup ?branch 22908 9204 7935 5769 min user: ! ;s dup 22908 9204 7935 5769 fp@ user: @ > ?branch ;s 22908 9204 7935 5769 fp@ user: @ > ?branch 22908 9204 7935 5769 fp@ user: @ > 22908 9204 7935 5769 fp@ user: @ 22908 9204 7935 5769 col: sp@ user: @ > ?branch 22908 9204 7935 5769 col: sp@ user: @ > 22908 9204 7935 5769 @ > ?branch fp@ user: @ 22908 9204 7935 5769 @ > ?branch fp@ user: 22908 9204 7935 5769 @ > ?branch fp@ 22908 9204 7935 5769 @ > ?branch ;s defer: col: 22908 9204 7935 5769 @ > ?branch ;s defer: 22908 9204 7935 5769 ?branch fp@ user: @ > ?branch 22908 9204 7935 5769 ?branch fp@ user: @ > 22908 9204 7935 5769 ?branch fp@ user: @ 22908 9204 7935 5769 ?branch fp@ user: 22908 9204 7935 5769 ?branch fp@ 22908 9204 7935 5769 ?branch ;s defer: col: defer: col: 22908 9204 7935 5769 ?branch ;s defer: col: defer: 22908 9204 7935 5769 > ?branch fp@ user: @ > 22908 9204 7935 5769 > ?branch fp@ user: @ 22908 9204 7935 5769 > ?branch fp@ user: 22908 9204 7935 5769 > ?branch fp@ 22908 9204 7935 5769 > ?branch ;s defer: col: defer: 22908 9204 7935 5769 > ?branch ;s defer: col: 22908 9204 7935 5769 > ?branch ;s defer: 22908 9204 7935 5769 ;s defer: col: defer: col: col: 22908 9204 7935 5769 ;s defer: col: defer: col: 22908 9204 7935 5769 ;s defer: col: defer: 22908 9204 7935 5769 ! ;s dup ?branch 22898 11023 5940 5935 ?branch col: cell+ 22624 11000 5536 6088 swap c! ;s ;s 22591 9606 7673 5312 @ lit 22564 5951 11199 5414 drop con: 22338 7612 10144 4582 col: col: col: col: 22072 12735 4909 4428 (do) 21740 11138 6073 4529 ?branch col: dup 21723 1234 4314 16175 ;s 0= 21661 13512 4586 3563 over + 21638 10033 5522 6083 ;s r@ 21625 5526 7705 8394 - ;s 21608 10009 6166 5433 cell+ dup 21600 18521 251 2828 ;s col: col: var: 21577 0 21577 0 >l >l 21504 10576 5071 5857 ;s over c@ 21403 9788 4952 6663 or 21260 10005 5923 5332 lit and + faligned 21260 10005 5923 5332 lit and + 21260 10005 5923 5332 count lit and + faligned 21260 10005 5923 5332 count lit and + 21260 10005 5923 5332 and + faligned 21260 10005 5923 5332 and + 21260 10005 5923 5332 + faligned 21253 12947 4590 3716 ;s col: col: user: @ 21253 12947 4590 3716 ;s col: col: user: 21088 21088 0 0 var: @ + ;s 21079 9549 4967 6563 @ ?dup 21073 21073 0 0 col: var: @ + ;s 21073 21073 0 0 col: var: @ + 20931 10364 4782 5785 ;s ;s over 20907 325 0 20582 ;s branch lit col: 20835 6414 10135 4286 col: col: col: col: user: @ 20835 6414 10135 4286 col: col: col: col: user: 20827 9873 6082 4872 1- 20826 9859 5738 5229 col: cell+ dup 20778 208 4010 16560 does: @ 20709 8397 5464 6848 col: dup col: 20680 13811 3434 3435 ?dup ?branch ;s 20661 2172 18478 11 cells + ;s @ 20611 9960 4891 5760 col: col: lit 20582 0 0 20582 ;s branch lit col: col: var: 20582 0 0 20582 ;s branch lit col: col: 20562 9776 4751 6035 swap col: con: 20559 9773 4751 6035 or swap 20523 9853 5732 4938 lit and 0= ?branch 20523 9853 5732 4938 lit and 0= 20523 9853 5732 4938 lit and + faligned ;s 20523 9853 5732 4938 faligned ;s 20523 9853 5732 4938 count lit and + faligned ;s 20523 9853 5732 4938 col: count lit and + faligned 20523 9853 5732 4938 col: count lit and + 20523 9853 5732 4938 col: count lit and 20523 9853 5732 4938 col: count lit 20523 9853 5732 4938 col: count 20523 9853 5732 4938 and 0= ?branch 20523 9853 5732 4938 and + faligned ;s 20523 9853 5732 4938 + faligned ;s 20457 9853 5372 5232 dup ?branch col: 20426 13805 3434 3187 col: ?dup ?branch ;s 20426 13805 3434 3187 col: ?dup ?branch 20426 13805 3434 3187 col: ?dup 20295 0 0 20295 var: +! ;s branch lit col: 20295 0 0 20295 var: +! ;s branch lit 20295 0 0 20295 lit var: +! ;s branch lit 20295 0 0 20295 +! ;s branch lit col: col: 20295 0 0 20295 +! ;s branch lit col: 20295 0 0 20295 +! ;s branch lit 20271 9781 4751 5739 c@ ;s ;s 20268 9777 4756 5735 + c@ 20262 9775 4755 5732 ;s ;s over c@ 20257 9776 4751 5730 lit /mod rot + swap 20257 9776 4751 5730 lit /mod rot + 20257 9776 4751 5730 lit /mod rot 20257 9776 4751 5730 lit /mod 20257 9776 4751 5730 col: lit /mod rot + swap 20257 9776 4751 5730 col: lit /mod rot + 20257 9776 4751 5730 col: lit /mod rot 20257 9776 4751 5730 col: lit /mod 20257 9776 4751 5730 col: col: lit /mod rot + 20257 9776 4751 5730 col: col: lit /mod rot 20257 9776 4751 5730 col: col: lit /mod 20257 9776 4751 5730 /mod rot + swap 20257 9776 4751 5730 /mod rot + 20257 9776 4751 5730 /mod rot 20257 9776 4751 5730 + c@ ;s ;s 20257 9776 4751 5730 + c@ ;s 20254 9773 4751 5730 over c@ or swap c! ;s 20254 9773 4751 5730 over c@ or swap c! 20254 9773 4751 5730 over c@ or swap 20254 9773 4751 5730 over c@ or 20254 9773 4751 5730 or swap c! ;s ;s 20254 9773 4751 5730 or swap c! ;s 20254 9773 4751 5730 or swap c! 20254 9773 4751 5730 c@ or swap c! ;s ;s 20254 9773 4751 5730 c@ or swap c! ;s 20254 9773 4751 5730 c@ or swap c! 20254 9773 4751 5730 c@ or swap 20254 9773 4751 5730 c@ or 20254 9773 4751 5730 c@ ;s ;s over c@ or 20254 9773 4751 5730 c@ ;s ;s over c@ 20254 9773 4751 5730 c@ ;s ;s over 20254 9773 4751 5730 ;s over c@ or swap c! 20254 9773 4751 5730 ;s over c@ or swap 20254 9773 4751 5730 ;s over c@ or 20254 9773 4751 5730 ;s ;s over c@ or swap 20254 9773 4751 5730 ;s ;s over c@ or 20254 9773 4751 5730 + c@ ;s ;s over c@ 20254 9773 4751 5730 + c@ ;s ;s over 20169 9853 5378 4938 r> lit 20163 9853 5372 4938 r@ lit and ?branch 20163 9853 5372 4938 r@ lit and 0= ?branch 20163 9853 5372 4938 r@ lit and 0= 20163 9853 5372 4938 r> lit and ?branch 20163 9853 5372 4938 r> lit and 20163 9853 5372 4938 lit r@ lit and ?branch 20163 9853 5372 4938 lit r@ lit and 20163 9853 5372 4938 lit r@ lit 20163 9853 5372 4938 lit and + faligned ;s r@ 20163 9853 5372 4938 faligned ;s r@ lit and 0= 20163 9853 5372 4938 faligned ;s r@ lit and 20163 9853 5372 4938 faligned ;s r@ lit 20163 9853 5372 4938 faligned ;s r@ 20163 9853 5372 4938 dup c@ >r col: count lit 20163 9853 5372 4938 dup c@ >r col: count 20163 9853 5372 4938 dup c@ >r col: 20163 9853 5372 4938 dup c@ >r 20163 9853 5372 4938 dup ?branch col: cell+ dup c@ 20163 9853 5372 4938 dup ?branch col: cell+ dup 20163 9853 5372 4938 dup ?branch col: cell+ 20163 9853 5372 4938 col: cell+ dup c@ >r col: 20163 9853 5372 4938 col: cell+ dup c@ >r 20163 9853 5372 4938 col: cell+ dup c@ 20163 9853 5372 4938 cell+ dup c@ >r col: count 20163 9853 5372 4938 cell+ dup c@ >r col: 20163 9853 5372 4938 cell+ dup c@ >r 20163 9853 5372 4938 cell+ dup c@ 20163 9853 5372 4938 c@ >r col: count lit and 20163 9853 5372 4938 c@ >r col: count lit 20163 9853 5372 4938 c@ >r col: count 20163 9853 5372 4938 c@ >r col: 20163 9853 5372 4938 c@ >r 20163 9853 5372 4938 and + faligned ;s r@ lit 20163 9853 5372 4938 and + faligned ;s r@ 20163 9853 5372 4938 ?branch col: cell+ dup c@ >r 20163 9853 5372 4938 ?branch col: cell+ dup c@ 20163 9853 5372 4938 ?branch col: cell+ dup 20163 9853 5372 4938 >r col: count lit and + 20163 9853 5372 4938 >r col: count lit and 20163 9853 5372 4938 >r col: count lit 20163 9853 5372 4938 >r col: count 20163 9853 5372 4938 ;s r@ lit and 0= ?branch 20163 9853 5372 4938 ;s r@ lit and 0= 20163 9853 5372 4938 ;s r@ lit and 20163 9853 5372 4938 ;s r@ lit 20163 9853 5372 4938 ;s dup ?branch col: cell+ dup 20163 9853 5372 4938 ;s dup ?branch col: cell+ 20163 9853 5372 4938 ;s dup ?branch col: 20163 9853 5372 4938 ;s ;s dup ?branch col: cell+ 20163 9853 5372 4938 ;s ;s dup ?branch col: 20163 9853 5372 4938 + faligned ;s r@ lit and 20163 9853 5372 4938 + faligned ;s r@ lit 20163 9853 5372 4938 + faligned ;s r@ 19953 10420 4384 5149 ?branch ;s ;s 19863 19863 0 0 col: col: var: @ + ;s 19863 19863 0 0 col: col: var: @ + 19826 10839 5255 3732 <> ?branch col: 19748 9917 5775 4056 0< 19715 17524 0 2191 ;s col: col: var: @ 19584 7545 5312 6727 col: dup col: col: 19473 10286 5612 3575 var: dup @ 19473 10286 5612 3575 var: dup 19451 9856 4962 4633 ?branch r> 19403 14438 1341 3624 ;s ;s lit 19302 9902 4911 4489 @ ?branch 19250 6404 6775 6071 (?do) 19230 19230 0 0 rot i c! (loop) con: col: 19230 19230 0 0 rot i c! (loop) con: 19230 19230 0 0 i c! (loop) con: col: >r 19230 19230 0 0 i c! (loop) con: col: 19230 19230 0 0 i c! (loop) con: 19230 19230 0 0 c! (loop) con: col: >r lit 19230 19230 0 0 c! (loop) con: col: >r 19230 19230 0 0 c! (loop) con: col: 19230 19230 0 0 c! (loop) con: 19230 19230 0 0 ;s rot i c! (loop) con: 19230 19230 0 0 (loop) con: col: >r lit r@ 19230 19230 0 0 (loop) con: col: >r lit 19230 19230 0 0 (loop) con: col: >r 19187 0 19187 0 cell+ @local1 @ lp+ ;s dup 19187 0 19187 0 @local1 @ lp+ ;s dup 19187 0 19187 0 @ lp+ ;s dup 19055 10082 5242 3731 over <> ?branch col: dup field: 19055 10082 5242 3731 over <> ?branch col: dup 19055 10082 5242 3731 over <> ?branch col: 19055 10082 5242 3731 i 2@ over <> ?branch col: 19055 10082 5242 3731 ?branch col: dup field: @ field: 19055 10082 5242 3731 ?branch col: dup field: @ 19055 10082 5242 3731 ?branch col: dup field: 19055 10082 5242 3731 <> ?branch col: dup field: @ 19055 10082 5242 3731 <> ?branch col: dup field: 19055 10082 5242 3731 <> ?branch col: dup 19055 10082 5242 3731 2@ over <> ?branch col: dup 19055 10082 5242 3731 2@ over <> ?branch col: 19021 9642 2786 6593 @ ;s lit col: col: 19021 9642 2786 6593 @ ;s lit col: 19018 9642 2786 6590 @ ;s @ ;s lit col: 19018 9642 2786 6590 ;s @ ;s lit col: col: 19018 9642 2786 6590 ;s @ ;s lit col: 18675 6402 5367 6906 ;s ! ;s ;s 18477 7047 5726 5704 var: @ col: col: 18321 0 18321 0 col: >l >l 18250 9370 4366 4514 r@ lit and ?branch r> lit 18250 9370 4366 4514 r@ lit and ?branch r> 18250 9370 4366 4514 lit r@ lit and ?branch r> 18250 9370 4366 4514 lit and ?branch r> lit and 18250 9370 4366 4514 lit and ?branch r> lit 18250 9370 4366 4514 lit and ?branch r> 18250 9370 4366 4514 and ?branch r> lit and ?branch 18250 9370 4366 4514 and ?branch r> lit and 18250 9370 4366 4514 and ?branch r> lit 18250 9370 4366 4514 and ?branch r> 18250 9370 4366 4514 ?branch r> lit and ?branch 18250 9370 4366 4514 ?branch r> lit and 18250 9370 4366 4514 ?branch r> lit 18238 6099 5366 6773 ;s col: dup col: 18226 9394 5015 3817 lit (+loop) 18090 10485 3249 4356 rdrop 18090 0 18090 0 col: cells + ;s @ 18088 6056 5308 6724 ;s col: dup col: col: 18056 10646 2109 5301 con: col: col: col: 17920 0 17920 0 i col: cells + ;s @ 17746 7095 6236 4415 ?branch defer: 17742 8975 4990 3777 lit user: 17724 7091 6225 4408 ?branch defer: col: 17649 8768 2583 6298 user: @ ;s +! ;s c! 17649 8768 2583 6298 lit col: col: user: @ ;s 17649 8768 2583 6298 lit col: col: user: @ 17649 8768 2583 6298 lit col: col: user: 17649 8768 2583 6298 @ ;s lit col: col: user: 17649 8768 2583 6298 @ ;s +! ;s c! ;s 17649 8768 2583 6298 @ ;s +! ;s c! 17649 8768 2583 6298 ;s lit col: col: user: @ 17649 8768 2583 6298 ;s lit col: col: user: 17649 8768 2583 6298 ;s +! ;s c! ;s 17649 8768 2583 6298 ;s +! ;s c! 17649 8768 2583 6298 +! ;s c! ;s 17649 8768 2583 6298 +! ;s c! 17503 8197 4937 4369 unloop ;s ;s 17480 14436 1198 1846 ;s ;s lit col: 17476 16827 419 230 col: over 17257 8996 4281 3980 r@ lit and 0= ?branch lit 17257 8996 4281 3980 lit and 0= ?branch lit r@ 17257 8996 4281 3980 lit and 0= ?branch lit 17257 8996 4281 3980 and 0= ?branch lit r@ lit 17257 8996 4281 3980 and 0= ?branch lit r@ 17257 8996 4281 3980 and 0= ?branch lit 17257 8996 4281 3980 ?branch lit r@ lit and ?branch 17257 8996 4281 3980 ?branch lit r@ lit and 17257 8996 4281 3980 ?branch lit r@ lit 17257 8996 4281 3980 ?branch lit r@ 17257 8996 4281 3980 0= ?branch lit r@ lit and 17257 8996 4281 3980 0= ?branch lit r@ lit 17257 8996 4281 3980 0= ?branch lit r@ 17188 11129 1999 4060 ;s col: col: col: 17185 6110 7834 3241 ?branch 2drop 17112 6279 5771 5062 @ col: col: dup 17112 11939 3801 1372 ! ;s col: 17030 6303 6885 3842 tuck 17024 6279 5683 5062 var: @ col: col: dup field: 17024 6279 5683 5062 var: @ col: col: dup 17024 6279 5683 5062 @ col: col: dup field: @ 17024 6279 5683 5062 @ col: col: dup field: 17013 16738 67 208 +! ;s col: col: 16918 0 0 16918 ;s lit col: col: var: @ 16918 0 0 16918 ;s lit col: col: var: 16888 5376 8092 3420 user: @ ;s +! ;s ! 16888 5376 8092 3420 @ ;s +! ;s ! ;s 16888 5376 8092 3420 @ ;s +! ;s ! 16888 5376 8092 3420 ;s +! ;s ! ;s 16888 5376 8092 3420 ;s +! ;s ! 16888 5376 8092 3420 +! ;s ! ;s 16888 5376 8092 3420 +! ;s ! 16839 16712 0 127 var: +! ;s col: col: var: 16839 16712 0 127 var: +! ;s col: col: 16839 16712 0 127 var: +! ;s col: 16839 16712 0 127 +! ;s col: col: var: @ 16839 16712 0 127 +! ;s col: col: var: 16742 16742 0 0 ;s col: col: var: @ + 16723 0 16723 0 @local3 16720 16720 0 0 col: var: +! ;s 16720 16720 0 0 col: var: +! 16712 16712 0 0 col: var: +! ;s col: col: 16712 16712 0 0 col: var: +! ;s col: 16327 7651 3845 4831 user: @ ?dup 16081 6151 5647 4283 col: 2dup 16038 6279 5684 4075 col: var: @ col: 16037 6279 5683 4075 col: var: @ col: col: dup 16037 6279 5683 4075 col: var: @ col: col: 16003 5522 4751 5730 - ;s con: 16001 0 16001 0 >l @local0 16001 0 16001 0 >l >l @local0 15988 9171 2718 4099 rdrop ;s 15928 0 15928 0 lp+ ;s dup ?branch 15928 0 15928 0 @local1 @ lp+ ;s dup ?branch 15928 0 15928 0 @ lp+ ;s dup ?branch 15919 5423 4764 5732 / 15918 8761 3581 3576 swap ! 15916 5422 4763 5731 con: / 15898 7453 4734 3711 lit (+loop) 2dup i 2@ over 15898 7453 4734 3711 lit (+loop) 2dup i 2@ 15898 7453 4734 3711 lit (+loop) 2dup i 15898 7453 4734 3711 lit (+loop) 2dup 15898 7453 4734 3711 (+loop) 2dup i 2@ over <> 15898 7453 4734 3711 (+loop) 2dup i 2@ over 15898 7453 4734 3711 (+loop) 2dup i 2@ 15898 7453 4734 3711 (+loop) 2dup i 15898 7453 4734 3711 (+loop) 2dup 15840 6099 5528 4213 col: 2dup col: 15782 0 3603 12179 does: @ + 15636 24 6488 9124 defer: (type) ;s 15636 24 6488 9124 (type) ;s 15633 4888 4783 5962 ;s swap col: 15607 6100 5538 3969 2dup col: var: 15602 6099 5535 3968 defer: col: 2dup 15595 6099 5528 3968 user: ! ;s dup ?branch defer: 15595 6099 5528 3968 dup ?branch defer: col: 2dup col: 15595 6099 5528 3968 dup ?branch defer: col: 2dup 15595 6099 5528 3968 dup ?branch defer: col: 15595 6099 5528 3968 dup ?branch defer: 15595 6099 5528 3968 defer: col: 2dup col: var: @ 15595 6099 5528 3968 defer: col: 2dup col: var: 15595 6099 5528 3968 defer: col: 2dup col: 15595 6099 5528 3968 col: 2dup col: var: @ col: 15595 6099 5528 3968 col: 2dup col: var: @ 15595 6099 5528 3968 col: 2dup col: var: 15595 6099 5528 3968 ?branch defer: col: 2dup col: var: 15595 6099 5528 3968 ?branch defer: col: 2dup col: 15595 6099 5528 3968 ?branch defer: col: 2dup 15595 6099 5528 3968 ;s dup ?branch defer: col: 2dup 15595 6099 5528 3968 ;s dup ?branch defer: col: 15595 6099 5528 3968 ;s dup ?branch defer: 15595 6099 5528 3968 2dup col: var: @ col: col: 15595 6099 5528 3968 2dup col: var: @ col: 15595 6099 5528 3968 2dup col: var: @ 15595 6099 5528 3968 ! ;s dup ?branch defer: col: 15595 6099 5528 3968 ! ;s dup ?branch defer: 15592 6098 5527 3967 branch col: sp@ user: @ > 15592 6098 5527 3967 branch col: sp@ user: @ 15592 6098 5527 3967 branch col: sp@ user: 15592 6098 5527 3967 branch col: sp@ 15592 6098 5527 3967 ;s branch col: sp@ user: @ 15592 6098 5527 3967 ;s branch col: sp@ user: 15592 6098 5527 3967 ;s branch col: sp@ 15499 0 15499 0 ?branch @local1 15454 4805 4815 5834 user: @ ;s +! ;s col: 15454 4805 4815 5834 @ ;s +! ;s col: 15454 4805 4815 5834 ;s +! ;s col: 15386 6996 4836 3554 @ 1- 15359 2223 3942 9194 swap >r ;s count 15359 2223 3942 9194 aligned >r swap >r ;s count 15359 2223 3942 9194 >r swap >r ;s count 15359 2223 3942 9194 >r ;s count 15356 7180 4040 4136 ! lit 15346 4872 4747 5727 +! ;s col: dup col: col: 15346 4872 4747 5727 +! ;s col: dup col: 15346 4872 4747 5727 +! ;s col: dup 15314 4772 4751 5791 swap does: 15253 4772 4751 5730 swap does: + c@ ;s ;s 15253 4772 4751 5730 swap does: + c@ ;s 15253 4772 4751 5730 swap does: + c@ 15253 4772 4751 5730 swap does: + 15253 4772 4751 5730 swap col: con: - ;s con: 15253 4772 4751 5730 swap col: con: - ;s 15253 4772 4751 5730 swap col: con: - 15253 4772 4751 5730 swap c! ;s ;s ! ;s 15253 4772 4751 5730 swap c! ;s ;s ! 15253 4772 4751 5730 rot + swap does: + c@ 15253 4772 4751 5730 rot + swap does: + 15253 4772 4751 5730 rot + swap does: 15253 4772 4751 5730 or swap c! ;s ;s ! 15253 4772 4751 5730 lit /mod rot + swap does: 15253 4772 4751 5730 dup col: col: con: dup @ 15253 4772 4751 5730 dup col: col: con: dup 15253 4772 4751 5730 dup col: col: con: 15253 4772 4751 5730 dup @ + ;s swap col: 15253 4772 4751 5730 dup @ + ;s swap 15253 4772 4751 5730 dup @ + ;s 15253 4772 4751 5730 dup @ + 15253 4772 4751 5730 does: + c@ ;s ;s over 15253 4772 4751 5730 does: + c@ ;s ;s 15253 4772 4751 5730 does: + c@ ;s 15253 4772 4751 5730 does: + c@ 15253 4772 4751 5730 does: + 15253 4772 4751 5730 con: dup @ + ;s swap 15253 4772 4751 5730 con: dup @ + ;s 15253 4772 4751 5730 con: dup @ + 15253 4772 4751 5730 con: dup @ 15253 4772 4751 5730 con: dup 15253 4772 4751 5730 con: / col: col: lit /mod 15253 4772 4751 5730 con: / col: col: lit 15253 4772 4751 5730 con: / col: col: 15253 4772 4751 5730 con: / col: 15253 4772 4751 5730 con: - ;s con: / col: 15253 4772 4751 5730 con: - ;s con: / 15253 4772 4751 5730 con: - ;s con: 15253 4772 4751 5730 con: - ;s 15253 4772 4751 5730 col: dup col: col: con: dup 15253 4772 4751 5730 col: dup col: col: con: 15253 4772 4751 5730 col: con: dup @ + ;s 15253 4772 4751 5730 col: con: dup @ + 15253 4772 4751 5730 col: con: dup @ 15253 4772 4751 5730 col: con: dup 15253 4772 4751 5730 col: con: - ;s con: / 15253 4772 4751 5730 col: con: - ;s con: 15253 4772 4751 5730 col: con: - ;s 15253 4772 4751 5730 col: con: - 15253 4772 4751 5730 col: col: con: dup @ + 15253 4772 4751 5730 col: col: con: dup @ 15253 4772 4751 5730 col: col: con: dup 15253 4772 4751 5730 c! ;s ;s ! ;s ;s 15253 4772 4751 5730 c! ;s ;s ! ;s 15253 4772 4751 5730 c! ;s ;s ! 15253 4772 4751 5730 @ + ;s swap col: con: 15253 4772 4751 5730 @ + ;s swap col: 15253 4772 4751 5730 @ + ;s swap 15253 4772 4751 5730 ;s swap col: con: - ;s 15253 4772 4751 5730 ;s swap col: con: - 15253 4772 4751 5730 ;s swap col: con: 15253 4772 4751 5730 ;s con: / col: col: lit 15253 4772 4751 5730 ;s con: / col: col: 15253 4772 4751 5730 ;s con: / col: 15253 4772 4751 5730 ;s con: / 15253 4772 4751 5730 ;s ;s ! ;s ;s 15253 4772 4751 5730 ;s ;s ! ;s 15253 4772 4751 5730 ;s ;s ! 15253 4772 4751 5730 /mod rot + swap does: + 15253 4772 4751 5730 /mod rot + swap does: 15253 4772 4751 5730 / col: col: lit /mod rot 15253 4772 4751 5730 / col: col: lit /mod 15253 4772 4751 5730 / col: col: lit 15253 4772 4751 5730 / col: col: 15253 4772 4751 5730 / col: 15253 4772 4751 5730 - ;s con: / col: col: 15253 4772 4751 5730 - ;s con: / col: 15253 4772 4751 5730 - ;s con: / 15253 4772 4751 5730 + swap does: + c@ ;s 15253 4772 4751 5730 + swap does: + c@ 15253 4772 4751 5730 + swap does: + 15253 4772 4751 5730 + swap does: 15253 4772 4751 5730 + ;s swap col: con: - 15253 4772 4751 5730 + ;s swap col: con: 15253 4772 4751 5730 + ;s swap col: 15253 4772 4751 5730 + ;s swap 15243 4769 4747 5727 @ ;s +! ;s col: dup 15243 4769 4747 5727 ;s col: dup col: col: con: 15243 4769 4747 5727 ;s +! ;s col: dup col: 15243 4769 4747 5727 ;s +! ;s col: dup 15219 0 15219 0 col: >l >l @local0 15188 4750 8943 1495 lit over 15101 8364 3929 2808 0> 15042 8440 2906 3696 ;s ;s col: col: 15006 7596 2109 5301 con: col: col: col: user: @ 15006 7596 2109 5301 con: col: col: col: user: 14981 4702 1842 8437 var: col: 14906 7462 3695 3749 lit col: col: col: 14867 7906 3385 3576 swap ! ;s 14858 8489 3233 3136 con: swap 14817 0 14817 0 @local1 i col: cells + ;s 14817 0 14817 0 @local1 i col: cells + 14817 0 14817 0 @local1 i col: cells 14817 0 14817 0 @local1 i col: 14817 0 14817 0 @local1 i 14709 5907 5249 3553 cells over 14650 5908 5189 3553 execute col: drop 14649 5907 5189 3553 field: @ execute col: drop 14649 5907 5189 3553 @ field: @ execute col: drop 14649 5907 5189 3553 @ execute col: drop 14624 5659 3353 5612 ;s ?branch col: 14490 10884 1481 2125 ;s col: col: user: @ ;s 14458 5907 4998 3553 field: @ execute col: drop con: 14458 5907 4998 3553 execute col: drop con: ?branch 14458 5907 4998 3553 execute col: drop con: 14458 5907 4998 3553 drop con: ?branch 14458 5907 4998 3553 con: ?branch 14458 5907 4998 3553 col: drop con: ?branch 14458 5907 4998 3553 col: drop con: 14458 5907 4998 3553 @ execute col: drop con: ?branch 14458 5907 4998 3553 @ execute col: drop con: 14302 9355 2731 2216 ;s >r 14228 2456 9357 2415 + ;s ! 14200 9339 2738 2123 ?branch rdrop 14149 8293 2077 3779 ;s var: @ 14109 7750 3233 3126 con: swap ! ;s 14109 7750 3233 3126 con: swap ! 14109 7750 3233 3126 col: con: swap ! ;s 14109 7750 3233 3126 col: con: swap ! 14109 7750 3233 3126 col: con: swap 14108 3693 8837 1578 ;s con: - 14090 3669 8837 1584 aligned ;s 14084 3669 8837 1578 lit + aligned ;s con: - 14084 3669 8837 1578 lit + aligned ;s con: 14084 3669 8837 1578 lit + aligned ;s 14084 3669 8837 1578 lit + aligned 14084 3669 8837 1578 aligned ;s con: - 14084 3669 8837 1578 aligned ;s con: 14084 3669 8837 1578 @ ;s lit + aligned ;s 14084 3669 8837 1578 @ ;s lit + aligned 14084 3669 8837 1578 @ ;s lit + 14084 3669 8837 1578 @ ;s @ ;s lit + 14084 3669 8837 1578 ;s lit + aligned ;s con: 14084 3669 8837 1578 ;s lit + aligned ;s 14084 3669 8837 1578 ;s lit + aligned 14084 3669 8837 1578 ;s lit + 14084 3669 8837 1578 ;s @ ;s lit + aligned 14084 3669 8837 1578 ;s @ ;s lit + 14084 3669 8837 1578 + aligned ;s con: - 14084 3669 8837 1578 + aligned ;s con: 14084 3669 8837 1578 + aligned ;s 14050 5909 4587 3554 drop var: 14046 5907 4586 3553 var: dup @ 1- cells over 14046 5907 4586 3553 var: dup @ 1- cells 14046 5907 4586 3553 var: dup @ 1- 14046 5907 4586 3553 over + (do) 2dup i 2@ 14046 5907 4586 3553 over + (do) 2dup i 14046 5907 4586 3553 over + (do) 2dup 14046 5907 4586 3553 over + (do) 14046 5907 4586 3553 lit col: drop var: dup @ 14046 5907 4586 3553 lit col: drop var: dup 14046 5907 4586 3553 lit col: drop var: 14046 5907 4586 3553 lit col: drop 14046 5907 4586 3553 dup @ 1- cells over + 14046 5907 4586 3553 dup @ 1- cells over 14046 5907 4586 3553 dup @ 1- cells 14046 5907 4586 3553 dup @ 1- 14046 5907 4586 3553 drop var: dup @ 1- cells 14046 5907 4586 3553 drop var: dup @ 1- 14046 5907 4586 3553 drop var: dup @ 14046 5907 4586 3553 drop var: dup 14046 5907 4586 3553 col: drop var: dup @ 1- 14046 5907 4586 3553 col: drop var: dup @ 14046 5907 4586 3553 col: drop var: dup 14046 5907 4586 3553 col: drop var: 14046 5907 4586 3553 cells over + (do) 2dup i 14046 5907 4586 3553 cells over + (do) 2dup 14046 5907 4586 3553 cells over + (do) 14046 5907 4586 3553 cells over + 14046 5907 4586 3553 @ 1- cells over + (do) 14046 5907 4586 3553 @ 1- cells over + 14046 5907 4586 3553 @ 1- cells over 14046 5907 4586 3553 @ 1- cells 14046 5907 4586 3553 1- cells over + (do) 2dup 14046 5907 4586 3553 1- cells over + (do) 14046 5907 4586 3553 1- cells over + 14046 5907 4586 3553 1- cells over 14046 5907 4586 3553 1- cells 14046 5907 4586 3553 + (do) 2dup i 2@ over 14046 5907 4586 3553 + (do) 2dup i 2@ 14046 5907 4586 3553 + (do) 2dup i 14046 5907 4586 3553 + (do) 2dup 14046 5907 4586 3553 + (do) 14046 5907 4586 3553 (do) 2dup i 2@ over <> 14046 5907 4586 3553 (do) 2dup i 2@ over 14046 5907 4586 3553 (do) 2dup i 2@ 14046 5907 4586 3553 (do) 2dup i 14046 5907 4586 3553 (do) 2dup 13979 5490 4886 3603 dup ?branch nip 13973 9158 2702 2113 ?branch rdrop ;s 13967 6543 3581 3843 user: ! lit 13944 0 13944 0 branch >l 13926 5656 4873 3397 ;s ;s branch 13898 6869 3039 3990 and ?branch ;s 13893 7590 3620 2683 0> ?branch 13851 0 13851 0 branch >l lp- @local1 13851 0 13851 0 branch >l lp- 13819 5906 6286 1627 - dup 13785 6854 2022 4909 c! ;s (loop) 13785 6854 2022 4909 ;s c! ;s (loop) 13785 6854 2022 4909 ;s +! ;s c! ;s (loop) 13785 6854 2022 4909 +! ;s c! ;s (loop) 13733 5334 4305 4094 nip unloop ;s 13733 5334 4305 4094 nip unloop 13686 5533 4501 3652 unloop ;s ;s ;s 13554 10190 2812 552 ! ;s col: col: 13550 5410 4496 3644 unloop ;s ;s ;s dup ?branch 13550 5410 4496 3644 unloop ;s ;s ;s dup 13514 10437 1022 2055 (loop) unloop 13498 5334 4717 3447 dup ?branch nip nip 13498 5334 4717 3447 ;s dup ?branch nip nip 13498 5334 4717 3447 ;s dup ?branch nip 13498 5334 4717 3447 ;s ;s dup ?branch nip nip 13498 5334 4717 3447 ;s ;s dup ?branch nip 13439 6084 3666 3689 lit col: col: col: user: @ 13439 6084 3666 3689 lit col: col: col: user: 13409 6869 3039 3501 r> lit and ?branch ;s ;s 13409 6869 3039 3501 r> lit and ?branch ;s 13409 6869 3039 3501 lit and ?branch ;s ;s 13409 6869 3039 3501 lit and ?branch ;s 13409 6869 3039 3501 and ?branch ;s ;s 13409 6869 3039 3501 ?branch r> lit and ?branch ;s 13372 3913 7241 2218 dup ?branch 2drop 13359 5410 4305 3644 ;s ;s ;s dup ?branch col: 13278 12052 1082 144 con: = 13223 0 0 13223 var: +! ;s lit col: col: 13223 0 0 13223 var: +! ;s lit col: 13223 0 0 13223 var: +! ;s lit 13223 0 0 13223 lit var: +! ;s lit col: 13223 0 0 13223 lit var: +! ;s lit 13223 0 0 13223 ?branch lit var: +! ;s lit 13223 0 0 13223 +! ;s lit col: col: var: 13223 0 0 13223 +! ;s lit col: col: 13223 0 0 13223 +! ;s lit col: 13223 0 0 13223 +! ;s lit 13086 5334 4305 3447 nip unloop ;s ;s ;s dup 13086 5334 4305 3447 nip unloop ;s ;s ;s 13086 5334 4305 3447 nip unloop ;s ;s 13086 5334 4305 3447 nip nip unloop ;s ;s ;s 13086 5334 4305 3447 nip nip unloop ;s ;s 13086 5334 4305 3447 nip nip unloop ;s 13086 5334 4305 3447 nip nip unloop 13086 5334 4305 3447 dup ?branch nip nip unloop ;s 13086 5334 4305 3447 dup ?branch nip nip unloop 13086 5334 4305 3447 ?branch nip nip unloop ;s ;s 13086 5334 4305 3447 ?branch nip nip unloop ;s 13086 5334 4305 3447 ?branch nip nip unloop 13086 5334 4305 3447 ;s dup ?branch nip nip unloop 13067 3906 7235 1926 ;s dup ?branch 2drop 13067 2194 9214 1659 max 13028 10870 0 2158 var: @ ;s ;s lit 13028 10870 0 2158 col: var: @ ;s ;s lit 13028 10870 0 2158 @ ;s ;s lit 13022 9347 1567 2108 var: ! 13013 0 13013 0 lp+ branch >l 13013 0 13013 0 lp+ branch 12934 6698 3578 2658 ?branch 0> ?branch 12934 6698 3578 2658 ?branch 0> 12920 0 12920 0 lp+ branch >l lp- @local1 12920 0 12920 0 lp+ branch >l lp- 12846 3472 7125 2249 drop ;s 12843 4222 4548 4073 ! ;s ;s ;s 12825 6363 3588 2874 @ ?branch col: 12800 9712 1113 1975 move 12707 2194 8854 1659 lit max 12690 5907 3230 3553 execute col: drop con: ?branch lit 12690 5907 3230 3553 drop con: ?branch lit col: drop 12690 5907 3230 3553 drop con: ?branch lit col: 12690 5907 3230 3553 drop con: ?branch lit 12690 5907 3230 3553 con: ?branch lit col: drop var: 12690 5907 3230 3553 con: ?branch lit col: drop 12690 5907 3230 3553 con: ?branch lit col: 12690 5907 3230 3553 con: ?branch lit 12690 5907 3230 3553 col: drop con: ?branch lit col: 12690 5907 3230 3553 col: drop con: ?branch lit 12690 5907 3230 3553 ?branch lit col: drop var: dup 12690 5907 3230 3553 ?branch lit col: drop var: 12690 5907 3230 3553 ?branch lit col: drop 12656 5021 4190 3445 2drop ;s branch 12584 24 3942 8618 swap >r ;s count defer: (type) 12584 24 3942 8618 swap >r ;s count defer: 12584 24 3942 8618 count defer: (type) ;s 12584 24 3942 8618 count defer: (type) 12584 24 3942 8618 count defer: 12584 24 3942 8618 >r swap >r ;s count defer: 12584 24 3942 8618 >r ;s count defer: (type) ;s 12584 24 3942 8618 >r ;s count defer: (type) 12584 24 3942 8618 >r ;s count defer: 12584 24 3942 8618 ;s count defer: (type) ;s 12584 24 3942 8618 ;s count defer: (type) 12584 24 3942 8618 ;s count defer: 12503 7920 2582 2001 >r ?branch 12482 7581 2213 2688 ?branch @ 12458 11254 1060 144 con: = ?branch 12452 6452 3684 2316 user: +! 12341 4706 4190 3445 2drop ;s branch col: 12320 7179 1482 3659 ;s (loop) con: col: col: col: 12320 7179 1482 3659 ;s (loop) con: col: col: 12320 7179 1482 3659 ;s (loop) con: col: 12320 7179 1482 3659 ;s (loop) con: 12320 7179 1482 3659 (loop) con: col: col: col: 12320 7179 1482 3659 (loop) con: col: col: 12296 11906 0 390 + ;s c! 12244 5546 3348 3350 dup lit 12192 6885 3577 1730 dup ?branch drop 12059 0 0 12059 over @ 11986 4918 4173 2895 ! ;s lit 11959 11935 16 8 lit col: var: 11937 6230 2870 2837 col: dup @ 11922 11922 0 0 ;s c! ;s ;s 11906 11906 0 0 var: @ + ;s c! ;s 11906 11906 0 0 var: @ + ;s c! 11906 11906 0 0 col: var: @ + ;s c! 11906 11906 0 0 @ + ;s c! ;s ;s 11906 11906 0 0 @ + ;s c! ;s 11906 11906 0 0 @ + ;s c! 11906 11906 0 0 + ;s c! ;s ;s 11906 11906 0 0 + ;s c! ;s 11904 8061 1818 2025 @ dup ?branch 11878 0 11878 0 branch >l lp- @local1 col: >l 11878 0 11878 0 branch >l lp- @local1 col: 11824 2456 9357 11 cells + ;s ! 11789 191 1055 10543 ;s 0= ?branch 11754 0 0 11754 cell+ swap 11645 7817 2885 943 @ ;s col: 11555 0 11555 0 @local0 >l lp- @local1 11555 0 11555 0 @local0 >l lp- 11555 0 11555 0 @local0 >l 11542 3278 4078 4186 drop 2drop 11486 7629 3610 247 = ?branch drop 11485 8406 2550 529 ! ;s col: col: user: @ 11485 8406 2550 529 ! ;s col: col: user: 11479 4862 3642 2975 (hashfind) ;s ;s dup ?branch nip 11380 0 11380 0 ?branch @local3 11349 3738 4078 3533 2drop lit 11344 3798 6332 1214 - lit 11312 8039 890 2383 ;s col: var: 11312 11014 6 292 @ con: 11261 7119 2266 1876 swap >r ;s >r ?branch rdrop 11261 7119 2266 1876 swap >r ;s >r ?branch 11261 7119 2266 1876 swap >r ;s >r 11261 7119 2266 1876 aligned >r swap >r ;s >r 11261 7119 2266 1876 >r swap >r ;s >r ?branch 11261 7119 2266 1876 >r swap >r ;s >r 11261 7119 2266 1876 >r ?branch rdrop ;s 11261 7119 2266 1876 >r ?branch rdrop 11261 7119 2266 1876 >r ;s >r ?branch rdrop ;s 11261 7119 2266 1876 >r ;s >r ?branch rdrop 11261 7119 2266 1876 >r ;s >r ?branch 11261 7119 2266 1876 >r ;s >r 11261 7119 2266 1876 ;s >r ?branch rdrop ;s 11261 7119 2266 1876 ;s >r ?branch rdrop 11261 7119 2266 1876 ;s >r ?branch 11259 10870 0 389 var: @ ;s ;s lit col: 11259 10870 0 389 @ ;s ;s lit col: 11256 0 11256 0 @local0 >l lp- @local1 col: >l 11256 0 11256 0 @local0 >l lp- @local1 col: 11238 5280 3442 2516 user: @ ?branch 11231 158 118 10955 ;s ;s 0= 11214 0 11214 0 lp+ ;s dup ?branch @local3 11214 0 11214 0 dup ?branch @local3 11214 0 11214 0 @ lp+ ;s dup ?branch @local3 11214 0 11214 0 ;s dup ?branch @local3 11189 6447 2789 1953 swap user: 11157 5567 3715 1875 ?branch col: user: @ 11157 5567 3715 1875 ?branch col: user: 11047 11039 0 8 ;s lit col: var: 11034 5163 3383 2488 col: user: @ ?branch 11019 11011 0 8 ;s ;s lit col: var: 10947 0 10947 0 lp+ branch >l lp- @local1 col: 10890 3278 4078 3534 <> ?branch drop 10889 3278 4078 3533 over <> ?branch drop 2drop lit 10889 3278 4078 3533 over <> ?branch drop 2drop 10889 3278 4078 3533 over <> ?branch drop 10889 3278 4078 3533 i 2@ over <> ?branch drop 10889 3278 4078 3533 drop 2drop lit (+loop) 2dup i 10889 3278 4078 3533 drop 2drop lit (+loop) 2dup 10889 3278 4078 3533 drop 2drop lit (+loop) 10889 3278 4078 3533 drop 2drop lit 10889 3278 4078 3533 ?branch drop 2drop lit (+loop) 2dup 10889 3278 4078 3533 ?branch drop 2drop lit (+loop) 10889 3278 4078 3533 ?branch drop 2drop lit 10889 3278 4078 3533 ?branch drop 2drop 10889 3278 4078 3533 <> ?branch drop 2drop lit (+loop) 10889 3278 4078 3533 <> ?branch drop 2drop lit 10889 3278 4078 3533 <> ?branch drop 2drop 10889 3278 4078 3533 2drop lit (+loop) 2dup i 2@ 10889 3278 4078 3533 2drop lit (+loop) 2dup i 10889 3278 4078 3533 2drop lit (+loop) 2dup 10889 3278 4078 3533 2drop lit (+loop) 10889 3278 4078 3533 2@ over <> ?branch drop 2drop 10889 3278 4078 3533 2@ over <> ?branch drop 10829 0 10829 0 >l @local0 >l lp- @local1 10829 0 10829 0 >l @local0 >l lp- 10829 0 10829 0 >l @local0 >l 10829 0 10829 0 >l >l @local0 >l lp- @local1 10829 0 10829 0 >l >l @local0 >l lp- 10829 0 10829 0 >l >l @local0 >l 10783 3507 3727 3549 0< ?branch 10767 158 118 10491 ;s ;s 0= ?branch 10705 9889 344 472 ;s ;s ;s ;s ;s 10701 10701 0 0 lit col: var: +! ;s col: 10701 10701 0 0 lit col: var: +! ;s 10701 10701 0 0 lit col: var: +! 10701 10701 0 0 @ ;s ;s lit col: var: 10701 10701 0 0 ;s lit col: var: +! ;s 10701 10701 0 0 ;s lit col: var: +! 10701 10701 0 0 ;s ;s lit col: var: +! 10679 0 10679 0 @local3 = ?branch 10679 0 10679 0 @local3 = 10530 0 10530 0 >l @local0 >l lp- @local1 col: 10413 0 0 10413 and 0= 0= ;s ;s 0= 10413 0 0 10413 0= ;s ;s 0= ?branch 10413 0 0 10413 0= ;s ;s 0= 10413 0 0 10413 0= 0= ;s ;s 0= ?branch 10413 0 0 10413 0= 0= ;s ;s 0= 10392 3519 710 6163 and ;s 10385 4781 3064 2540 ?branch ;s ;s ;s 10354 5213 1482 3659 c! ;s (loop) con: col: col: 10354 5213 1482 3659 c! ;s (loop) con: col: 10354 5213 1482 3659 c! ;s (loop) con: 10354 5213 1482 3659 ;s c! ;s (loop) con: col: 10354 5213 1482 3659 ;s c! ;s (loop) con: 10354 5213 1482 3659 +! ;s c! ;s (loop) con: 10354 5213 1482 3659 (loop) con: col: col: col: user: 10285 9632 407 246 user: @ over min /string 10285 9632 407 246 user: @ over min 10285 9632 407 246 user: @ over 10285 9632 407 246 over min /string 10285 9632 407 246 over min 10285 9632 407 246 min /string 10285 9632 407 246 @ over min /string 10285 9632 407 246 @ over min 10059 8982 562 515 user: ! ;s col: 10057 0 10057 0 col: >l >l @local0 >l lp- 10057 0 10057 0 col: >l >l @local0 >l 10055 0 0 10055 does: @ + ;s 9975 8955 540 480 r> min user: ! ;s col: 9975 8955 540 480 min user: ! ;s col: 9892 4348 3034 2510 lit and ?branch ;s ;s ;s 9892 4348 3034 2510 and ?branch ;s ;s ;s 9833 9833 0 0 c! ;s ;s (loop) 9833 9833 0 0 ;s c! ;s ;s (loop) 9833 9833 0 0 ;s ;s (loop) 9833 9833 0 0 + ;s c! ;s ;s (loop) 9790 4702 1779 3309 var: col: con: 9740 4335 2202 3203 and col: 9730 0 9730 0 @local1 ?branch 9699 8995 489 215 dup con: 9672 0 9672 0 lp- @local1 ?branch 9672 0 9672 0 >l lp- @local1 ?branch 9650 4851 4118 681 user: @ lit 9562 4318 1809 3435 user: @ ;s @ ;s dup 9562 4318 1809 3435 @ ;s dup 9562 4318 1809 3435 @ ;s @ ;s dup 9562 4318 1809 3435 ;s @ ;s dup 9552 4192 2927 2433 and ?branch ;s ;s ;s dup 9552 4192 2927 2433 ?branch ;s ;s ;s dup 9509 4189 2891 2429 ?branch ;s ;s ;s dup ?branch 9485 3854 3429 2202 nip nip execute 9485 3854 3429 2202 nip execute 9485 3854 3429 2202 ?branch nip nip execute 9456 972 3282 5202 col: @ 9392 6838 2048 506 dup 0< 9387 2740 3808 2839 ;s ! ;s ;s ;s 9368 0 9368 0 @local1 col: >l >l 9365 4233 2050 3082 lit and col: 9346 4934 2570 1842 lit user: ! 9287 5005 3749 533 drop branch 9273 6719 2048 506 col: dup 0< 9260 2449 5522 1289 lit (?do) 9252 5638 2610 1004 ?branch 2dup 9243 5017 2420 1806 swap user: ! 9166 5473 1760 1933 @ col: col: col: 9163 0 0 9163 ;s ;s 0= ?branch lit col: 9163 0 0 9163 ;s ;s 0= ?branch lit 9163 0 0 9163 ;s 0= ?branch lit col: col: 9163 0 0 9163 ;s 0= ?branch lit col: 9163 0 0 9163 ;s 0= ?branch lit 9163 0 0 9163 0= ?branch lit col: col: var: 9163 0 0 9163 0= ?branch lit col: col: 9163 0 0 9163 0= ?branch lit col: 9163 0 0 9163 0= ;s ;s 0= ?branch lit 9156 3750 3269 2137 ;s ;s branch col: 9126 0 9126 0 ;s lp+ 9109 2873 3578 2658 dup ?branch 0> ?branch 9109 2873 3578 2658 dup ?branch 0> 9109 2873 3578 2658 ;s dup ?branch 0> ?branch 9109 2873 3578 2658 ;s dup ?branch 0> 9096 7867 360 869 col: col: defer: 9056 3750 3265 2041 ;s ;s branch col: sp@ user: 9056 3750 3265 2041 ;s ;s branch col: sp@ 9033 7613 557 863 ;s col: var: @ 9028 4802 2420 1806 lit user: ! ;s 9026 3066 2408 3552 ;s ?branch col: col: 9020 0 9020 0 lp+ ;s dup ?branch @local3 = 9020 0 9020 0 dup ?branch @local3 = ?branch 9020 0 9020 0 dup ?branch @local3 = 9020 0 9020 0 ?branch @local3 = ?branch 9020 0 9020 0 ?branch @local3 = 9020 0 9020 0 ;s dup ?branch @local3 = ?branch 9020 0 9020 0 ;s dup ?branch @local3 = 9008 4821 1807 2380 branch ;s 8983 8983 0 0 write-file 8967 7766 791 410 c! ;s ;s col: 8965 6410 2048 507 0< ;s 8964 6410 2048 506 dup 0< ;s 8964 6410 2048 506 col: dup 0< ;s 8903 4179 2687 2037 user: @ ?branch col: 8899 6064 1105 1730 ?branch >r 8895 4878 1279 2738 ?branch dup 8878 4748 3703 427 ?branch drop branch 8875 4702 1779 2394 var: col: con: swap ! ;s 8875 4702 1779 2394 var: col: con: swap ! 8875 4702 1779 2394 var: col: con: swap 8874 4166 2675 2033 col: user: @ ?branch col: 8859 7591 309 959 ;s ;s col: var: 8829 8621 103 105 ;s col: over 8719 0 8719 0 col: cells + ;s ! 8679 3367 1701 3611 ;s col: col: col: user: @ 8679 3367 1701 3611 ;s col: col: col: user: 8675 2617 3466 2592 ;s ;s dup ?branch 0> ?branch 8675 2617 3466 2592 ;s ;s dup ?branch 0> 8675 2617 3466 2592 ;s ;s ;s dup ?branch 0> 8673 0 8673 0 i col: cells + ;s ! 8658 0 8658 0 ?branch lp+ 8580 0 8580 0 @local1 col: >l >l @local0 8566 0 8566 0 = ?branch lp+ 8563 3102 1253 4208 swap (?do) 8558 2027 431 6100 swap r> 8558 0 8558 0 dup ?branch @local3 = ?branch lp+ 8558 0 8558 0 @local3 = ?branch lp+ branch >l 8558 0 8558 0 @local3 = ?branch lp+ branch 8558 0 8558 0 @local3 = ?branch lp+ 8558 0 8558 0 ?branch lp+ branch >l lp- @local1 8558 0 8558 0 ?branch lp+ branch >l lp- 8558 0 8558 0 ?branch lp+ branch >l 8558 0 8558 0 ?branch lp+ branch 8558 0 8558 0 ?branch @local3 = ?branch lp+ branch 8558 0 8558 0 ?branch @local3 = ?branch lp+ 8558 0 8558 0 = ?branch lp+ branch >l lp- 8558 0 8558 0 = ?branch lp+ branch >l 8558 0 8558 0 = ?branch lp+ branch 8550 0 8550 0 @local1 col: >l >l @local0 >l 8534 3169 2349 3016 @ lit pick 8526 2021 404 6101 >r over 8505 2363 3602 2540 ;s ;s ! ;s ;s ;s 8474 3154 2331 2989 pick ! ! 8474 3154 2331 2989 pick ! 8474 3154 2331 2989 lit pick ! ! 8474 3154 2331 2989 lit pick ! 8474 3154 2331 2989 dup @ lit pick ! ! 8474 3154 2331 2989 dup @ lit pick ! 8474 3154 2331 2989 dup @ lit pick 8474 3154 2331 2989 dup @ lit 8474 3154 2331 2989 @ lit pick ! ! 8474 3154 2331 2989 @ lit pick ! 8474 3154 2331 2989 ! ! 8418 2309 3101 3008 over - 8396 5341 2614 441 ;s dup ?branch drop 8394 3521 2836 2037 nip nip execute col: 8394 3521 2836 2037 nip execute col: 8394 3521 2836 2037 ?branch nip nip execute col: 8391 5341 2609 441 ;s ;s dup ?branch drop 8380 3626 4100 654 col: user: @ lit 8336 4191 1478 2667 execute col: col: 8319 8319 0 0 i c@ 8319 6033 1860 426 @ swap 8299 4055 2433 1811 user: ! lit user: ! 8299 4055 2433 1811 user: ! lit user: 8299 4055 2433 1811 ! lit user: ! 8299 4055 2433 1811 ! lit user: 8277 4043 2426 1808 user: @ ?branch col: user: @ 8277 4043 2426 1808 user: @ ?branch col: user: 8277 4043 2426 1808 @ ?branch col: user: @ 8277 4043 2426 1808 @ ?branch col: user: 8272 4044 2422 1806 ?branch ;s branch 8269 4041 2422 1806 col: ?dup ?branch ;s branch 8269 4041 2422 1806 ?dup ?branch ;s branch 8268 4042 2420 1806 @ ?dup ?branch 8267 4041 2420 1806 user: @ ?dup ?branch read-line col: 8267 4041 2420 1806 user: @ ?dup ?branch read-line 8267 4041 2420 1806 user: @ ?dup ?branch 8267 4041 2420 1806 user: @ ;s con: user: @ 8267 4041 2420 1806 user: @ ;s con: user: 8267 4041 2420 1806 user: @ ;s con: 8267 4041 2420 1806 user: +! swap user: ! lit 8267 4041 2420 1806 user: +! swap user: ! 8267 4041 2420 1806 user: +! swap user: 8267 4041 2420 1806 user: +! swap 8267 4041 2420 1806 user: ! lit user: ! ;s 8267 4041 2420 1806 swap user: ! lit user: ! 8267 4041 2420 1806 swap user: ! lit user: 8267 4041 2420 1806 swap user: ! lit 8267 4041 2420 1806 read-line col: ?dup ?branch ;s branch 8267 4041 2420 1806 read-line col: ?dup ?branch ;s 8267 4041 2420 1806 read-line col: ?dup ?branch 8267 4041 2420 1806 read-line col: ?dup 8267 4041 2420 1806 read-line col: 8267 4041 2420 1806 read-line 8267 4041 2420 1806 lit user: +! swap user: ! 8267 4041 2420 1806 lit user: +! swap user: 8267 4041 2420 1806 lit user: +! swap 8267 4041 2420 1806 lit user: +! 8267 4041 2420 1806 con: user: @ ?dup ?branch read-line 8267 4041 2420 1806 con: user: @ ?dup ?branch 8267 4041 2420 1806 con: user: @ ?dup 8267 4041 2420 1806 con: user: @ 8267 4041 2420 1806 con: user: 8267 4041 2420 1806 col: user: @ ?branch col: user: 8267 4041 2420 1806 col: user: @ ;s con: user: 8267 4041 2420 1806 col: user: @ ;s con: 8267 4041 2420 1806 col: ?dup ?branch ;s branch lit 8267 4041 2420 1806 branch lit user: +! swap user: 8267 4041 2420 1806 branch lit user: +! swap 8267 4041 2420 1806 branch lit user: +! 8267 4041 2420 1806 branch lit user: 8267 4041 2420 1806 @ ?dup ?branch read-line col: ?dup 8267 4041 2420 1806 @ ?dup ?branch read-line col: 8267 4041 2420 1806 @ ?dup ?branch read-line 8267 4041 2420 1806 @ ?branch col: user: @ ;s 8267 4041 2420 1806 @ ;s con: user: @ ?dup 8267 4041 2420 1806 @ ;s con: user: @ 8267 4041 2420 1806 @ ;s con: user: 8267 4041 2420 1806 ?dup ?branch read-line col: ?dup ?branch 8267 4041 2420 1806 ?dup ?branch read-line col: ?dup 8267 4041 2420 1806 ?dup ?branch read-line col: 8267 4041 2420 1806 ?dup ?branch read-line 8267 4041 2420 1806 ?dup ?branch ;s branch lit user: 8267 4041 2420 1806 ?dup ?branch ;s branch lit 8267 4041 2420 1806 ?branch read-line col: ?dup ?branch ;s 8267 4041 2420 1806 ?branch read-line col: ?dup ?branch 8267 4041 2420 1806 ?branch read-line col: ?dup 8267 4041 2420 1806 ?branch read-line col: 8267 4041 2420 1806 ?branch read-line 8267 4041 2420 1806 ?branch col: user: @ ;s con: 8267 4041 2420 1806 ?branch col: user: @ ;s 8267 4041 2420 1806 ?branch ;s branch lit user: +! 8267 4041 2420 1806 ?branch ;s branch lit user: 8267 4041 2420 1806 ?branch ;s branch lit 8267 4041 2420 1806 ;s con: user: @ ?dup ?branch 8267 4041 2420 1806 ;s con: user: @ ?dup 8267 4041 2420 1806 ;s con: user: @ 8267 4041 2420 1806 ;s con: user: 8267 4041 2420 1806 ;s branch lit user: +! swap 8267 4041 2420 1806 ;s branch lit user: +! 8267 4041 2420 1806 ;s branch lit user: 8267 4041 2420 1806 +! swap user: ! lit user: 8267 4041 2420 1806 +! swap user: ! lit 8267 4041 2420 1806 +! swap user: ! 8267 4041 2420 1806 +! swap user: 8267 4041 2420 1806 +! swap 8267 4041 2420 1806 ! lit user: ! ;s 8202 3303 3181 1718 negate 8197 7800 201 196 ;s @ ;s ;s 8178 6193 652 1333 ;s ;s col: col: col: 8144 7747 201 196 user: @ ;s @ ;s ;s 8144 7747 201 196 @ ;s @ ;s ;s 8129 3505 2672 1952 ;s ;s ;s col: 8098 1324 4031 2743 col: lit col: 8060 3610 1425 3025 user: @ ?dup ;s ?branch 8060 3610 1425 3025 user: @ ?dup ;s 8060 3610 1425 3025 col: user: @ ?dup ;s ?branch 8060 3610 1425 3025 col: user: @ ?dup ;s 8060 3610 1425 3025 col: user: @ ?dup 8060 3610 1425 3025 @ ?dup ;s ?branch 8060 3610 1425 3025 @ ?dup ;s 8060 3610 1425 3025 ?dup ;s ?branch 8060 3610 1425 3025 ?dup ;s 8050 2658 2615 2777 ?branch ;s col: 8021 4619 1455 1947 var: @ ?branch 7903 1257 321 6325 col: var: col: 7877 4493 1094 2290 ! ;s ;s col: 7875 7665 0 210 @ ;s ;s col: 7873 6663 793 417 ! col: 7860 7655 100 105 >r rot 7845 7844 1 0 cell+ ;s 7836 7649 77 110 over >r 7835 7648 72 115 rot over 7825 7648 72 105 rot over 1+ r> move c! 7825 7648 72 105 rot over 1+ r> move 7825 7648 72 105 rot over 1+ r> 7825 7648 72 105 rot over 1+ 7825 7648 72 105 r> move c! ;s 7825 7648 72 105 r> move c! 7825 7648 72 105 r> move 7825 7648 72 105 over >r rot over 1+ r> 7825 7648 72 105 over >r rot over 1+ 7825 7648 72 105 over >r rot over 7825 7648 72 105 over >r rot 7825 7648 72 105 over 1+ r> move c! ;s 7825 7648 72 105 over 1+ r> move c! 7825 7648 72 105 over 1+ r> move 7825 7648 72 105 over 1+ r> 7825 7648 72 105 over 1+ 7825 7648 72 105 move c! ;s 7825 7648 72 105 move c! 7825 7648 72 105 col: over >r rot over 1+ 7825 7648 72 105 col: over >r rot over 7825 7648 72 105 col: over >r rot 7825 7648 72 105 col: over >r 7825 7648 72 105 >r rot over 1+ r> move 7825 7648 72 105 >r rot over 1+ r> 7825 7648 72 105 >r rot over 1+ 7825 7648 72 105 >r rot over 7825 7648 72 105 ;s col: over >r rot over 7825 7648 72 105 ;s col: over >r rot 7825 7648 72 105 ;s col: over >r 7825 7648 72 105 1+ r> move c! ;s 7825 7648 72 105 1+ r> move c! 7825 7648 72 105 1+ r> move 7809 4695 1605 1509 ;s user: ! 7808 1560 5152 1096 con: - dup 7801 3079 1679 3043 @ 0< ?branch 7801 3079 1679 3043 @ 0< 7796 7612 4 180 c! col: 7781 7619 81 81 col: col: defer: col: 7768 7612 4 152 c! ;s con: col: col: 7768 7612 4 152 c! ;s con: col: 7768 7612 4 152 c! ;s con: 7767 4334 1823 1610 ;s lit col: col: col: 7760 3063 1679 3018 dup @ 0< ?branch 7760 3063 1679 3018 dup @ 0< 7759 7698 7 54 ;s @ ;s col: 7758 7731 4 23 @ ;s col: over 7758 3325 2592 1841 ;s ;s ;s ;s col: 7742 7715 4 23 dup con: = ?branch 7742 7715 4 23 dup con: = 7739 7678 7 54 user: @ ;s @ ;s col: 7739 7678 7 54 @ ;s @ ;s col: 7726 1406 5148 1172 swap lit 7714 4917 1359 1438 0= col: 7711 4916 1359 1436 0= col: col: 7682 3441 3934 307 ;s @ col: 7674 7630 21 23 branch 2dup 7657 7615 15 27 user: ! ;s col: col: 7657 7615 15 27 min user: ! ;s col: col: 7656 7629 4 23 dup con: = ?branch drop 7656 7629 4 23 con: = ?branch drop 7649 7612 4 33 con: col: col: defer: 7639 7612 4 23 user: @ over min /string rot 7639 7612 4 23 user: @ ;s @ ;s count 7639 7612 4 23 user: ! ;s col: col: user: 7639 7612 4 23 rot dup con: = ?branch drop 7639 7612 4 23 rot dup con: = ?branch 7639 7612 4 23 rot dup con: = 7639 7612 4 23 rot dup con: 7639 7612 4 23 rot dup 7639 7612 4 23 r> move c! ;s con: col: 7639 7612 4 23 r> move c! ;s con: 7639 7612 4 23 over min /string rot dup con: 7639 7612 4 23 over min /string rot dup 7639 7612 4 23 over min /string rot 7639 7612 4 23 move c! ;s con: col: col: 7639 7612 4 23 move c! ;s con: col: 7639 7612 4 23 move c! ;s con: 7639 7612 4 23 min /string rot dup con: = 7639 7612 4 23 min /string rot dup con: 7639 7612 4 23 min /string rot dup 7639 7612 4 23 min /string rot 7639 7612 4 23 dup con: = ?branch drop (parse-white) 7639 7612 4 23 drop (parse-white) branch 2dup + r> 7639 7612 4 23 drop (parse-white) branch 2dup + 7639 7612 4 23 drop (parse-white) branch 2dup 7639 7612 4 23 drop (parse-white) branch 7639 7612 4 23 drop (parse-white) 7639 7612 4 23 count + c! col: col: user: 7639 7612 4 23 count + c! col: col: 7639 7612 4 23 count + c! col: 7639 7612 4 23 count + c! 7639 7612 4 23 con: col: col: defer: col: col: 7639 7612 4 23 con: col: col: defer: col: 7639 7612 4 23 con: = ?branch drop (parse-white) branch 7639 7612 4 23 con: = ?branch drop (parse-white) 7639 7612 4 23 col: col: defer: col: col: user: 7639 7612 4 23 col: col: defer: col: col: 7639 7612 4 23 c! col: col: user: @ ;s 7639 7612 4 23 c! col: col: user: @ 7639 7612 4 23 c! col: col: user: 7639 7612 4 23 c! col: col: 7639 7612 4 23 c! ;s con: col: col: user: 7639 7612 4 23 branch 2dup + r> - 1+ 7639 7612 4 23 branch 2dup + r> - 7639 7612 4 23 branch 2dup + r> 7639 7612 4 23 branch 2dup + 7639 7612 4 23 @ over min /string rot dup 7639 7612 4 23 @ over min /string rot 7639 7612 4 23 @ ;s count + c! col: 7639 7612 4 23 @ ;s count + c! 7639 7612 4 23 @ ;s count + 7639 7612 4 23 @ ;s count 7639 7612 4 23 @ ;s col: over >r rot 7639 7612 4 23 @ ;s col: over >r 7639 7612 4 23 @ ;s @ ;s count + 7639 7612 4 23 @ ;s @ ;s count 7639 7612 4 23 @ ;s @ ;s col: over 7639 7612 4 23 ?branch drop (parse-white) branch 2dup + 7639 7612 4 23 ?branch drop (parse-white) branch 2dup 7639 7612 4 23 ?branch drop (parse-white) branch 7639 7612 4 23 ?branch drop (parse-white) 7639 7612 4 23 >r user: @ over min /string 7639 7612 4 23 >r user: @ over min 7639 7612 4 23 >r user: @ over 7639 7612 4 23 >r >r user: @ over min 7639 7612 4 23 >r >r user: @ over 7639 7612 4 23 = ?branch drop (parse-white) branch 2dup 7639 7612 4 23 = ?branch drop (parse-white) branch 7639 7612 4 23 = ?branch drop (parse-white) 7639 7612 4 23 ;s count + c! col: col: 7639 7612 4 23 ;s count + c! col: 7639 7612 4 23 ;s count + c! 7639 7612 4 23 ;s count + 7639 7612 4 23 ;s @ ;s count + c! 7639 7612 4 23 ;s @ ;s count + 7639 7612 4 23 ;s @ ;s count 7639 7612 4 23 ;s @ ;s col: over >r 7639 7612 4 23 ;s @ ;s col: over 7639 7612 4 23 2dup >r >r user: @ over 7639 7612 4 23 1+ r> move c! ;s con: 7639 7612 4 23 /string rot dup con: = ?branch 7639 7612 4 23 /string rot dup con: = 7639 7612 4 23 /string rot dup con: 7639 7612 4 23 /string rot dup 7639 7612 4 23 /string rot 7639 7612 4 23 + c! col: col: user: @ 7639 7612 4 23 + c! col: col: user: 7639 7612 4 23 + c! col: col: 7639 7612 4 23 + c! col: 7639 7612 4 23 + c! 7639 7612 4 23 (parse-white) branch 2dup + r> - 7639 7612 4 23 (parse-white) branch 2dup + r> 7639 7612 4 23 (parse-white) branch 2dup + 7639 7612 4 23 (parse-white) branch 2dup 7639 7612 4 23 (parse-white) branch 7639 2780 3862 997 dup col: col: col: 7610 6591 300 719 2drop ;s ;s 7605 7605 0 0 over + swap ;s 7605 7605 0 0 over + swap 7605 7605 0 0 col: over + swap ;s 7605 7605 0 0 col: over + swap 7605 7605 0 0 col: over + 7604 1500 5092 1012 aligned ;s con: - dup 7604 1500 5092 1012 ;s con: - dup 7604 1500 5092 1012 + aligned ;s con: - dup 7563 2310 3267 1986 (?do) unloop 7544 3071 3934 539 + col: 7541 6394 249 898 ;s ;s con: 7540 3302 1940 2298 swap ! ;s ;s 7530 3057 3934 539 + col: col: 7487 3061 1699 2727 cell+ count lit and 7487 3061 1699 2727 cell+ count lit 7487 3061 1699 2727 cell+ count 7452 6410 521 521 col: >r col: 7442 3248 1940 2254 con: swap ! ;s ;s 7442 3248 1940 2254 col: con: swap ! ;s ;s 7430 4635 1359 1436 0= col: col: r> r> dup 7430 4635 1359 1436 0= col: col: r> r> 7430 4635 1359 1436 0= col: col: r> 7429 0 7429 0 lp+!# ;s 7429 0 7429 0 lp+!# 7424 4790 1683 951 ?branch 0> ?branch nip 7424 4790 1683 951 0> ?branch nip 7400 0 7400 0 ;s >l lp- 7400 0 7400 0 ;s >l 7395 2169 3745 1481 over +! @ 7395 2169 3745 1481 over +! 7395 2169 3745 1481 +! @ 7384 0 7384 0 lp+ ;s >l lp- 7384 0 7384 0 lp+ ;s >l 7380 6984 289 107 unloop 2drop 7380 0 7380 0 ;s >l lp- @local1 7372 6951 0 421 c@ col: 7368 4532 1029 1807 r> col: 7365 0 7365 0 lp+ ;s >l lp- @local1 ?branch 7365 0 7365 0 lp+ ;s >l lp- @local1 7365 0 7365 0 cell+ @local1 @ lp+ ;s >l 7365 0 7365 0 @local1 @ lp+ ;s >l lp- 7365 0 7365 0 @local1 @ lp+ ;s >l 7365 0 7365 0 @ lp+ ;s >l lp- @local1 7365 0 7365 0 @ lp+ ;s >l lp- 7365 0 7365 0 @ lp+ ;s >l 7365 0 7365 0 ;s >l lp- @local1 ?branch 7338 3105 2407 1826 ?branch 2drop ;s 7326 2686 1927 2713 swap col: lit 7316 3106 2408 1802 col: col: sp@ user: @ > 7316 3106 2408 1802 col: col: sp@ user: @ 7316 3106 2408 1802 col: col: sp@ user: 7316 3106 2408 1802 col: col: sp@ 7313 3105 2407 1801 user: ! ;s dup ?branch 2drop 7313 3105 2407 1801 dup ?branch 2drop ;s 7313 3105 2407 1801 ;s dup ?branch 2drop ;s 7313 3105 2407 1801 ! ;s dup ?branch 2drop ;s 7313 3105 2407 1801 ! ;s dup ?branch 2drop 7309 7250 16 43 ;s ;s col: var: @ 7309 7073 0 236 ;s col: col: col: var: 7293 3143 2195 1955 ;s 2drop 7287 3061 2420 1806 user: ! ;s ?branch 7287 3061 2420 1806 lit user: ! ;s ?branch 7287 3061 2420 1806 ! lit user: ! ;s ?branch 7287 3061 2420 1806 ! ;s ?branch 7275 6163 762 350 swap c! ;s ;s col: 7274 3977 1650 1647 dup 0= 7267 0 7267 0 lp+2 7257 3048 2408 1801 user: ! ;s ?branch col: col: 7257 3048 2408 1801 user: ! ;s ?branch col: 7257 3048 2408 1801 lit user: ! ;s ?branch col: 7257 3048 2408 1801 ?branch col: col: sp@ user: @ 7257 3048 2408 1801 ?branch col: col: sp@ user: 7257 3048 2408 1801 ?branch col: col: sp@ 7257 3048 2408 1801 ;s ?branch col: col: sp@ user: 7257 3048 2408 1801 ;s ?branch col: col: sp@ 7257 3048 2408 1801 ! ;s ?branch col: col: sp@ 7257 3048 2408 1801 ! ;s ?branch col: col: 7257 3048 2408 1801 ! ;s ?branch col: 7256 5635 827 794 dup ?branch 2dup 7255 3047 2407 1801 dup ?branch 2drop ;s branch col: 7255 3047 2407 1801 dup ?branch 2drop ;s branch 7255 3047 2407 1801 branch col: user: @ ?branch col: 7255 3047 2407 1801 branch col: user: @ ?branch 7255 3047 2407 1801 branch col: user: @ 7255 3047 2407 1801 branch col: user: 7255 3047 2407 1801 ?branch 2drop ;s branch col: user: 7255 3047 2407 1801 ?branch 2drop ;s branch col: 7255 3047 2407 1801 ?branch 2drop ;s branch 7255 3047 2407 1801 ;s dup ?branch 2drop ;s branch 7255 3047 2407 1801 ;s branch col: user: @ ?branch 7255 3047 2407 1801 ;s branch col: user: @ 7255 3047 2407 1801 ;s branch col: user: 7255 3047 2407 1801 2drop ;s branch col: user: @ 7255 3047 2407 1801 2drop ;s branch col: user: 7245 5634 822 789 @ dup ?branch 2dup 7163 3249 2907 1007 ! var: 7145 3349 1082 2714 ;s ;s var: 7139 3706 1823 1610 ;s lit col: col: col: user: 7084 6430 645 9 ;s var: ! 7073 7073 0 0 ;s col: col: col: var: @ 7073 5915 321 837 @ 0= 7041 3261 2508 1272 ;s ;s ;s branch 7005 2289 2541 2175 lit cells 6997 29 5140 1828 unloop drop 6951 6951 0 0 i c@ col: col: col: var: 6951 6951 0 0 i c@ col: col: col: 6951 6951 0 0 i c@ col: col: 6951 6951 0 0 i c@ col: 6951 6951 0 0 c@ col: col: col: var: @ 6951 6951 0 0 c@ col: col: col: var: 6951 6951 0 0 c@ col: col: col: 6951 6951 0 0 c@ col: col: 6945 0 3574 3371 + @ ;s 6928 6410 12 506 dup 0< ;s r> 6928 6410 12 506 col: dup 0< ;s r> 6928 6410 12 506 col: >r col: dup 0< ;s 6928 6410 12 506 col: >r col: dup 0< 6928 6410 12 506 col: >r col: dup 6928 6410 12 506 >r col: dup 0< ;s r> 6928 6410 12 506 >r col: dup 0< ;s 6928 6410 12 506 >r col: dup 0< 6928 6410 12 506 >r col: dup 6928 6410 12 506 0< ;s r> 6909 6873 0 36 + ;s col: 6903 1265 561 5077 @ @ 6852 2048 2048 2756 ;s lit pick 6845 6845 0 0 cell+ ;s @ 6800 6765 16 19 ;s col: >r 6757 1898 3862 997 dup col: col: col: user: @ 6757 1898 3862 997 dup col: col: col: user: 6754 2984 2333 1437 r> lit and ?branch negate ;s 6754 2984 2333 1437 r> lit and ?branch negate 6754 2984 2333 1437 negate ;s ;s 6754 2984 2333 1437 negate ;s 6754 2984 2333 1437 lit and ?branch negate ;s ;s 6754 2984 2333 1437 lit and ?branch negate ;s 6754 2984 2333 1437 lit and ?branch negate 6754 2984 2333 1437 and ?branch negate ;s ;s 6754 2984 2333 1437 and ?branch negate ;s 6754 2984 2333 1437 and ?branch negate 6754 2984 2333 1437 ?branch negate ;s ;s 6754 2984 2333 1437 ?branch negate ;s 6754 2984 2333 1437 ?branch negate 6753 0 6753 0 col: cells + ;s ! (loop) 6753 0 6753 0 cells + ;s ! (loop) 6753 0 6753 0 ;s ! (loop) 6753 0 6753 0 + ;s ! (loop) 6753 0 6753 0 ! (loop) 6752 6752 0 0 var: @ + ;s col: >r 6752 6752 0 0 var: @ + ;s col: 6752 6752 0 0 r> con: col: over + swap 6752 6752 0 0 r> con: col: over + 6752 6752 0 0 r> con: col: over 6752 6752 0 0 r> con: col: 6752 6752 0 0 r> con: 6752 6752 0 0 con: col: over + swap ;s 6752 6752 0 0 con: col: over + swap 6752 6752 0 0 con: col: over + 6752 6752 0 0 con: col: over 6752 6752 0 0 col: var: @ + ;s col: 6752 6752 0 0 @ + ;s col: >r 6752 6752 0 0 @ + ;s col: 6752 6752 0 0 + ;s col: >r 6752 6752 0 0 (do) con: 6629 2062 2518 2049 ! ;s ;s ;s ;s 6601 1062 4151 1388 drop ;s ;s 6594 6594 0 0 var: @ ;s ;s col: 6594 6594 0 0 col: var: @ ;s ;s col: 6589 2141 3027 1421 lit col: >r 6565 2169 3890 506 < 6534 4748 826 960 dup >r 6497 3081 1390 2026 ! lit col: 6480 2169 3745 566 over +! @ c! ;s ;s 6480 2169 3745 566 over +! @ c! ;s 6480 2169 3745 566 over +! @ c! 6480 2169 3745 566 lit over +! @ c! ;s 6480 2169 3745 566 lit over +! @ c! 6480 2169 3745 566 lit over +! @ 6480 2169 3745 566 lit over +! 6480 2169 3745 566 con: - lit over +! @ 6480 2169 3745 566 con: - lit over +! 6480 2169 3745 566 con: - lit over 6480 2169 3745 566 con: - lit 6480 2169 3745 566 aligned ;s con: - lit over 6480 2169 3745 566 aligned ;s con: - lit 6480 2169 3745 566 @ c! ;s ;s 6480 2169 3745 566 @ c! ;s 6480 2169 3745 566 @ c! 6480 2169 3745 566 ;s con: - lit over +! 6480 2169 3745 566 ;s con: - lit over 6480 2169 3745 566 ;s con: - lit 6480 2169 3745 566 - lit over +! @ c! 6480 2169 3745 566 - lit over +! @ 6480 2169 3745 566 - lit over +! 6480 2169 3745 566 - lit over 6480 2169 3745 566 +! @ c! ;s ;s 6480 2169 3745 566 +! @ c! ;s 6480 2169 3745 566 +! @ c! 6480 2169 3745 566 + aligned ;s con: - lit 6442 4682 1097 663 @ ;s user: @ ;s user: 6442 4682 1097 663 ;s user: @ ;s user: 6432 30 6177 225 ?branch drop con: 6427 5951 322 154 swap c! ;s ;s col: col: 6427 5951 322 154 c! ;s ;s col: col: 6417 6410 7 0 (loop) unloop 2drop 6410 6410 0 0 unloop 2drop ;s ;s 6410 6410 0 0 unloop 2drop ;s 6410 6410 0 0 swap ;s (do) con: col: >r 6410 6410 0 0 swap ;s (do) con: col: 6410 6410 0 0 swap ;s (do) con: 6410 6410 0 0 swap ;s (do) 6410 6410 0 0 rot i c! (loop) unloop 2drop 6410 6410 0 0 rot i c! (loop) unloop 6410 6410 0 0 over + swap ;s (do) con: 6410 6410 0 0 over + swap ;s (do) 6410 6410 0 0 i c! (loop) unloop 2drop ;s 6410 6410 0 0 i c! (loop) unloop 2drop 6410 6410 0 0 i c! (loop) unloop 6410 6410 0 0 dup 0< ;s r> con: col: 6410 6410 0 0 dup 0< ;s r> con: 6410 6410 0 0 col: over + swap ;s (do) 6410 6410 0 0 col: dup 0< ;s r> con: 6410 6410 0 0 c! (loop) unloop 2drop ;s ;s 6410 6410 0 0 c! (loop) unloop 2drop ;s 6410 6410 0 0 c! (loop) unloop 2drop 6410 6410 0 0 c! (loop) unloop 6410 6410 0 0 @ + ;s col: >r col: 6410 6410 0 0 ;s rot i c! (loop) unloop 6410 6410 0 0 ;s r> con: col: over + 6410 6410 0 0 ;s r> con: col: over 6410 6410 0 0 ;s r> con: col: 6410 6410 0 0 ;s r> con: 6410 6410 0 0 ;s col: >r col: dup 0< 6410 6410 0 0 ;s col: >r col: dup 6410 6410 0 0 ;s col: >r col: 6410 6410 0 0 ;s (do) con: col: >r lit 6410 6410 0 0 ;s (do) con: col: >r 6410 6410 0 0 ;s (do) con: col: 6410 6410 0 0 ;s (do) con: 6410 6410 0 0 ;s (do) 6410 6410 0 0 0< ;s r> con: col: over 6410 6410 0 0 0< ;s r> con: col: 6410 6410 0 0 0< ;s r> con: 6410 6410 0 0 + swap ;s (do) con: col: 6410 6410 0 0 + swap ;s (do) con: 6410 6410 0 0 + swap ;s (do) 6410 6410 0 0 + ;s col: >r col: dup 6410 6410 0 0 + ;s col: >r col: 6410 6410 0 0 (loop) unloop 2drop ;s ;s 6410 6410 0 0 (loop) unloop 2drop ;s 6410 6410 0 0 (do) con: col: >r lit r@ 6410 6410 0 0 (do) con: col: >r lit 6410 6410 0 0 (do) con: col: >r 6410 6410 0 0 (do) con: col: 6391 2169 3716 506 user: @ lit max col: >r 6391 2169 3716 506 user: @ lit max col: 6391 2169 3716 506 user: @ lit max 6391 2169 3716 506 um/mod r> ;s rot lit over 6391 2169 3716 506 um/mod r> ;s rot lit 6391 2169 3716 506 rot lit over < ?branch lit 6391 2169 3716 506 rot lit over < ?branch 6391 2169 3716 506 rot lit over < 6391 2169 3716 506 rot lit over 6391 2169 3716 506 rot lit 6391 2169 3716 506 r> ;s rot lit over < 6391 2169 3716 506 r> ;s rot lit over 6391 2169 3716 506 r> ;s rot lit 6391 2169 3716 506 over < ?branch lit + col: 6391 2169 3716 506 over < ?branch lit + 6391 2169 3716 506 over < ?branch lit 6391 2169 3716 506 over < ?branch 6391 2169 3716 506 over < 6391 2169 3716 506 max col: >r lit r@ um/mod 6391 2169 3716 506 max col: >r lit r@ 6391 2169 3716 506 max col: >r lit 6391 2169 3716 506 max col: >r 6391 2169 3716 506 max col: 6391 2169 3716 506 lit over < ?branch lit + 6391 2169 3716 506 lit over < ?branch lit 6391 2169 3716 506 lit over < ?branch 6391 2169 3716 506 lit over < 6391 2169 3716 506 lit max col: >r lit r@ 6391 2169 3716 506 lit max col: >r lit 6391 2169 3716 506 lit max col: >r 6391 2169 3716 506 lit max col: 6391 2169 3716 506 lit + col: col: col: col: 6391 2169 3716 506 lit + col: col: col: 6391 2169 3716 506 lit + col: col: 6391 2169 3716 506 lit + col: 6391 2169 3716 506 d0= ?branch 6391 2169 3716 506 d0= 6391 2169 3716 506 col: user: @ lit max col: 6391 2169 3716 506 col: user: @ lit max 6391 2169 3716 506 c! ;s ;s 2dup d0= ?branch 6391 2169 3716 506 c! ;s ;s 2dup d0= 6391 2169 3716 506 c! ;s ;s 2dup 6391 2169 3716 506 @ lit max col: >r lit 6391 2169 3716 506 @ lit max col: >r 6391 2169 3716 506 @ lit max col: 6391 2169 3716 506 @ lit max 6391 2169 3716 506 @ c! ;s ;s 2dup d0= 6391 2169 3716 506 @ c! ;s ;s 2dup 6391 2169 3716 506 ?branch lit + col: col: col: 6391 2169 3716 506 ?branch lit + col: col: 6391 2169 3716 506 ?branch lit + col: 6391 2169 3716 506 ?branch lit + 6391 2169 3716 506 >r um/mod r> ;s rot lit 6391 2169 3716 506 < ?branch lit + col: col: 6391 2169 3716 506 < ?branch lit + col: 6391 2169 3716 506 < ?branch lit + 6391 2169 3716 506 < ?branch lit 6391 2169 3716 506 < ?branch 6391 2169 3716 506 ;s rot lit over < ?branch 6391 2169 3716 506 ;s rot lit over < 6391 2169 3716 506 ;s rot lit over 6391 2169 3716 506 ;s rot lit 6391 2169 3716 506 ;s ;s 2dup d0= ?branch 6391 2169 3716 506 ;s ;s 2dup d0= 6391 2169 3716 506 ;s ;s 2dup 6391 2169 3716 506 ;s 2dup d0= ?branch 6391 2169 3716 506 ;s 2dup d0= 6391 2169 3716 506 2dup d0= ?branch 6391 2169 3716 506 2dup d0= 6391 2169 3716 506 +! @ c! ;s ;s 2dup 6391 2169 3716 506 + col: col: col: col: user: 6391 2169 3716 506 + col: col: col: col: 6391 2169 3716 506 + col: col: col: 6380 6099 0 281 ;s (loop) i 6380 6099 0 281 (loop) i 6371 2046 2109 2216 (loop) dup 6350 5909 316 125 user: @ 0= 6347 6347 0 0 2drop ;s ;s ;s 6338 27 5138 1173 unloop drop ;s 6336 0 6336 0 lp+2 ;s 6313 6313 0 0 unloop 2drop ;s ;s ;s 6313 6313 0 0 (loop) unloop 2drop ;s ;s ;s 6310 25 5132 1153 swap lit max lit (?do) 6310 25 5132 1153 swap lit max lit 6310 25 5132 1153 swap lit max 6310 25 5132 1153 max lit (?do) 6310 25 5132 1153 max lit 6310 25 5132 1153 lit max lit (?do) 6310 25 5132 1153 lit max lit 6310 25 5132 1153 does: swap lit max lit (?do) 6310 25 5132 1153 does: swap lit max lit 6310 25 5132 1153 does: swap lit max 6310 25 5132 1153 does: swap lit 6310 25 5132 1153 does: swap 6255 4025 851 1379 ;s (loop) unloop 6204 2063 2066 2075 pick col: 6204 2063 2066 2075 lit pick col: 6180 3791 989 1400 ;s ;s col: dup 6179 1728 2297 2154 ;s col: col: r> 6155 2146 135 3874 @ col: var: 6146 1895 1105 3146 ! r@ 6144 2048 2048 2048 pick col: dup @ lit pick 6144 2048 2048 2048 pick col: dup @ lit 6144 2048 2048 2048 pick col: dup @ 6144 2048 2048 2048 pick col: dup 6144 2048 2048 2048 pick + (loop) 6144 2048 2048 2048 pick + 6144 2048 2048 2048 pick ! ! ;s lit pick 6144 2048 2048 2048 pick ! ! ;s lit 6144 2048 2048 2048 pick ! ! ;s 6144 2048 2048 2048 lit pick col: dup @ lit 6144 2048 2048 2048 lit pick col: dup @ 6144 2048 2048 2048 lit pick col: dup 6144 2048 2048 2048 lit pick + (loop) 6144 2048 2048 2048 lit pick + 6144 2048 2048 2048 lit pick ! ! ;s lit 6144 2048 2048 2048 lit pick ! ! ;s 6144 2048 2048 2048 dup lit pick col: dup @ 6144 2048 2048 2048 dup lit pick col: dup 6144 2048 2048 2048 dup lit pick col: 6144 2048 2048 2048 dup lit pick 6144 2048 2048 2048 col: dup @ lit pick ! 6144 2048 2048 2048 col: dup @ lit pick 6144 2048 2048 2048 col: dup @ lit 6144 2048 2048 2048 @ lit pick ! ! ;s 6144 2048 2048 2048 ;s lit pick + (loop) 6144 2048 2048 2048 ;s lit pick + 6144 2048 2048 2048 + (loop) 6144 2048 2048 2048 ! ;s lit pick + (loop) 6144 2048 2048 2048 ! ;s lit pick + 6144 2048 2048 2048 ! ;s lit pick 6144 2048 2048 2048 ! ! ;s lit pick + 6144 2048 2048 2048 ! ! ;s lit pick 6144 2048 2048 2048 ! ! ;s lit 6144 2048 2048 2048 ! ! ;s 6142 6045 45 52 @ ;s ;s con: 6138 6133 0 5 ;s ;s con: col: 6138 2046 2046 2046 pick + (loop) dup lit pick 6138 2046 2046 2046 pick + (loop) dup lit 6138 2046 2046 2046 pick + (loop) dup 6138 2046 2046 2046 lit pick + (loop) dup lit 6138 2046 2046 2046 lit pick + (loop) dup 6138 2046 2046 2046 ;s lit pick + (loop) dup 6138 2046 2046 2046 + (loop) dup lit pick col: 6138 2046 2046 2046 + (loop) dup lit pick 6138 2046 2046 2046 + (loop) dup lit 6138 2046 2046 2046 + (loop) dup 6138 2046 2046 2046 (loop) dup lit pick col: dup 6138 2046 2046 2046 (loop) dup lit pick col: 6138 2046 2046 2046 (loop) dup lit pick 6138 2046 2046 2046 (loop) dup lit 6134 3878 617 1639 ;s var: @ col: 6120 2148 2083 1889 ;s 2drop ;s 6103 6013 32 58 ;s ;s ;s ;s ;s ;s 6099 6099 0 0 c! ;s ;s (loop) i c@ 6099 6099 0 0 c! ;s ;s (loop) i 6099 6099 0 0 ;s c! ;s ;s (loop) i 6099 6099 0 0 ;s ;s (loop) i c@ col: 6099 6099 0 0 ;s ;s (loop) i c@ 6099 6099 0 0 ;s ;s (loop) i 6099 6099 0 0 ;s (loop) i c@ col: col: 6099 6099 0 0 ;s (loop) i c@ col: 6099 6099 0 0 ;s (loop) i c@ 6099 6099 0 0 (loop) i c@ col: col: col: 6099 6099 0 0 (loop) i c@ col: col: 6099 6099 0 0 (loop) i c@ col: 6099 6099 0 0 (loop) i c@ 6096 1671 2284 2141 ;s col: col: r> r> dup 6096 1671 2284 2141 ;s col: col: r> r> 6048 6048 0 0 unloop 2drop ;s ;s ;s ;s 6048 6048 0 0 2drop ;s ;s ;s ;s 6035 1720 1775 2540 lit lit 6013 6013 0 0 var: @ ;s ;s con: 6013 6013 0 0 col: var: @ ;s ;s con: 6011 6011 0 0 var: @ ;s ;s con: col: 6011 6011 0 0 con: col: var: +! ;s col: 6011 6011 0 0 con: col: var: +! ;s 6011 6011 0 0 con: col: var: +! 6011 6011 0 0 con: col: var: 6011 6011 0 0 @ ;s ;s con: col: var: 6011 6011 0 0 @ ;s ;s con: col: 6011 6011 0 0 ;s con: col: var: +! ;s 6011 6011 0 0 ;s con: col: var: +! 6011 6011 0 0 ;s con: col: var: 6011 6011 0 0 ;s ;s con: col: var: +! 6011 6011 0 0 ;s ;s con: col: var: 6000 6000 0 0 cell+ @ 5998 4840 321 837 @ 0= ?branch 5975 4750 939 286 drop branch lit 5969 4748 937 284 dup ?branch drop branch lit (+loop) 5969 4748 937 284 dup ?branch drop branch lit 5969 4748 937 284 dup ?branch drop branch 5969 4748 937 284 drop branch lit (+loop) 5969 4748 937 284 branch lit (+loop) 5969 4748 937 284 ?branch drop branch lit (+loop) 5969 4748 937 284 ?branch drop branch lit 5969 4748 937 284 ;s dup ?branch drop branch lit 5969 4748 937 284 ;s dup ?branch drop branch 5969 4748 937 284 ;s ;s dup ?branch drop branch 5967 940 2867 2160 (+loop) unloop 5938 0 0 5938 @ r@ 5936 0 0 5936 r@ execute 5935 3100 1105 1730 ;s xor 5908 2031 1920 1957 lit col: lit 5897 5897 0 0 user: @ con: col: col: defer: 5897 5897 0 0 user: @ con: col: col: 5897 5897 0 0 user: @ con: col: 5897 5897 0 0 user: @ con: 5897 5897 0 0 @ con: col: col: defer: col: 5897 5897 0 0 @ con: col: col: defer: 5897 5897 0 0 @ con: col: col: 5897 5897 0 0 @ con: col: 5894 2889 1750 1255 dup ?branch lit 5894 17 0 5877 swap cell+ 5886 2889 1746 1251 lit and ?branch nip nip execute 5886 2889 1746 1251 lit and ?branch nip nip 5886 2889 1746 1251 lit and ?branch nip 5886 2889 1746 1251 dup ?branch lit and ?branch nip 5886 2889 1746 1251 dup ?branch lit and ?branch 5886 2889 1746 1251 dup ?branch lit and 5886 2889 1746 1251 and ?branch nip nip execute 5886 2889 1746 1251 and ?branch nip nip 5886 2889 1746 1251 and ?branch nip 5886 2889 1746 1251 ?branch lit and ?branch nip nip 5886 2889 1746 1251 ?branch lit and ?branch nip 5886 2889 1746 1251 ?branch lit and ?branch 5886 2889 1746 1251 ?branch lit and 5886 2889 1746 1251 ;s dup ?branch lit and ?branch 5886 2889 1746 1251 ;s dup ?branch lit and 5886 2889 1746 1251 ;s dup ?branch lit 5886 2889 1746 1251 ;s ;s dup ?branch lit and 5886 2889 1746 1251 ;s ;s dup ?branch lit 5886 2889 1746 1251 ;s ;s ;s dup ?branch lit 5877 0 0 5877 swap r> (loop) 5877 0 0 5877 swap cell+ swap r> (loop) 5877 0 0 5877 swap cell+ swap r> 5877 0 0 5877 swap cell+ swap 5877 0 0 5877 r> (loop) 5877 0 0 5877 over @ r@ execute 5877 0 0 5877 over @ r@ 5877 0 0 5877 over @ over @ r@ execute 5877 0 0 5877 over @ over @ r@ 5877 0 0 5877 over @ over @ 5877 0 0 5877 over @ over 5877 0 0 5877 cell+ swap r> (loop) 5877 0 0 5877 cell+ swap r> 5877 0 0 5877 cell+ swap cell+ swap r> (loop) 5877 0 0 5877 cell+ swap cell+ swap r> 5877 0 0 5877 cell+ swap cell+ swap 5877 0 0 5877 cell+ swap cell+ 5877 0 0 5877 @ r@ execute 5877 0 0 5877 @ over @ r@ execute 5877 0 0 5877 @ over @ r@ 5877 0 0 5877 @ over @ 5877 0 0 5877 >r over @ over @ r@ 5877 0 0 5877 >r over @ over @ 5877 0 0 5877 >r over @ over 5877 0 0 5877 >r over @ 5860 7 28 5825 ;s + 5859 1556 59 4244 var: 2@ 5856 5695 0 161 ;s ;s col: col: col: var: 5788 5788 0 0 col: cell+ ;s 5753 4676 865 212 (hashfind) ;s ;s dup ?branch drop 5716 22 579 5115 cr 5708 0 5708 0 lp+!# ;s ?branch 5708 0 5708 0 drop con: lp+!# ;s ?branch 5708 0 5708 0 drop con: lp+!# ;s 5708 0 5708 0 drop con: lp+!# 5708 0 5708 0 con: lp+!# ;s ?branch 5708 0 5708 0 con: lp+!# ;s 5708 0 5708 0 con: lp+!# 5708 0 5708 0 ?branch drop con: lp+!# ;s ?branch 5708 0 5708 0 ?branch drop con: lp+!# ;s 5708 0 5708 0 ?branch drop con: lp+!# 5698 3170 1013 1515 var: ! ;s 5698 0 3574 2124 does: @ + @ ;s 5698 0 3574 2124 does: @ + @ 5698 0 3574 2124 @ + @ ;s 5676 2008 1936 1732 0> ?branch col: 5650 0 5650 0 @local0 @local1 5638 2444 1140 2054 col: col: user: @ ?dup ;s 5638 2444 1140 2054 col: col: user: @ ?dup 5631 1901 1110 2620 r> var: 5612 0 5612 0 ;s ?branch @local1 5605 2450 1130 2025 user: ! lit col: 5603 5603 0 0 write-file col: ?dup ?branch ;s 5603 5603 0 0 write-file col: ?dup ?branch 5603 5603 0 0 write-file col: ?dup 5603 5603 0 0 write-file col: 5600 5600 0 0 con: write-file col: ?dup ?branch ;s 5600 5600 0 0 con: write-file col: ?dup ?branch 5600 5600 0 0 con: write-file col: ?dup 5600 5600 0 0 con: write-file col: 5600 5600 0 0 con: write-file 5569 1904 1894 1771 ?branch col: col: col: 5549 5114 310 125 ?branch user: 5542 0 5542 0 @local0 @local1 col: 5539 2651 1130 1758 ;s tuck 5536 0 5536 0 @local0 @local1 col: >l >l 5536 0 5536 0 @local0 @local1 col: >l 5514 2378 1117 2019 user: ! lit col: col: col: 5514 2378 1117 2019 user: ! lit col: col: 5514 2378 1117 2019 ! lit col: col: col: user: 5514 2378 1117 2019 ! lit col: col: col: 5514 2378 1117 2019 ! lit col: col: 5509 1908 1894 1707 dup ?branch 0> ?branch col: 5509 1908 1894 1707 ?branch 0> ?branch col: 5509 1908 1894 1707 ;s dup ?branch 0> ?branch col: 5495 0 5495 0 @local1 branch 5495 0 5495 0 ?branch @local1 branch 5489 0 0 5489 0= 0= ?branch 5457 1727 1895 1835 ;s ;s 2drop 5427 4379 1026 22 var: dup @ cells + ;s 5427 4379 1026 22 var: dup @ cells + 5427 4379 1026 22 var: dup @ cells 5427 4379 1026 22 dup @ cells + ;s 5427 4379 1026 22 dup @ cells + 5427 4379 1026 22 dup @ cells 5427 4379 1026 22 col: var: dup @ cells + 5427 4379 1026 22 col: var: dup @ cells 5427 4379 1026 22 col: var: dup @ 5427 4379 1026 22 col: var: dup 5427 4379 1026 22 @ cells + ;s 5427 4379 1026 22 @ cells + 5427 4379 1026 22 @ cells 5403 2 573 4828 ;s cr 5391 1967 1783 1641 ;s 2drop ;s branch 5376 972 3282 1122 col: @ (f83find) ;s 5376 972 3282 1122 col: @ (f83find) 5376 972 3282 1122 @ (f83find) ;s 5376 972 3282 1122 @ (f83find) 5376 972 3282 1122 (f83find) ;s 5376 972 3282 1122 (f83find) 5371 2240 1110 2021 cell+ ! 5336 0 5336 0 @local# 5329 1895 1105 2329 r> var: @ 5319 5013 0 306 c@ 0= 5306 2614 1255 1437 @ ;s user: ! 5275 4834 316 125 user: @ 0= ?branch 5275 4834 316 125 ;s user: @ 0= ?branch 5275 4834 316 125 ;s user: @ 0= 5274 2195 2572 507 2drop col: 5260 4228 738 294 um* 5258 2321 1177 1760 ! r> 5255 0 5255 0 ;s @local1 5252 0 0 5252 r@ execute col: 5248 2405 844 1999 ! branch 5230 1921 1197 2112 >r var: 5224 0 0 5224 swap r> (loop) >r over @ 5224 0 0 5224 swap r> (loop) >r over 5224 0 0 5224 swap r> (loop) >r 5224 0 0 5224 swap cell+ swap r> (loop) >r 5224 0 0 5224 r> (loop) >r over @ over 5224 0 0 5224 r> (loop) >r over @ 5224 0 0 5224 r> (loop) >r over 5224 0 0 5224 r> (loop) >r 5224 0 0 5224 cell+ swap r> (loop) >r over 5224 0 0 5224 cell+ swap r> (loop) >r 5224 0 0 5224 (loop) >r over @ over @ 5224 0 0 5224 (loop) >r over @ over 5224 0 0 5224 (loop) >r over @ 5224 0 0 5224 (loop) >r over 5224 0 0 5224 (loop) >r 5206 2556 1564 1086 and ?branch nip nip execute col: 5204 1652 1783 1769 ;s ;s ;s 2drop ;s 5204 1652 1783 1769 ;s ;s ;s 2drop 5204 1652 1783 1769 ;s ;s 2drop ;s 5202 3043 1431 728 user: col: con: swap ! ;s 5202 3043 1431 728 user: col: con: swap ! 5202 3043 1431 728 user: col: con: swap 5202 3043 1431 728 user: col: con: 5202 3043 1431 728 user: col: 5193 0 0 5193 over @ r@ execute col: 5193 0 0 5193 @ r@ execute col: 5193 0 0 5193 @ over @ r@ execute col: 5186 2556 1727 903 ;s ;s ;s branch col: 5177 2424 570 2183 @ execute col: col: 5176 5004 172 0 @ swap col: 5166 0 0 5166 xor and ;s 0= 0= ?branch 5166 0 0 5166 xor and ;s 0= 0= 5166 0 0 5166 xor and ;s 0= 5166 0 0 5166 xor and ;s 5166 0 0 5166 xor and 5166 0 0 5166 r@ execute col: lit xor and 5166 0 0 5166 r@ execute col: lit xor 5166 0 0 5166 r@ execute col: lit 5166 0 0 5166 over @ r@ execute col: lit 5166 0 0 5166 lit xor and ;s 0= 0= 5166 0 0 5166 lit xor and ;s 0= 5166 0 0 5166 lit xor and ;s 5166 0 0 5166 lit xor and 5166 0 0 5166 lit xor 5166 0 0 5166 execute col: lit xor and ;s 5166 0 0 5166 execute col: lit xor and 5166 0 0 5166 execute col: lit xor 5166 0 0 5166 col: lit xor and ;s 0= 5166 0 0 5166 col: lit xor and ;s 5166 0 0 5166 col: lit xor and 5166 0 0 5166 col: lit xor 5166 0 0 5166 and ;s 0= 0= ?branch 5166 0 0 5166 and ;s 0= 0= 5166 0 0 5166 and ;s 0= 5166 0 0 5166 @ r@ execute col: lit xor 5166 0 0 5166 @ r@ execute col: lit 5166 0 0 5166 ;s 0= 0= ?branch 5166 0 0 5166 ;s 0= 0= 5165 4169 5 991 (hashfind) ;s ;s dup ?branch col: 5164 0 5164 0 @ @local1 5159 5013 0 146 c@ 0= ?branch 5140 1689 1789 1662 ?branch col: col: col: col: 5122 1671 1789 1662 0> ?branch col: col: col: 5122 1671 1789 1662 0> ?branch col: col: 5120 1669 1789 1662 ?branch col: col: col: col: user: 5120 1669 1789 1662 0> ?branch col: col: col: col: 5108 5104 0 4 col: dup count 5106 1336 2333 1437 negate ;s ;s ;s 5106 1336 2333 1437 and ?branch negate ;s ;s ;s 5106 1336 2333 1437 ?branch negate ;s ;s ;s 5102 5102 0 0 lit col: col: dup field: @ 5102 5102 0 0 lit col: col: dup field: 5102 5102 0 0 lit col: col: dup 5102 5102 0 0 dup count lit col: col: dup 5102 5102 0 0 dup count lit col: col: 5102 5102 0 0 dup count lit col: 5102 5102 0 0 dup count lit 5102 5102 0 0 count lit col: col: dup field: 5102 5102 0 0 count lit col: col: dup 5102 5102 0 0 count lit col: col: 5102 5102 0 0 count lit col: 5102 5102 0 0 col: dup count lit col: col: 5102 5102 0 0 col: dup count lit col: 5102 5102 0 0 col: dup count lit 5097 1334 2327 1436 negate ;s ;s ;s dup 5097 1334 2327 1436 ?branch negate ;s ;s ;s dup 5086 2556 1723 807 ;s ;s ;s branch col: sp@ 5086 1659 1783 1644 2drop ;s branch col: sp@ user: 5086 1659 1783 1644 2drop ;s branch col: sp@ 5076 1652 1783 1641 dup ?branch 0> ?branch col: col: 5076 1652 1783 1641 ?branch 0> ?branch col: col: col: 5076 1652 1783 1641 ?branch 0> ?branch col: col: 5076 1652 1783 1641 ;s ;s ;s 2drop ;s branch 5076 1652 1783 1641 ;s ;s 2drop ;s branch col: 5076 1652 1783 1641 ;s ;s 2drop ;s branch 5076 1652 1783 1641 ;s 2drop ;s branch col: sp@ 5076 1652 1783 1641 ;s 2drop ;s branch col: 5076 1652 1783 1641 ;s ! ;s ;s ;s 2drop 5076 1652 1783 1641 ! ;s ;s ;s 2drop ;s 5076 1652 1783 1641 ! ;s ;s ;s 2drop 5064 5041 17 6 var: + 5057 880 3282 895 field: @ execute col: @ (f83find) 5057 880 3282 895 field: @ execute col: @ 5057 880 3282 895 execute col: @ (f83find) ;s ;s 5057 880 3282 895 execute col: @ (f83find) ;s 5057 880 3282 895 execute col: @ (f83find) 5057 880 3282 895 execute col: @ 5057 880 3282 895 col: @ (f83find) ;s ;s 5057 880 3282 895 @ field: @ execute col: @ 5057 880 3282 895 @ execute col: @ (f83find) ;s 5057 880 3282 895 @ execute col: @ (f83find) 5057 880 3282 895 @ execute col: @ 5057 880 3282 895 @ (f83find) ;s ;s 5057 880 3282 895 (f83find) ;s ;s 5057 2268 851 1938 ?branch dup @ 5053 1317 2321 1415 negate ;s ;s ;s dup ?branch 5047 3249 543 1255 ;s (loop) unloop ;s 5047 3249 543 1255 (loop) unloop ;s 5032 1901 1110 2021 over cell+ 5030 2766 562 1702 unloop ;s col: 5029 4987 0 42 @ ;s ;s col: var: 5027 4593 309 125 ?branch user: @ 5022 2723 1268 1031 dup 0= col: col: 5022 2723 1268 1031 dup 0= col: 5013 5013 0 0 dup c@ 0= ?branch 5013 5013 0 0 dup c@ 0= 5013 5013 0 0 @ ;s @ ;s ;s dup 5013 5013 0 0 @ ;s ;s dup c@ 0= 5013 5013 0 0 @ ;s ;s dup c@ 5013 5013 0 0 @ ;s ;s dup 5013 5013 0 0 ;s dup c@ 0= ?branch 5013 5013 0 0 ;s dup c@ 0= 5013 5013 0 0 ;s dup c@ 5013 5013 0 0 ;s @ ;s ;s dup c@ 5013 5013 0 0 ;s @ ;s ;s dup 5013 5013 0 0 ;s ;s dup c@ 0= ?branch 5013 5013 0 0 ;s ;s dup c@ 0= 5013 5013 0 0 ;s ;s dup c@ 5009 5004 0 5 ;s col: col: lit 5009 4175 656 178 drop branch lit (+loop) 2dup i 5009 4175 656 178 drop branch lit (+loop) 2dup 5009 4175 656 178 branch lit (+loop) 2dup i 2@ 5009 4175 656 178 branch lit (+loop) 2dup i 5009 4175 656 178 branch lit (+loop) 2dup 5009 4175 656 178 ?branch drop branch lit (+loop) 2dup 5007 994 3353 660 ;s dup col: 5006 5006 0 0 rshift 5006 5006 0 0 con: rshift 5005 2689 1143 1173 dup user: 5004 5004 0 0 var: @ swap col: con: rshift 5004 5004 0 0 var: @ swap col: con: 5004 5004 0 0 var: @ swap col: 5004 5004 0 0 var: @ swap 5004 5004 0 0 var: + c@ ;s ;s 5004 5004 0 0 var: + c@ ;s 5004 5004 0 0 var: + c@ 5004 5004 0 0 swap col: var: + c@ ;s 5004 5004 0 0 swap col: var: + c@ 5004 5004 0 0 swap col: var: + 5004 5004 0 0 swap col: var: 5004 5004 0 0 swap col: con: rshift ;s col: 5004 5004 0 0 swap col: con: rshift ;s 5004 5004 0 0 swap col: con: rshift 5004 5004 0 0 rshift ;s col: col: lit /mod 5004 5004 0 0 rshift ;s col: col: lit 5004 5004 0 0 rshift ;s col: col: 5004 5004 0 0 rshift ;s col: 5004 5004 0 0 rshift ;s 5004 5004 0 0 rot + swap col: var: + 5004 5004 0 0 rot + swap col: var: 5004 5004 0 0 rot + swap col: 5004 5004 0 0 lit /mod rot + swap col: 5004 5004 0 0 con: rshift ;s col: col: lit 5004 5004 0 0 con: rshift ;s col: col: 5004 5004 0 0 con: rshift ;s col: 5004 5004 0 0 con: rshift ;s 5004 5004 0 0 col: var: @ swap col: con: 5004 5004 0 0 col: var: @ swap col: 5004 5004 0 0 col: var: @ swap 5004 5004 0 0 col: var: + c@ ;s ;s 5004 5004 0 0 col: var: + c@ ;s 5004 5004 0 0 col: var: + c@ 5004 5004 0 0 col: var: + 5004 5004 0 0 col: con: rshift ;s col: col: 5004 5004 0 0 col: con: rshift ;s col: 5004 5004 0 0 col: con: rshift ;s 5004 5004 0 0 col: con: rshift 5004 5004 0 0 @ swap col: con: rshift ;s 5004 5004 0 0 @ swap col: con: rshift 5004 5004 0 0 @ swap col: con: 5004 5004 0 0 ;s col: col: lit /mod rot 5004 5004 0 0 ;s col: col: lit /mod 5004 5004 0 0 /mod rot + swap col: var: 5004 5004 0 0 /mod rot + swap col: 5004 5004 0 0 + swap col: var: + c@ 5004 5004 0 0 + swap col: var: + 5004 5004 0 0 + swap col: var: 5004 5004 0 0 + swap col: 5001 5001 0 0 var: + c@ ;s ;s over 5001 5001 0 0 or swap c! ;s ;s col: 4987 4987 0 0 var: @ ;s ;s col: var: 4987 4987 0 0 c! ;s ;s col: col: col: 4987 4987 0 0 @ ;s ;s col: var: @ 4987 4987 0 0 ;s col: var: @ swap col: 4987 4987 0 0 ;s col: var: @ swap 4987 4987 0 0 ;s ;s col: var: @ swap 4970 4970 0 0 col: cell+ ;s @ 4913 1 349 4563 defer: (type) ;s cr 4913 1 349 4563 count defer: (type) ;s cr 4913 1 349 4563 ;s count defer: (type) ;s cr 4913 1 349 4563 (type) ;s cr 4907 4473 309 125 user: @ 0= ?branch user: @ 4907 4473 309 125 user: @ 0= ?branch user: 4907 4473 309 125 @ 0= ?branch user: @ 4907 4473 309 125 @ 0= ?branch user: 4907 4473 309 125 ;s user: @ 0= ?branch user: 4907 4473 309 125 0= ?branch user: @ 4907 4473 309 125 0= ?branch user: 4900 1910 561 2429 swap dup 4886 1794 1546 1546 ;s ;s col: lit 4877 0 4877 0 >l @local0 @local1 4877 0 4877 0 >l >l @local0 @local1 4876 3200 382 1294 var: count 4867 0 4867 0 col: >l >l @local0 @local1 4865 2206 884 1775 ;s ;s var: @ 4860 0 0 4860 r@ does: @ + ;s 4860 0 0 4860 r@ does: @ + 4860 0 0 4860 r@ does: @ 4860 0 0 4860 r@ does: 4845 4845 0 0 dup ?branch 2dup cell+ @ = 4845 4845 0 0 dup ?branch 2dup cell+ @ 4845 4845 0 0 dup ?branch 2dup cell+ 4845 4845 0 0 cell+ @ = ?branch 4845 4845 0 0 cell+ @ = 4845 4845 0 0 @ dup ?branch 2dup cell+ @ 4845 4845 0 0 @ dup ?branch 2dup cell+ 4845 4845 0 0 ?branch 2dup cell+ @ = ?branch 4845 4845 0 0 ?branch 2dup cell+ @ = 4845 4845 0 0 ?branch 2dup cell+ @ 4845 4845 0 0 ?branch 2dup cell+ 4845 4845 0 0 2dup cell+ @ = ?branch 4845 4845 0 0 2dup cell+ @ = 4845 4845 0 0 2dup cell+ @ 4845 4845 0 0 2dup cell+ 4841 2501 1327 1013 ?branch r> lit and ?branch negate 4828 4828 0 0 cell+ @ = ?branch @ dup 4828 4828 0 0 cell+ @ = ?branch @ 4828 4828 0 0 @ = ?branch @ dup ?branch 4828 4828 0 0 @ = ?branch @ dup 4828 4828 0 0 @ = ?branch @ 4828 4828 0 0 ?branch @ dup ?branch 2dup cell+ 4828 4828 0 0 ?branch @ dup ?branch 2dup 4828 4828 0 0 ?branch @ dup ?branch 4828 4828 0 0 ?branch @ dup 4828 4828 0 0 = ?branch @ dup ?branch 2dup 4828 4828 0 0 = ?branch @ dup ?branch 4828 4828 0 0 = ?branch @ dup 4828 4828 0 0 = ?branch @ 4828 4828 0 0 2dup cell+ @ = ?branch @ 4812 1910 1156 1746 + dup 4811 1976 1105 1730 rot ! 4806 0 4806 0 @local0 @local1 col: >l >l @local0 4787 1895 1127 1765 ;s r> ;s 4783 0 4783 0 >l @local0 @local1 col: 4783 0 4783 0 >l >l @local0 @local1 col: 4778 1908 1121 1749 >r drop 4777 0 4777 0 lp- @local1 ?branch drop 4777 0 4777 0 lp+!# ;s ?branch @local1 4777 0 4777 0 drop con: lp+!# ;s ?branch @local1 4777 0 4777 0 con: lp+!# ;s ?branch @local1 4777 0 4777 0 col: >l >l @local0 @local1 col: 4777 0 4777 0 @local1 ?branch drop 4777 0 4777 0 >l lp- @local1 ?branch drop 4777 0 4777 0 >l @local0 @local1 col: >l >l 4777 0 4777 0 >l @local0 @local1 col: >l 4777 0 4777 0 >l >l @local0 @local1 col: >l 4777 0 4777 0 ;s >l lp- @local1 ?branch drop 4754 2455 1268 1031 dup 0= col: col: r> r> 4754 2455 1268 1031 dup 0= col: col: r> 4751 1897 1122 1732 @ ?dup 0= ?branch 4751 1897 1122 1732 @ ?dup 0= 4751 1897 1122 1732 ?dup 0= ?branch 4751 1897 1122 1732 ?dup 0= 4746 1896 1120 1730 var: lit 4743 1934 820 1989 c! ;s col: 4737 2656 936 1145 u> 4736 1897 1107 1732 pick @ ?dup 0= ?branch 4736 1897 1107 1732 pick @ ?dup 0= 4736 1897 1107 1732 pick @ ?dup 4736 1897 1107 1732 pick @ 4736 1897 1107 1732 lit pick @ ?dup 0= ?branch 4736 1897 1107 1732 lit pick @ ?dup 0= 4736 1897 1107 1732 lit pick @ ?dup 4736 1897 1107 1732 lit pick @ 4735 1898 1106 1731 lit fill ;s 4735 1898 1106 1731 lit fill 4735 1898 1106 1731 fill ;s 4735 1898 1106 1731 fill 4735 1898 1106 1731 col: lit fill ;s 4735 1898 1106 1731 col: lit fill 4735 0 4735 0 ;s lp+ ;s 4733 2421 955 1357 col: ?dup ?branch ;s ;s 4733 2421 955 1357 ?dup ?branch ;s ;s 4733 1896 1106 1731 lit + dup 4732 1897 1105 1730 swap col: lit fill ;s 4732 1897 1105 1730 swap col: lit fill 4731 1896 1105 1730 >r var: lit 4730 1895 1105 1730 xor cells >r var: lit cells 4730 1895 1105 1730 xor cells >r var: lit 4730 1895 1105 1730 xor cells >r var: 4730 1895 1105 1730 xor cells >r 4730 1895 1105 1730 var: lit cells lit col: lit 4730 1895 1105 1730 var: lit cells lit col: 4730 1895 1105 1730 var: lit cells lit 4730 1895 1105 1730 var: lit cells 4730 1895 1105 1730 var: @ + var: @ ?branch 4730 1895 1105 1730 var: @ + var: @ 4730 1895 1105 1730 var: @ + var: 4730 1895 1105 1730 tuck cell+ ! r> var: @ 4730 1895 1105 1730 tuck cell+ ! r> var: 4730 1895 1105 1730 tuck cell+ ! r> 4730 1895 1105 1730 tuck cell+ ! 4730 1895 1105 1730 tuck cell+ 4730 1895 1105 1730 swap col: lit fill ;s r> 4730 1895 1105 1730 rot ! r@ swap col: lit 4730 1895 1105 1730 rot ! r@ swap col: 4730 1895 1105 1730 rot ! r@ swap 4730 1895 1105 1730 rot ! r@ 4730 1895 1105 1730 r@ swap col: lit fill ;s 4730 1895 1105 1730 r@ swap col: lit fill 4730 1895 1105 1730 r@ swap col: lit 4730 1895 1105 1730 r@ swap col: 4730 1895 1105 1730 r@ swap 4730 1895 1105 1730 r@ @ rot ! r@ swap 4730 1895 1105 1730 r@ @ rot ! r@ 4730 1895 1105 1730 r@ @ rot ! 4730 1895 1105 1730 r@ @ rot 4730 1895 1105 1730 r@ @ 4730 1895 1105 1730 r> var: @ + var: @ 4730 1895 1105 1730 r> var: @ + var: 4730 1895 1105 1730 r> var: @ + 4730 1895 1105 1730 r> ;s tuck cell+ ! r> 4730 1895 1105 1730 r> ;s tuck cell+ ! 4730 1895 1105 1730 r> ;s tuck cell+ 4730 1895 1105 1730 r> ;s tuck 4730 1895 1105 1730 pick @ ?dup 0= ?branch >r 4730 1895 1105 1730 over cell+ count lit and col: 4730 1895 1105 1730 over cell+ count lit and 4730 1895 1105 1730 over cell+ count lit 4730 1895 1105 1730 over cell+ count 4730 1895 1105 1730 lit fill ;s r> ;s tuck 4730 1895 1105 1730 lit fill ;s r> ;s 4730 1895 1105 1730 lit fill ;s r> 4730 1895 1105 1730 lit col: lit pick @ ?dup 4730 1895 1105 1730 lit col: lit pick @ 4730 1895 1105 1730 lit col: lit pick 4730 1895 1105 1730 lit cells lit col: lit pick 4730 1895 1105 1730 lit cells lit col: lit 4730 1895 1105 1730 lit cells lit col: 4730 1895 1105 1730 lit cells lit 4730 1895 1105 1730 lit and col: con: (hashkey1) ;s 4730 1895 1105 1730 lit and col: con: (hashkey1) 4730 1895 1105 1730 lit and col: con: 4730 1895 1105 1730 lit + dup @ 0< ?branch 4730 1895 1105 1730 lit + dup @ 0< 4730 1895 1105 1730 lit + dup @ 4730 1895 1105 1730 fill ;s r> ;s tuck cell+ 4730 1895 1105 1730 fill ;s r> ;s tuck 4730 1895 1105 1730 fill ;s r> ;s 4730 1895 1105 1730 fill ;s r> 4730 1895 1105 1730 dup @ 0< ?branch @ over 4730 1895 1105 1730 dup @ 0< ?branch @ 4730 1895 1105 1730 drop r@ @ rot ! r@ 4730 1895 1105 1730 drop r@ @ rot ! 4730 1895 1105 1730 drop r@ @ rot 4730 1895 1105 1730 drop r@ @ 4730 1895 1105 1730 drop r@ 4730 1895 1105 1730 count lit and col: con: (hashkey1) 4730 1895 1105 1730 count lit and col: con: 4730 1895 1105 1730 count lit and col: 4730 1895 1105 1730 con: (hashkey1) ;s xor cells >r 4730 1895 1105 1730 con: (hashkey1) ;s xor cells 4730 1895 1105 1730 con: (hashkey1) ;s xor 4730 1895 1105 1730 col: lit pick @ ?dup 0= 4730 1895 1105 1730 col: lit pick @ ?dup 4730 1895 1105 1730 col: lit pick @ 4730 1895 1105 1730 col: lit pick 4730 1895 1105 1730 col: lit fill ;s r> ;s 4730 1895 1105 1730 col: lit fill ;s r> 4730 1895 1105 1730 col: lit + dup @ 0< 4730 1895 1105 1730 col: lit + dup @ 4730 1895 1105 1730 col: lit + dup 4730 1895 1105 1730 col: con: (hashkey1) ;s xor cells 4730 1895 1105 1730 col: con: (hashkey1) ;s xor 4730 1895 1105 1730 cells lit col: lit pick @ 4730 1895 1105 1730 cells lit col: lit pick 4730 1895 1105 1730 cells lit col: lit 4730 1895 1105 1730 cells lit col: 4730 1895 1105 1730 cells lit 4730 1895 1105 1730 cells >r var: lit cells lit 4730 1895 1105 1730 cells >r var: lit cells 4730 1895 1105 1730 cells >r var: lit 4730 1895 1105 1730 cells >r var: 4730 1895 1105 1730 cells >r 4730 1895 1105 1730 cell+ count lit and col: con: 4730 1895 1105 1730 cell+ count lit and col: 4730 1895 1105 1730 cell+ ! r> var: @ + 4730 1895 1105 1730 cell+ ! r> var: @ 4730 1895 1105 1730 cell+ ! r> var: 4730 1895 1105 1730 cell+ ! r> 4730 1895 1105 1730 and col: con: (hashkey1) ;s xor 4730 1895 1105 1730 and col: con: (hashkey1) ;s 4730 1895 1105 1730 and col: con: (hashkey1) 4730 1895 1105 1730 and col: con: 4730 1895 1105 1730 @ rot ! r@ swap col: 4730 1895 1105 1730 @ rot ! r@ swap 4730 1895 1105 1730 @ rot ! r@ 4730 1895 1105 1730 @ rot ! 4730 1895 1105 1730 @ rot 4730 1895 1105 1730 @ over cell+ count lit and 4730 1895 1105 1730 @ over cell+ count lit 4730 1895 1105 1730 @ over cell+ count 4730 1895 1105 1730 @ over cell+ 4730 1895 1105 1730 @ ?dup 0= ?branch >r drop 4730 1895 1105 1730 @ ?dup 0= ?branch >r 4730 1895 1105 1730 @ 0< ?branch @ over cell+ 4730 1895 1105 1730 @ 0< ?branch @ over 4730 1895 1105 1730 @ 0< ?branch @ 4730 1895 1105 1730 @ + var: @ ?branch 4730 1895 1105 1730 @ + var: @ 4730 1895 1105 1730 @ + var: 4730 1895 1105 1730 ?dup 0= ?branch >r drop r@ 4730 1895 1105 1730 ?dup 0= ?branch >r drop 4730 1895 1105 1730 ?dup 0= ?branch >r 4730 1895 1105 1730 ?branch @ over cell+ count lit 4730 1895 1105 1730 ?branch @ over cell+ count 4730 1895 1105 1730 ?branch @ over cell+ 4730 1895 1105 1730 ?branch @ over 4730 1895 1105 1730 ?branch >r drop r@ @ rot 4730 1895 1105 1730 ?branch >r drop r@ @ 4730 1895 1105 1730 ?branch >r drop r@ 4730 1895 1105 1730 ?branch >r drop 4730 1895 1105 1730 >r var: lit cells lit col: 4730 1895 1105 1730 >r var: lit cells lit 4730 1895 1105 1730 >r var: lit cells 4730 1895 1105 1730 >r drop r@ @ rot ! 4730 1895 1105 1730 >r drop r@ @ rot 4730 1895 1105 1730 >r drop r@ @ 4730 1895 1105 1730 >r drop r@ 4730 1895 1105 1730 ;s xor cells >r var: lit 4730 1895 1105 1730 ;s xor cells >r var: 4730 1895 1105 1730 ;s xor cells >r 4730 1895 1105 1730 ;s xor cells 4730 1895 1105 1730 ;s tuck cell+ ! r> var: 4730 1895 1105 1730 ;s tuck cell+ ! r> 4730 1895 1105 1730 ;s tuck cell+ ! 4730 1895 1105 1730 ;s tuck cell+ 4730 1895 1105 1730 ;s r> ;s tuck cell+ ! 4730 1895 1105 1730 ;s r> ;s tuck cell+ 4730 1895 1105 1730 ;s r> ;s tuck 4730 1895 1105 1730 0= ?branch >r drop r@ @ 4730 1895 1105 1730 0= ?branch >r drop r@ 4730 1895 1105 1730 0= ?branch >r drop 4730 1895 1105 1730 0= ?branch >r 4730 1895 1105 1730 0< ?branch @ over cell+ count 4730 1895 1105 1730 0< ?branch @ over cell+ 4730 1895 1105 1730 0< ?branch @ over 4730 1895 1105 1730 0< ?branch @ 4730 1895 1105 1730 + var: @ ?branch 4730 1895 1105 1730 + var: @ 4730 1895 1105 1730 + var: 4730 1895 1105 1730 + dup @ 0< ?branch @ 4730 1895 1105 1730 + dup @ 0< ?branch 4730 1895 1105 1730 + dup @ 0< 4730 1895 1105 1730 + dup @ 4730 1895 1105 1730 (hashkey1) ;s xor cells >r var: 4730 1895 1105 1730 (hashkey1) ;s xor cells >r 4730 1895 1105 1730 (hashkey1) ;s xor cells 4730 1895 1105 1730 (hashkey1) ;s xor 4730 1895 1105 1730 ! r@ swap col: lit fill 4730 1895 1105 1730 ! r@ swap col: lit 4730 1895 1105 1730 ! r@ swap col: 4730 1895 1105 1730 ! r@ swap 4730 1895 1105 1730 ! r> var: @ + var: 4730 1895 1105 1730 ! r> var: @ + 4730 1895 1105 1730 ! r> var: @ 4730 1895 1105 1730 ! r> var: 4728 4034 0 694 0= ?branch col: 4709 4033 0 676 0= ?branch col: col: 4697 2616 936 1145 lit u> 4697 2616 936 1145 dup lit u> 4675 760 0 3915 ;s 2@ 4675 760 0 3915 + ;s 2@ 4665 2614 936 1115 ! ;s var: 4660 824 2997 839 col: @ (f83find) ;s ;s dup 4660 824 2997 839 @ (f83find) ;s ;s dup ?branch 4660 824 2997 839 @ (f83find) ;s ;s dup 4660 824 2997 839 (f83find) ;s ;s dup ?branch 4660 824 2997 839 (f83find) ;s ;s dup 4639 0 4639 0 @local1 field: 4635 2338 945 1352 lit and col: ?dup ?branch ;s 4635 2338 945 1352 lit and col: ?dup ?branch 4635 2338 945 1352 lit and col: ?dup 4635 2338 945 1352 and col: ?dup ?branch ;s 4635 2338 945 1352 and col: ?dup ?branch 4635 2338 945 1352 and col: ?dup 4621 1923 2052 646 ;s @ var: 4621 1923 2052 646 + ;s @ var: 4602 2324 931 1347 and col: ?dup ?branch ;s ;s 4572 4178 386 8 >body 4562 0 4562 0 var: = ?branch 4562 0 4562 0 var: = 4536 3162 575 799 count col: 4519 0 4519 0 lp+ ;s dup ?branch 2drop 4519 0 4519 0 @ lp+ ;s dup ?branch 2drop 4514 2463 316 1735 dup ?branch ;s 4514 2463 316 1735 ;s dup ?branch ;s 4502 280 2983 1239 i - 4500 2309 713 1478 (?do) unloop ;s 4417 1690 1114 1613 ! ;s ;s ;s ;s col: 4413 1998 1285 1130 user: @ dup 4391 0 4391 0 ;s lp+ branch >l 4391 0 4391 0 ;s lp+ branch 4362 0 4362 0 ;s lp+ branch >l lp- @local1 4362 0 4362 0 ;s lp+ branch >l lp- 4360 2769 594 997 lit and ;s 4359 4359 0 0 ;s ?dup ?branch 4359 4359 0 0 ;s ?dup 4359 119 3933 307 + ;s @ col: 4331 2773 561 997 col: dup col: col: col: 4307 4057 7 243 col: ;s 4305 1525 1887 893 dup cell+ 4281 0 407 3874 does: @ col: 4280 582 2837 861 col: lit col: >r 4239 980 3259 0 ! ;s 0= 4238 2663 577 998 ! var: @ 4235 4235 0 0 @ con: = 4202 4183 14 5 nip r> 4187 2397 540 1250 (?do) con: col: col: col: 4187 2397 540 1250 (?do) con: col: col: 4187 2397 540 1250 (?do) con: col: 4187 2397 540 1250 (?do) con: 4176 600 3470 106 2drop con: 4169 4169 0 0 nip r> ;s 4169 4169 0 0 dup ?branch >r >body nip r> 4169 4169 0 0 dup ?branch >r >body nip 4169 4169 0 0 dup ?branch >r >body 4169 4169 0 0 dup ?branch >r 4169 4169 0 0 ?branch >r >body nip r> ;s 4169 4169 0 0 ?branch >r >body nip r> 4169 4169 0 0 ?branch >r >body nip 4169 4169 0 0 ?branch >r >body 4169 4169 0 0 >r >body nip r> ;s 4169 4169 0 0 >r >body nip r> 4169 4169 0 0 >r >body nip 4169 4169 0 0 >r >body 4169 4169 0 0 >body nip r> ;s 4169 4169 0 0 >body nip r> 4169 4169 0 0 >body nip 4169 4169 0 0 ;s dup ?branch >r >body nip 4169 4169 0 0 ;s dup ?branch >r >body 4169 4169 0 0 ;s dup ?branch >r 4169 4169 0 0 ;s ;s dup ?branch >r >body 4169 4169 0 0 ;s ;s dup ?branch >r 4134 1793 697 1644 execute col: col: col: 4125 176 3301 648 ;s dup col: col: 4124 1514 1373 1237 lit col: user: @ 4124 1514 1373 1237 lit col: user: 4096 0 4096 0 @ col: >l 4080 0 0 4080 var: col: @ @ ;s ;s 4080 0 0 4080 var: col: @ @ ;s 4080 0 0 4080 var: col: @ @ 4080 0 0 4080 var: col: @ 4080 0 0 4080 col: var: col: @ @ ;s 4080 0 0 4080 col: var: col: @ @ 4080 0 0 4080 col: var: col: @ 4080 0 0 4080 col: @ @ ;s ;s 4080 0 0 4080 col: @ @ ;s 4080 0 0 4080 col: @ @ 4080 0 0 4080 @ @ ;s ;s 4080 0 0 4080 @ @ ;s 4074 1224 1179 1671 ;s cell+ 4052 119 3933 0 cells + ;s @ col: 4051 4033 0 18 c@ 0= ?branch col: 4051 0 4051 0 lp- @local1 ?branch drop con: lp+!# 4051 0 4051 0 lp- @local1 ?branch drop con: 4051 0 4051 0 branch lp+ ;s 4051 0 4051 0 branch lp+ 4051 0 4051 0 @local1 ?branch drop con: lp+!# ;s 4051 0 4051 0 @local1 ?branch drop con: lp+!# 4051 0 4051 0 @local1 ?branch drop con: 4051 0 4051 0 >l lp- @local1 ?branch drop con: 4033 4033 0 0 dup c@ 0= ?branch col: col: 4033 4033 0 0 dup c@ 0= ?branch col: 4033 4033 0 0 col: col: dup count lit col: 4033 4033 0 0 col: col: dup count lit 4033 4033 0 0 col: col: dup count 4033 4033 0 0 c@ 0= ?branch col: col: dup 4033 4033 0 0 c@ 0= ?branch col: col: 4033 4033 0 0 ?branch col: col: dup count lit 4033 4033 0 0 ?branch col: col: dup count 4033 4033 0 0 ?branch col: col: dup 4033 4033 0 0 ;s dup c@ 0= ?branch col: 4033 4033 0 0 0= ?branch col: col: dup count 4033 4033 0 0 0= ?branch col: col: dup 4028 0 4028 0 @ col: >l >l 4020 0 4020 0 @ col: >l >l @local0 @local1 4020 0 4020 0 @ col: >l >l @local0 4006 810 2606 590 con: - dup @ 4006 810 2606 590 - dup @ 3993 119 0 3874 @ col: var: col: 3986 1923 2052 11 cells + ;s @ var: 3970 2454 758 758 ?branch ;s ;s col: 3933 0 3933 0 col: cells + ;s @ col: 3933 0 3933 0 col: cells + ;s @ @local1 3933 0 3933 0 cells + ;s @ col: >l 3933 0 3933 0 cells + ;s @ @local1 3933 0 3933 0 ;s @ col: >l >l @local0 3933 0 3933 0 ;s @ col: >l >l 3933 0 3933 0 ;s @ col: >l 3933 0 3933 0 ;s @ @local1 3933 0 3933 0 + ;s @ col: >l >l 3933 0 3933 0 + ;s @ col: >l 3933 0 3933 0 + ;s @ @local1 3923 977 2880 66 ;s @ dup 3922 2184 901 837 var: @ ?branch col: 3921 1998 683 1240 rdrop ;s ;s 3919 0 3919 0 dup @local1 3919 0 3919 0 ;s dup @local1 3917 382 3210 325 ;s col: lit col: 3915 0 0 3915 does: @ + ;s 2@ 3915 0 0 3915 @ + ;s 2@ 3910 848 2554 508 lit (?do) unloop 3905 1934 629 1342 c! ;s col: col: 3904 0 3904 0 lp+ ;s dup @local1 i col: 3904 0 3904 0 lp+ ;s dup @local1 i 3904 0 3904 0 lp+ ;s dup @local1 3904 0 3904 0 dup @local1 i col: cells + 3904 0 3904 0 dup @local1 i col: cells 3904 0 3904 0 dup @local1 i col: 3904 0 3904 0 dup @local1 i 3904 0 3904 0 col: cells + ;s @ <> 3904 0 3904 0 cells + ;s @ @local1 i 3904 0 3904 0 cells + ;s @ <> ?branch 3904 0 3904 0 cells + ;s @ <> 3904 0 3904 0 @local0 i col: cells + ;s 3904 0 3904 0 @local0 i col: cells + 3904 0 3904 0 @local0 i col: cells 3904 0 3904 0 @local0 i col: 3904 0 3904 0 @local0 i 3904 0 3904 0 @ @local1 i col: cells + 3904 0 3904 0 @ @local1 i col: cells 3904 0 3904 0 @ @local1 i col: 3904 0 3904 0 @ @local1 i 3904 0 3904 0 ;s dup @local1 i col: cells 3904 0 3904 0 ;s dup @local1 i col: 3904 0 3904 0 ;s dup @local1 i 3904 0 3904 0 ;s @ @local1 i col: cells 3904 0 3904 0 ;s @ @local1 i col: 3904 0 3904 0 ;s @ @local1 i 3904 0 3904 0 ;s @ <> ?branch 3904 0 3904 0 ;s @ <> 3904 0 3904 0 + ;s @ @local1 i col: 3904 0 3904 0 + ;s @ @local1 i 3904 0 3904 0 + ;s @ <> ?branch 3904 0 3904 0 + ;s @ <> 3899 0 3899 0 branch lp+ ;s dup @local1 i 3899 0 3899 0 branch lp+ ;s dup @local1 3899 0 3899 0 branch lp+ ;s dup 3893 43 91 3759 2! 3892 2860 738 294 user: @ um* 3892 2860 738 294 @ um* 3881 7 0 3874 ;s ;s + 3874 0 0 3874 does: @ col: var: col: @ 3874 0 0 3874 does: @ col: var: col: 3874 0 0 3874 does: @ col: var: 3874 0 0 3874 col: @ @ ;s ;s + 3874 0 0 3874 @ col: var: col: @ @ 3874 0 0 3874 @ col: var: col: @ 3874 0 0 3874 @ @ ;s ;s + 3874 0 0 3874 @ ;s ;s + 3872 97 0 3775 ?branch cell+ 3870 563 1536 1771 lit ! 3868 1856 573 1439 ;s ;s lit col: col: 3856 3230 403 223 ;s user: @ ;s user: @ 3854 2794 712 348 r> ?branch 3846 0 3846 0 lp+!# ;s ?branch @local1 branch lp+ 3846 0 3846 0 lp+!# ;s ?branch @local1 branch 3846 0 3846 0 con: lp+!# ;s ?branch @local1 branch 3846 0 3846 0 @local1 branch lp+ ;s 3846 0 3846 0 @local1 branch lp+ 3846 0 3846 0 ?branch @local1 branch lp+ ;s 3846 0 3846 0 ?branch @local1 branch lp+ 3846 0 3846 0 ;s ?branch @local1 branch lp+ ;s 3846 0 3846 0 ;s ?branch @local1 branch lp+ 3846 0 3846 0 ;s ?branch @local1 branch 3843 0 3843 0 cells + ;s ! (loop) @local0 3843 0 3843 0 ;s ! (loop) @local0 i col: 3843 0 3843 0 ;s ! (loop) @local0 i 3843 0 3843 0 ;s ! (loop) @local0 3843 0 3843 0 + ;s ! (loop) @local0 i 3843 0 3843 0 + ;s ! (loop) @local0 3843 0 3843 0 (loop) @local0 i col: cells + 3843 0 3843 0 (loop) @local0 i col: cells 3843 0 3843 0 (loop) @local0 i col: 3843 0 3843 0 (loop) @local0 i 3843 0 3843 0 (loop) @local0 3843 0 3843 0 ! (loop) @local0 i col: cells 3843 0 3843 0 ! (loop) @local0 i col: 3843 0 3843 0 ! (loop) @local0 i 3843 0 3843 0 ! (loop) @local0 3842 0 3842 0 <> ?branch @local1 3837 0 3837 0 @local1 branch lp+ ;s dup @local1 3837 0 3837 0 @local1 branch lp+ ;s dup 3837 0 3837 0 @ <> ?branch @local1 i col: 3837 0 3837 0 @ <> ?branch @local1 i 3837 0 3837 0 @ <> ?branch @local1 3837 0 3837 0 ?branch @local1 i col: cells + 3837 0 3837 0 ?branch @local1 i col: cells 3837 0 3837 0 ?branch @local1 i col: 3837 0 3837 0 ?branch @local1 i 3837 0 3837 0 ?branch @local1 branch lp+ ;s dup 3837 0 3837 0 <> ?branch @local1 i col: cells 3837 0 3837 0 <> ?branch @local1 i col: 3837 0 3837 0 <> ?branch @local1 i 3837 0 3837 0 ;s @ <> ?branch @local1 i 3837 0 3837 0 ;s @ <> ?branch @local1 3837 0 3837 0 + ;s @ <> ?branch @local1 3831 0 3831 0 con: lp+2 ;s 3831 0 3831 0 con: lp+2 3825 3825 0 0 r> ;s ?dup ?branch 0> ?branch 3825 3825 0 0 r> ;s ?dup ?branch 0> 3825 3825 0 0 r> ;s ?dup ?branch 3825 3825 0 0 r> ;s ?dup 3825 3825 0 0 nip r> ;s ?dup ?branch 0> 3825 3825 0 0 nip r> ;s ?dup ?branch 3825 3825 0 0 nip r> ;s ?dup 3825 3825 0 0 nip col: 3825 3825 0 0 ?dup ?branch 0> ?branch nip col: 3825 3825 0 0 ?dup ?branch 0> ?branch nip 3825 3825 0 0 ?dup ?branch 0> ?branch 3825 3825 0 0 ?dup ?branch 0> 3825 3825 0 0 ?branch nip col: 3825 3825 0 0 ?branch 0> ?branch nip col: 3825 3825 0 0 >r >body nip r> ;s ?dup 3825 3825 0 0 >body nip r> ;s ?dup ?branch 3825 3825 0 0 >body nip r> ;s ?dup 3825 3825 0 0 ;s ?dup ?branch 0> ?branch nip 3825 3825 0 0 ;s ?dup ?branch 0> ?branch 3825 3825 0 0 ;s ?dup ?branch 0> 3825 3825 0 0 0> ?branch nip col: 3824 1859 287 1678 @ col: lit 3821 2381 740 700 col: ?dup ?branch ;s ;s col: 3821 2381 740 700 ?dup ?branch ;s ;s col: 3816 752 2552 512 tuck - 3805 753 2546 506 @ tuck 3805 751 2547 507 2drop col: col: 3804 750 2546 508 dup ! ;s 3804 750 2546 508 dup ! 3803 750 2546 507 dup ! ;s col: 3802 750 2546 506 tuck - ;s 3802 750 2546 506 dup @ tuck - ;s 3802 750 2546 506 dup @ tuck - 3802 750 2546 506 dup @ tuck 3802 750 2546 506 dup ! ;s col: col: user: 3802 750 2546 506 dup ! ;s col: col: 3802 750 2546 506 d0= ?branch ;s 3802 750 2546 506 con: - dup @ tuck - 3802 750 2546 506 con: - dup @ tuck 3802 750 2546 506 con: - dup ! ;s col: 3802 750 2546 506 con: - dup ! ;s 3802 750 2546 506 con: - dup ! 3802 750 2546 506 col: col: user: @ lit max 3802 750 2546 506 col: col: user: @ lit 3802 750 2546 506 col: 2drop col: col: col: user: 3802 750 2546 506 col: 2drop col: col: col: 3802 750 2546 506 col: 2drop col: col: 3802 750 2546 506 col: 2drop col: 3802 750 2546 506 col: 2drop 3802 750 2546 506 aligned ;s con: - dup @ 3802 750 2546 506 aligned ;s con: - dup ! 3802 750 2546 506 @ tuck - ;s 3802 750 2546 506 @ tuck - 3802 750 2546 506 ;s con: - dup @ tuck 3802 750 2546 506 ;s con: - dup @ 3802 750 2546 506 ;s con: - dup ! ;s 3802 750 2546 506 ;s con: - dup ! 3802 750 2546 506 ;s col: col: user: @ lit 3802 750 2546 506 ;s col: 2drop col: col: col: 3802 750 2546 506 ;s col: 2drop col: col: 3802 750 2546 506 ;s col: 2drop col: 3802 750 2546 506 ;s col: 2drop 3802 750 2546 506 ;s ;s 2dup d0= ?branch ;s 3802 750 2546 506 ;s 2dup d0= ?branch ;s 3802 750 2546 506 2dup d0= ?branch ;s 3802 750 2546 506 2drop col: col: col: user: @ 3802 750 2546 506 2drop col: col: col: user: 3802 750 2546 506 2drop col: col: col: 3802 750 2546 506 - dup @ tuck - ;s 3802 750 2546 506 - dup @ tuck - 3802 750 2546 506 - dup @ tuck 3802 750 2546 506 - dup ! ;s col: col: 3802 750 2546 506 - dup ! ;s col: 3802 750 2546 506 - dup ! ;s 3802 750 2546 506 - dup ! 3800 3477 245 78 = ?branch col: 3789 0 3789 0 @local2 3775 0 0 3775 ?branch cell+ swap cell+ swap r> 3775 0 0 3775 ?branch cell+ swap cell+ swap 3775 0 0 3775 ?branch cell+ swap cell+ 3775 0 0 3775 ?branch cell+ swap 3775 0 0 3775 0= ?branch cell+ swap cell+ swap 3775 0 0 3775 0= ?branch cell+ swap cell+ 3775 0 0 3775 0= ?branch cell+ swap 3775 0 0 3775 0= ?branch cell+ 3775 0 0 3775 0= 0= ?branch cell+ swap cell+ 3775 0 0 3775 0= 0= ?branch cell+ swap 3775 0 0 3775 0= 0= ?branch cell+ 3764 2324 740 700 ?dup ?branch ;s ;s col: dup 3764 2324 740 700 ?branch ;s ;s col: dup 3757 3757 0 0 2drop ;s ;s ;s ;s ;s 3751 0 35 3716 defer: (type) col: 3751 0 35 3716 (type) col: 3746 17 2576 1153 ;s defer: (type) 3729 556 1411 1762 lit lit ! 3721 1248 561 1912 @ ! 3719 1898 561 1260 ;s c! ;s col: col: 3719 1898 561 1260 ;s c! ;s col: 3719 1898 561 1260 ;s +! ;s c! ;s col: 3719 1898 561 1260 +! ;s c! ;s col: col: 3719 1898 561 1260 +! ;s c! ;s col: 3713 750 2517 446 ?branch ;s col: 2drop col: col: 3713 750 2517 446 ?branch ;s col: 2drop col: 3713 750 2517 446 ?branch ;s col: 2drop 3699 3699 0 0 @ 0= ?branch user: @ con: 3699 3699 0 0 ?branch user: @ con: col: col: 3699 3699 0 0 ?branch user: @ con: col: 3699 3699 0 0 ?branch user: @ con: 3699 3699 0 0 0= ?branch user: @ con: col: 3699 3699 0 0 0= ?branch user: @ con: 3695 2912 485 298 >r dup 3693 3140 256 297 var: ! col: 3679 1676 0 2003 ?branch ;s col: col: 3670 3404 266 0 ;s ;s user: 3669 1976 630 1063 ;s ! ;s ;s col: 3653 1898 592 1163 user: @ ;s @ ;s swap 3653 1898 592 1163 @ ;s swap 3653 1898 592 1163 @ ;s @ ;s swap 3653 1898 592 1163 ;s @ ;s swap 3635 2232 1024 379 con: ;s 3611 0 2871 740 + @ ;s col: 3607 1613 696 1298 0<> 3606 3132 316 158 ?branch ;s ;s dup ?branch 3606 3132 316 158 ?branch ;s ;s dup 3599 965 1683 951 dup ?branch 0> ?branch nip nip 3599 965 1683 951 dup ?branch 0> ?branch nip 3599 965 1683 951 ?branch 0> ?branch nip nip execute 3599 965 1683 951 ?branch 0> ?branch nip nip 3599 965 1683 951 ;s dup ?branch 0> ?branch nip 3599 965 1683 951 0> ?branch nip nip execute 3599 965 1683 951 0> ?branch nip nip 3599 3477 44 78 con: = ?branch col: 3589 3467 44 78 con: = ?branch col: col: 3589 3467 44 78 = ?branch col: col: 3581 1530 316 1735 ;s ;s dup ?branch ;s 3580 1652 1446 482 ;s ;s ;s ;s branch 3576 2016 562 998 unloop ;s col: col: 3571 969 1267 1335 swap - 3561 1907 561 1093 (?do) unloop ;s col: 3556 0 0 3556 and ;s 0= 0= ?branch cell+ 3556 0 0 3556 ;s 0= 0= ?branch cell+ swap 3556 0 0 3556 ;s 0= 0= ?branch cell+ 3547 1461 713 1373 swap (?do) unloop ;s 3547 1461 713 1373 swap (?do) unloop 3543 1914 610 1019 move ;s 3533 1912 603 1018 move ;s col: 3527 1291 939 1297 ;s does: 3505 732 1865 908 ;s ! ;s ;s ;s ;s 3490 2778 436 276 col: >r dup 3485 1898 590 997 move ;s col: col: col: user: 3485 1898 590 997 move ;s col: col: col: 3485 1898 590 997 move ;s col: col: 3484 1910 561 1013 ;s swap dup 3479 1856 573 1050 ;s ;s lit col: col: col: 3472 1898 561 1013 user: @ ;s +! ;s move 3472 1898 561 1013 swap dup col: col: user: @ 3472 1898 561 1013 swap dup col: col: user: 3472 1898 561 1013 swap dup col: col: 3472 1898 561 1013 swap dup col: 3472 1898 561 1013 dup col: col: user: @ ;s 3472 1898 561 1013 dup col: col: user: @ 3472 1898 561 1013 dup col: col: user: 3472 1898 561 1013 @ ;s swap dup col: col: 3472 1898 561 1013 @ ;s swap dup col: 3472 1898 561 1013 @ ;s swap dup 3472 1898 561 1013 @ ;s @ ;s swap dup 3472 1898 561 1013 @ ;s +! ;s move ;s 3472 1898 561 1013 @ ;s +! ;s move 3472 1898 561 1013 ;s swap dup col: col: user: 3472 1898 561 1013 ;s swap dup col: col: 3472 1898 561 1013 ;s swap dup col: 3472 1898 561 1013 ;s move ;s col: 3472 1898 561 1013 ;s move ;s 3472 1898 561 1013 ;s move 3472 1898 561 1013 ;s @ ;s swap dup col: 3472 1898 561 1013 ;s @ ;s swap dup 3472 1898 561 1013 ;s +! ;s move ;s col: 3472 1898 561 1013 ;s +! ;s move ;s 3472 1898 561 1013 ;s +! ;s move 3472 1898 561 1013 +! ;s move ;s col: 3472 1898 561 1013 +! ;s move ;s 3472 1898 561 1013 +! ;s move 3465 1898 570 997 dup faligned 3458 1690 1768 0 con: col: dup 3456 1898 561 997 faligned swap (?do) 3456 1898 561 997 faligned swap 3456 1898 561 997 dup faligned swap (?do) 3456 1898 561 997 dup faligned swap 3456 1898 561 997 col: dup col: col: col: user: 3456 1898 561 997 c! ;s col: col: user: @ 3456 1898 561 997 c! ;s col: col: user: 3456 1898 561 997 @ ;s dup faligned swap (?do) 3456 1898 561 997 @ ;s dup faligned swap 3456 1898 561 997 @ ;s dup faligned 3456 1898 561 997 @ ;s @ ;s dup faligned 3456 1898 561 997 ;s move ;s col: col: col: 3456 1898 561 997 ;s move ;s col: col: 3456 1898 561 997 ;s dup faligned swap (?do) 3456 1898 561 997 ;s dup faligned swap 3456 1898 561 997 ;s dup faligned 3456 1898 561 997 ;s c! ;s col: col: user: 3456 1898 561 997 ;s @ ;s dup faligned swap 3456 1898 561 997 ;s @ ;s dup faligned 3456 1898 561 997 +! ;s move ;s col: col: 3437 3437 0 0 @ con: = ?branch 3431 1641 540 1250 swap (?do) con: col: col: col: 3431 1641 540 1250 swap (?do) con: col: col: 3431 1641 540 1250 swap (?do) con: col: 3431 1641 540 1250 swap (?do) con: 3431 1641 540 1250 c! ;s (loop) unloop ;s 3431 1641 540 1250 c! ;s (loop) unloop 3431 1641 540 1250 ;s c! ;s (loop) unloop ;s 3431 1641 540 1250 ;s c! ;s (loop) unloop 3431 1641 540 1250 +! ;s c! ;s (loop) unloop 3431 1641 540 1250 (?do) con: col: col: col: user: 3421 0 0 3421 @ does: @ 3421 0 0 3421 @ does: 3403 3403 0 0 @ con: = ?branch col: 3393 3393 0 0 dup @ con: = ?branch col: 3393 3393 0 0 dup @ con: = ?branch 3393 3393 0 0 dup @ con: = 3393 3393 0 0 dup @ con: 3393 3393 0 0 con: = ?branch col: col: cell+ 3393 3393 0 0 col: dup @ con: = ?branch 3393 3393 0 0 col: dup @ con: = 3393 3393 0 0 col: dup @ con: 3393 3393 0 0 col: col: cell+ ;s 3393 3393 0 0 col: col: cell+ 3393 3393 0 0 @ con: = ?branch col: col: 3393 3393 0 0 ?branch col: col: cell+ ;s 3393 3393 0 0 ?branch col: col: cell+ 3393 3393 0 0 = ?branch col: col: cell+ ;s 3393 3393 0 0 = ?branch col: col: cell+ 3393 1720 862 811 ?branch con: 3390 460 2914 16 drop ;s ;s ;s 3374 1162 568 1644 ;s ?branch dup 3356 0 0 3356 2@ defer: (type) 3356 0 0 3356 2@ defer: 3353 2886 339 128 ! ;s user: 3351 1264 1026 1061 cell+ tuck 3337 1410 722 1205 swap ! ;s ;s ;s 3336 2047 418 871 dup r> 3332 3332 0 0 @ col: col: col: var: @ 3332 3332 0 0 @ col: col: col: var: 3329 1410 722 1197 con: swap ! ;s ;s ;s 3323 3322 1 0 ;s @ col: col: 3322 3322 0 0 cell+ ;s @ col: col: col: 3322 3322 0 0 cell+ ;s @ col: col: 3322 3322 0 0 cell+ ;s @ col: 3322 3322 0 0 ;s @ col: col: col: 3314 3314 0 0 col: col: cell+ ;s @ col: 3314 3314 0 0 col: col: cell+ ;s @ 3314 3314 0 0 col: cell+ ;s @ col: col: 3314 3314 0 0 col: cell+ ;s @ col: 3314 3314 0 0 ?branch col: col: cell+ ;s @ 3314 3314 0 0 ;s @ col: col: col: var: 3312 1204 692 1416 dup aligned swap (?do) 3312 1204 692 1416 dup aligned swap 3312 1204 692 1416 dup aligned 3312 1204 692 1416 aligned swap (?do) 3312 1204 692 1416 aligned swap 3312 1204 692 1416 @ ;s dup aligned swap (?do) 3312 1204 692 1416 @ ;s dup aligned swap 3312 1204 692 1416 @ ;s dup aligned 3312 1204 692 1416 @ ;s @ ;s dup aligned 3312 1204 692 1416 ;s dup aligned swap (?do) 3312 1204 692 1416 ;s dup aligned swap 3312 1204 692 1416 ;s dup aligned 3312 1204 692 1416 ;s @ ;s dup aligned swap 3312 1204 692 1416 ;s @ ;s dup aligned 3311 1457 566 1288 0< ?branch var: 3310 1461 1703 146 ;s ?branch drop 3308 7 3301 0 ;s dup col: col: col: 3308 0 0 3308 does: @ + ;s @ 3308 0 0 3308 @ + ;s @ 3301 52 2601 648 i' i - 3301 52 2601 648 i' i 3301 52 2601 648 i' 3301 0 3301 0 ;s dup col: col: col: user: 3294 2310 708 276 lit - dup lit 3294 2310 708 276 lit - dup 3294 2310 708 276 lit - 3294 2310 708 276 - dup lit 3289 30 2612 647 2dup defer: (type) 3289 30 2612 647 2dup defer: 3285 575 982 1728 col: lit lit 3281 3121 126 34 ! col: col: 3269 1455 760 1054 ;s ;s col: col: user: @ 3269 1455 760 1054 ;s ;s col: col: user: 3267 2271 721 275 lit = 3259 0 3259 0 lp+ ;s dup col: col: col: 3259 0 3259 0 lp+ ;s dup col: col: 3259 0 3259 0 lp+ ;s dup col: 3259 0 3259 0 @local1 @ lp+ ;s dup col: 3259 0 3259 0 @ lp+ ;s dup col: col: 3259 0 3259 0 @ lp+ ;s dup col: 3259 0 3259 0 ?branch-lp+!# 3259 0 3259 0 ;s 0= ?branch-lp+!# 3259 0 3259 0 ;s +! ;s ! ;s 0= 3259 0 3259 0 ;s ! ;s 0= ?branch-lp+!# 3259 0 3259 0 ;s ! ;s 0= 3259 0 3259 0 0= ?branch-lp+!# 3259 0 3259 0 +! ;s ! ;s 0= ?branch-lp+!# 3259 0 3259 0 +! ;s ! ;s 0= 3259 0 3259 0 ! ;s 0= ?branch-lp+!# 3258 25 2586 647 swap lit max lit (?do) i' 3258 25 2586 647 min 2dup defer: (type) (+loop) unloop 3258 25 2586 647 min 2dup defer: (type) (+loop) 3258 25 2586 647 min 2dup defer: (type) 3258 25 2586 647 min 2dup defer: 3258 25 2586 647 min 2dup 3258 25 2586 647 max lit (?do) i' i - 3258 25 2586 647 max lit (?do) i' i 3258 25 2586 647 max lit (?do) i' 3258 25 2586 647 lit min 2dup defer: (type) (+loop) 3258 25 2586 647 lit min 2dup defer: (type) 3258 25 2586 647 lit min 2dup defer: 3258 25 2586 647 lit min 2dup 3258 25 2586 647 lit min 3258 25 2586 647 lit max lit (?do) i' i 3258 25 2586 647 lit max lit (?do) i' 3258 25 2586 647 lit does: swap lit max lit 3258 25 2586 647 lit does: swap lit max 3258 25 2586 647 lit does: swap lit 3258 25 2586 647 lit does: swap 3258 25 2586 647 lit does: 3258 25 2586 647 lit (?do) i' i - lit 3258 25 2586 647 lit (?do) i' i - 3258 25 2586 647 lit (?do) i' i 3258 25 2586 647 lit (?do) i' 3258 25 2586 647 i' i - lit min 2dup 3258 25 2586 647 i' i - lit min 3258 25 2586 647 i' i - lit 3258 25 2586 647 i - lit min 2dup defer: 3258 25 2586 647 i - lit min 2dup 3258 25 2586 647 i - lit min 3258 25 2586 647 i - lit 3258 25 2586 647 defer: (type) (+loop) unloop drop ;s 3258 25 2586 647 defer: (type) (+loop) unloop drop 3258 25 2586 647 defer: (type) (+loop) unloop 3258 25 2586 647 defer: (type) (+loop) 3258 25 2586 647 2dup defer: (type) (+loop) unloop drop 3258 25 2586 647 2dup defer: (type) (+loop) unloop 3258 25 2586 647 2dup defer: (type) (+loop) 3258 25 2586 647 - lit min 2dup defer: (type) 3258 25 2586 647 - lit min 2dup defer: 3258 25 2586 647 - lit min 2dup 3258 25 2586 647 - lit min 3258 25 2586 647 (type) (+loop) unloop drop ;s 3258 25 2586 647 (type) (+loop) unloop drop 3258 25 2586 647 (type) (+loop) unloop 3258 25 2586 647 (type) (+loop) 3258 25 2586 647 (?do) i' i - lit min 3258 25 2586 647 (?do) i' i - lit 3258 25 2586 647 (?do) i' i - 3258 25 2586 647 (?do) i' i 3258 25 2586 647 (?do) i' 3258 25 2586 647 (+loop) unloop drop ;s 3258 25 2586 647 (+loop) unloop drop 3243 10 2586 647 unloop drop ;s ;s 3241 8 2586 647 col: lit does: swap lit max 3241 8 2586 647 col: lit does: swap lit 3241 8 2586 647 col: lit does: swap 3241 8 2586 647 col: lit does: 3241 8 2586 647 (type) (+loop) unloop drop ;s ;s 3241 8 2586 647 (+loop) unloop drop ;s ;s 3232 2769 338 125 ! ;s user: @ 3216 27 3189 0 ?branch 2drop con: 3213 1998 683 532 ?branch rdrop ;s ;s 3213 1998 683 532 >r ?branch rdrop ;s ;s 3213 1998 683 532 ;s >r ?branch rdrop ;s ;s 3205 1224 976 1005 xor swap c! ;s 3205 1224 976 1005 xor swap c! 3205 1224 976 1005 xor swap 3205 1224 976 1005 user: @ dup 0= col: col: 3205 1224 976 1005 user: @ dup 0= col: 3205 1224 976 1005 user: @ dup 0= 3205 1224 976 1005 tuck c@ xor swap c! ;s 3205 1224 976 1005 tuck c@ xor swap c! 3205 1224 976 1005 tuck c@ xor swap 3205 1224 976 1005 tuck c@ xor 3205 1224 976 1005 tuck c@ 3205 1224 976 1005 rdrop ;s cell+ tuck c@ xor 3205 1224 976 1005 rdrop ;s cell+ tuck c@ 3205 1224 976 1005 rdrop ;s cell+ tuck 3205 1224 976 1005 rdrop ;s cell+ 3205 1224 976 1005 lit col: user: @ dup 0= 3205 1224 976 1005 lit col: user: @ dup 3205 1224 976 1005 col: user: @ dup 0= col: 3205 1224 976 1005 col: user: @ dup 0= 3205 1224 976 1005 col: user: @ dup 3205 1224 976 1005 cell+ tuck c@ xor swap c! 3205 1224 976 1005 cell+ tuck c@ xor swap 3205 1224 976 1005 cell+ tuck c@ xor 3205 1224 976 1005 cell+ tuck c@ 3205 1224 976 1005 c@ xor swap c! ;s 3205 1224 976 1005 c@ xor swap c! 3205 1224 976 1005 c@ xor swap 3205 1224 976 1005 c@ xor 3205 1224 976 1005 @ dup 0= col: col: r> 3205 1224 976 1005 @ dup 0= col: col: 3205 1224 976 1005 @ dup 0= col: 3205 1224 976 1005 @ dup 0= 3205 1224 976 1005 ?branch rdrop ;s cell+ tuck c@ 3205 1224 976 1005 ?branch rdrop ;s cell+ tuck 3205 1224 976 1005 ?branch rdrop ;s cell+ 3205 1224 976 1005 >r ?branch rdrop ;s cell+ tuck 3205 1224 976 1005 >r ?branch rdrop ;s cell+ 3205 1224 976 1005 ;s cell+ tuck c@ xor swap 3205 1224 976 1005 ;s cell+ tuck c@ xor 3205 1224 976 1005 ;s cell+ tuck c@ 3205 1224 976 1005 ;s cell+ tuck 3205 1224 976 1005 ;s >r ?branch rdrop ;s cell+ 3188 965 1272 951 0> ?branch nip nip execute col: 3188 768 0 2420 ?branch col: col: var: 3184 2923 255 6 ;s var: ! col: 3183 951 996 1236 dup @ dup ?branch 3183 951 996 1236 dup @ dup 3182 0 3182 0 lp+ ;s dup ?branch 2drop con: 3182 0 3182 0 dup ?branch 2drop con: lp+2 ;s 3182 0 3182 0 dup ?branch 2drop con: lp+2 3182 0 3182 0 dup ?branch 2drop con: 3182 0 3182 0 ?branch 2drop con: lp+2 ;s 3182 0 3182 0 ?branch 2drop con: lp+2 3182 0 3182 0 ;s dup ?branch 2drop con: lp+2 3182 0 3182 0 ;s dup ?branch 2drop con: 3182 0 3182 0 2drop con: lp+2 ;s 3182 0 3182 0 2drop con: lp+2 3172 2024 415 733 r> col: >r 3165 1543 565 1057 ;s col: user: 3142 1527 824 791 branch @ dup 3142 1527 824 791 branch @ 3142 1527 824 791 ;s branch @ dup 3142 1527 824 791 ;s branch @ 3138 1314 570 1254 field: @ execute col: col: 3138 1314 570 1254 @ field: @ execute col: col: 3136 1525 822 789 branch @ dup ?branch 3136 1525 822 789 ;s branch @ dup ?branch 3134 2390 369 375 ;s (loop) unloop ;s ;s 3134 2390 369 375 (loop) unloop ;s ;s 3130 781 1950 399 ;s ;s ;s col: col: 3122 0 3122 0 = ?branch @local1 3121 1330 653 1138 swap ! ;s ;s ;s ;s 3113 2486 498 129 user: @ col: 3110 2456 638 16 + ;s ! ;s 3107 1496 822 789 @ dup ?branch drop 3105 2456 638 11 dup @ cells + ;s ! 3105 2456 638 11 cells + ;s ! ;s 3105 2456 638 11 @ cells + ;s ! ;s 3105 2456 638 11 @ cells + ;s ! 3104 0 3104 0 lp- col: 3104 0 3104 0 col: >l lp- col: 3104 0 3104 0 >l lp- col: 3103 0 3103 0 lp- col: col: 3103 0 3103 0 col: >l lp- col: col: 3103 0 3103 0 >l lp- col: col: 3101 1315 935 851 ! ;s ;s branch 3086 1868 335 883 var: ! ;s ;s 3077 1565 1201 311 ! ;s lit col: 3075 0 6 3069 defer: (type) col: col: r> r> 3075 0 6 3069 defer: (type) col: col: r> 3075 0 6 3069 defer: (type) col: col: 3075 0 6 3069 (type) col: col: r> r> dup 3075 0 6 3069 (type) col: col: r> r> 3075 0 6 3069 (type) col: col: r> 3075 0 6 3069 (type) col: col: 3073 1236 783 1054 ! ;s ;s lit col: 3073 1236 783 1054 ! ;s ;s lit 3069 0 0 3069 2@ defer: (type) col: 3066 0 3066 0 >l >l >l 3065 119 2880 66 + ;s @ dup 3062 648 1666 748 @ col: col: col: col: user: 3062 648 1666 748 @ col: col: col: col: 3058 0 2552 506 lit (?do) unloop drop ;s 3058 0 2552 506 lit (?do) unloop drop 3058 0 2552 506 (?do) unloop drop ;s 3058 0 2552 506 (?do) unloop drop 3052 0 2546 506 unloop drop ;s defer: (type) ;s 3052 0 2546 506 unloop drop ;s defer: (type) 3052 0 2546 506 unloop drop ;s defer: 3052 0 2546 506 tuck - ;s r> over - 3052 0 2546 506 tuck - ;s r> over 3052 0 2546 506 tuck - ;s r> 3052 0 2546 506 swap lit max lit (?do) unloop 3052 0 2546 506 r> over - does: swap lit 3052 0 2546 506 r> over - does: swap 3052 0 2546 506 r> over - does: 3052 0 2546 506 r> over - 3052 0 2546 506 r> over 3052 0 2546 506 over - does: swap lit max 3052 0 2546 506 over - does: swap lit 3052 0 2546 506 over - does: swap 3052 0 2546 506 over - does: 3052 0 2546 506 max lit (?do) unloop drop ;s 3052 0 2546 506 max lit (?do) unloop drop 3052 0 2546 506 max lit (?do) unloop 3052 0 2546 506 lit max lit (?do) unloop drop 3052 0 2546 506 lit max lit (?do) unloop 3052 0 2546 506 lit (?do) unloop drop ;s defer: 3052 0 2546 506 dup @ tuck - ;s r> 3052 0 2546 506 drop ;s defer: (type) ;s 3052 0 2546 506 drop ;s defer: (type) 3052 0 2546 506 drop ;s defer: 3052 0 2546 506 @ tuck - ;s r> over 3052 0 2546 506 @ tuck - ;s r> 3052 0 2546 506 ;s r> over - does: swap 3052 0 2546 506 ;s r> over - does: 3052 0 2546 506 ;s r> over - 3052 0 2546 506 ;s r> over 3052 0 2546 506 ;s defer: (type) ;s 3052 0 2546 506 - does: swap lit max lit 3052 0 2546 506 - does: swap lit max 3052 0 2546 506 - does: swap lit 3052 0 2546 506 - does: swap 3052 0 2546 506 - does: 3052 0 2546 506 - ;s r> over - does: 3052 0 2546 506 - ;s r> over - 3052 0 2546 506 - ;s r> over 3052 0 2546 506 - ;s r> 3052 0 2546 506 (?do) unloop drop ;s defer: (type) 3052 0 2546 506 (?do) unloop drop ;s defer: 3050 3050 0 0 con: col: col: col: var: @ 3050 3050 0 0 con: col: col: col: var: 3045 1629 933 483 ! user: 3034 1680 882 472 nip nip execute col: col: 3034 1680 882 472 nip execute col: col: 3034 1680 882 472 ?branch nip nip execute col: col: 3030 1237 768 1025 dup user: ! 3022 1168 566 1288 over ! 3022 1168 566 1288 dup @ 0< ?branch var: @ 3022 1168 566 1288 dup @ 0< ?branch var: 3022 1168 566 1288 @ over ! 3022 1168 566 1288 @ 0< ?branch var: @ 3022 1168 566 1288 @ 0< ?branch var: 3022 1168 566 1288 0< ?branch var: @ 3002 1606 485 911 faligned swap (?do) con: col: col: 3002 1606 485 911 faligned swap (?do) con: col: 3002 1606 485 911 faligned swap (?do) con: 3002 1606 485 911 dup faligned swap (?do) con: col: 3002 1606 485 911 dup faligned swap (?do) con: 3002 1606 485 911 ;s dup faligned swap (?do) con: 2999 119 2880 0 cells + ;s @ dup 2996 1166 285 1545 @ execute col: col: col: 2990 639 1662 689 r> dup cell+ >r @ col: 2990 639 1662 689 r> dup cell+ >r @ 2990 639 1662 689 r> dup cell+ >r 2990 639 1662 689 r> dup cell+ 2990 639 1662 689 dup cell+ >r @ col: col: 2990 639 1662 689 dup cell+ >r @ col: 2990 639 1662 689 dup cell+ >r @ 2990 639 1662 689 dup cell+ >r 2990 639 1662 689 col: r> dup cell+ >r @ 2990 639 1662 689 col: r> dup cell+ >r 2990 639 1662 689 col: r> dup cell+ 2990 639 1662 689 col: r> dup 2990 639 1662 689 cell+ >r @ col: col: col: 2990 639 1662 689 cell+ >r @ col: col: 2990 639 1662 689 cell+ >r @ col: 2990 639 1662 689 cell+ >r @ 2990 639 1662 689 cell+ >r 2990 639 1662 689 >r @ col: col: col: col: 2990 639 1662 689 >r @ col: col: col: 2990 639 1662 689 >r @ col: col: 2990 639 1662 689 >r @ col: 2990 639 1662 689 >r @ 2990 1216 752 1022 ;s ! ;s ;s lit col: 2990 1216 752 1022 ;s ! ;s ;s lit 2982 0 0 2982 branch branch lit col: col: var: 2982 0 0 2982 branch branch lit col: col: 2982 0 0 2982 branch branch lit col: 2982 0 0 2982 branch branch lit 2982 0 0 2982 branch branch 2982 0 0 2982 ;s branch branch lit col: col: 2982 0 0 2982 ;s branch branch lit col: 2982 0 0 2982 ;s branch branch lit 2982 0 0 2982 ;s branch branch 2979 706 1927 346 ;s ;s ;s ;s col: col: 2968 0 2968 0 var: @local1 2962 0 2962 0 execute col: >l 2955 1728 519 708 ;s branch ;s 2947 1121 276 1550 branch ;s col: 2946 0 2880 66 ;s @ dup var: 2946 0 2880 66 + ;s @ dup var: 2936 27 16 2893 var: 2! 2910 0 2910 0 var: @local1 field: 2906 857 1091 958 r@ lit and 0= ?branch @ 2906 857 1091 958 lit and 0= ?branch @ lit 2906 857 1091 958 lit and 0= ?branch @ 2906 857 1091 958 and 0= ?branch @ lit r@ 2906 857 1091 958 and 0= ?branch @ lit 2906 857 1091 958 and 0= ?branch @ 2906 857 1091 958 @ lit r@ lit and ?branch 2906 857 1091 958 @ lit r@ lit and 2906 857 1091 958 @ lit r@ lit 2906 857 1091 958 @ lit r@ 2906 857 1091 958 ?branch @ lit r@ lit and 2906 857 1091 958 ?branch @ lit r@ lit 2906 857 1091 958 ?branch @ lit r@ 2906 857 1091 958 ?branch @ lit 2906 857 1091 958 0= ?branch @ lit r@ lit 2906 857 1091 958 0= ?branch @ lit r@ 2906 857 1091 958 0= ?branch @ lit 2906 857 1091 958 0= ?branch @ 2904 1106 283 1515 var: @ col: lit 2895 1445 418 1032 col: swap 2892 1227 619 1046 ;s ;s col: dup col: 2886 1612 1016 258 c@ lit 2883 1169 637 1077 dup aligned swap (?do) unloop ;s 2883 1169 637 1077 dup aligned swap (?do) unloop 2883 1169 637 1077 aligned swap (?do) unloop ;s 2883 1169 637 1077 aligned swap (?do) unloop 2883 1169 637 1077 ;s dup aligned swap (?do) unloop 2882 0 2882 0 lp+2 ;s col: 2882 0 0 2882 var: +! ;s branch branch lit 2882 0 0 2882 var: +! ;s branch branch 2882 0 0 2882 lit var: +! ;s branch branch 2882 0 0 2882 +! ;s branch branch lit col: 2882 0 0 2882 +! ;s branch branch lit 2882 0 0 2882 +! ;s branch branch 2880 0 2880 0 var: @local1 field: i col: cells 2880 0 2880 0 var: @local1 field: i col: 2880 0 2880 0 var: @local1 field: i 2880 0 2880 0 field: i col: cells + ;s 2880 0 2880 0 field: i col: cells + 2880 0 2880 0 field: i col: cells 2880 0 2880 0 field: i col: 2880 0 2880 0 field: i 2880 0 2880 0 dup var: = ?branch 2880 0 2880 0 dup var: = 2880 0 2880 0 col: cells + ;s @ dup 2880 0 2880 0 cells + ;s @ dup var: 2880 0 2880 0 @local1 field: i col: cells + 2880 0 2880 0 @local1 field: i col: cells 2880 0 2880 0 @local1 field: i col: 2880 0 2880 0 @local1 field: i 2880 0 2880 0 @ dup var: = ?branch 2880 0 2880 0 @ dup var: = 2880 0 2880 0 ;s @ dup var: = ?branch 2880 0 2880 0 ;s @ dup var: = 2880 0 2880 0 + ;s @ dup var: = 2871 0 2871 0 does: @ + @ ;s col: 2871 0 2871 0 @ + @ ;s col: 2868 1670 1050 148 ;s ! ;s lit 2853 0 0 2853 ;s @ does: @ 2853 0 0 2853 ;s @ does: 2853 0 0 2853 + ;s @ does: @ 2853 0 0 2853 + ;s @ does: 2845 1287 561 997 ;s col: dup col: col: col: 2840 1218 565 1057 ;s col: user: @ 2835 0 2835 0 (loop) @local1 i col: cells + 2835 0 2835 0 (loop) @local1 i col: cells 2835 0 2835 0 (loop) @local1 i col: 2835 0 2835 0 (loop) @local1 i 2835 0 2835 0 (loop) @local1 2823 1265 561 997 var: @ @ 2819 1222 570 1027 var: @ field: @ field: @ 2819 1222 570 1027 var: @ field: @ field: 2819 1222 570 1027 var: @ field: @ 2819 1222 570 1027 var: @ field: 2819 1222 570 1027 @ field: @ field: @ execute 2819 1222 570 1027 @ field: @ field: @ 2819 1222 570 1027 @ field: @ field: 2818 1054 601 1163 ;s +! ;s ! ;s ;s 2818 1054 601 1163 +! ;s ! ;s ;s 2812 1222 563 1027 ;s col: col: user: @ ?dup 2806 1248 561 997 var: @ ! 2805 1216 567 1022 >code-address 2799 1216 561 1022 >code-address ;s 2798 1179 561 1058 ! branch ;s 2797 1217 557 1023 dup user: ! lit 2797 1177 617 1003 2dup r> 2796 1216 558 1022 lit >code-address ;s 2796 1216 558 1022 lit >code-address 2796 1216 558 1022 col: lit >code-address ;s 2796 1216 558 1022 col: lit >code-address 2796 1216 558 1022 code-address! ;s 2796 1216 558 1022 code-address! 2794 1216 556 1022 lit >code-address ;s col: col: col: 2794 1216 556 1022 lit >code-address ;s col: col: 2794 1216 556 1022 lit >code-address ;s col: 2794 1216 556 1022 dup user: ! lit col: col: 2794 1216 556 1022 dup user: ! lit col: 2794 1216 556 1022 col: lit >code-address ;s col: col: 2794 1216 556 1022 col: lit >code-address ;s col: 2794 1216 556 1022 @ ;s dup user: ! lit 2794 1216 556 1022 @ ;s dup user: ! 2794 1216 556 1022 @ ;s dup user: 2794 1216 556 1022 @ ;s @ ;s dup user: 2794 1216 556 1022 >code-address ;s col: col: col: user: 2794 1216 556 1022 >code-address ;s col: col: col: 2794 1216 556 1022 >code-address ;s col: col: 2794 1216 556 1022 >code-address ;s col: 2794 1216 556 1022 ;s dup user: ! lit col: 2794 1216 556 1022 ;s dup user: ! lit 2794 1216 556 1022 ;s dup user: ! 2794 1216 556 1022 ;s dup user: 2794 1216 556 1022 ;s col: lit >code-address ;s col: 2794 1216 556 1022 ;s col: lit >code-address ;s 2794 1216 556 1022 ;s col: lit >code-address 2794 1216 556 1022 ;s code-address! ;s 2794 1216 556 1022 ;s code-address! 2794 1216 556 1022 ;s @ ;s dup user: ! 2794 1216 556 1022 ;s @ ;s dup user: 2794 1216 556 1022 ;s ;s ! ;s ;s lit 2794 1216 556 1022 ;s +! ;s ! ;s code-address! 2794 1216 556 1022 ;s ! ;s code-address! ;s 2794 1216 556 1022 ;s ! ;s code-address! 2794 1216 556 1022 +! ;s ! ;s code-address! ;s 2794 1216 556 1022 +! ;s ! ;s code-address! 2794 1216 556 1022 ! ;s code-address! ;s 2794 1216 556 1022 ! ;s code-address! 2794 1216 556 1022 ! ;s ;s lit col: col: 2791 0 2791 0 ?branch @local# 2775 2199 0 576 swap >r ;s count ;s 2775 2199 0 576 count ;s 2775 2199 0 576 >r swap >r ;s count ;s 2775 2199 0 576 >r ;s count ;s 2775 2199 0 576 ;s count ;s 2775 1257 321 1197 col: var: col: con: 2772 4 2768 0 defer: (type) ;s col: 2772 4 2768 0 (type) ;s col: 2772 1493 94 1185 @ col: col: col: user: @ 2772 1493 94 1185 @ col: col: col: user: 2771 2029 370 372 ;s col: defer: 2770 1162 568 1040 var: @ and 2766 0 2766 0 var: = ?branch drop branch (loop) 2766 0 2766 0 var: = ?branch drop branch 2766 0 2766 0 var: = ?branch drop 2766 0 2766 0 dup var: = ?branch drop branch 2766 0 2766 0 dup var: = ?branch drop 2766 0 2766 0 drop branch (loop) 2766 0 2766 0 branch (loop) 2766 0 2766 0 @ dup var: = ?branch drop 2766 0 2766 0 ?branch drop branch (loop) 2766 0 2766 0 = ?branch drop branch (loop) 2766 0 2766 0 = ?branch drop branch 2764 2544 218 2 @ ;s var: 2758 2737 15 6 col: ?dup ?branch ;s var: 2758 2737 15 6 ?dup ?branch ;s var: 2758 2737 15 6 ?branch ;s var: 2757 1166 594 997 count lit and ;s 2757 1166 594 997 col: cell+ count lit and ;s 2757 1166 594 997 col: cell+ count lit and 2757 1166 594 997 col: cell+ count lit 2757 1166 594 997 col: cell+ count 2757 1166 594 997 cell+ count lit and ;s 2752 1176 574 1002 ;s user: ! lit 2744 20 1834 890 @ ;s col: col: 2742 1184 561 997 ;s ;s col: dup col: col: 2742 1162 568 1012 ;s var: @ and 2742 1162 568 1012 ;s ;s var: @ and 2740 92 2064 584 rot col: 2738 1168 568 1002 ;s lit col: user: @ dup 2738 1168 568 1002 ;s lit col: user: @ 2738 1168 568 1002 ;s lit col: user: 2730 2218 505 7 rdrop ;s var: 2730 2218 505 7 ?branch rdrop ;s var: 2730 2218 505 7 >r ?branch rdrop ;s var: 2730 2218 505 7 ;s >r ?branch rdrop ;s var: 2730 0 2730 0 defer: (type) ;s col: lit 2730 0 2730 0 (type) ;s col: lit 2729 2218 505 6 rdrop ;s var: ! 2729 2218 505 6 ?branch rdrop ;s var: ! 2729 2218 505 6 >r ?branch rdrop ;s var: ! 2727 1168 561 998 col: dup lit 2727 1162 568 997 var: @ col: >r 2dup 2dup 2727 1162 568 997 var: @ col: >r 2dup 2727 1162 568 997 var: @ col: >r 2727 1162 568 997 var: @ and ?dup ?branch 2727 1162 568 997 var: @ and ?dup 2727 1162 568 997 user: @ ?dup ;s ?branch dup 2727 1162 568 997 user: @ ?dup ;s ?branch col: 2727 1162 568 997 r> col: dup field: @ field: 2727 1162 568 997 r> col: dup field: @ 2727 1162 568 997 r> col: dup field: 2727 1162 568 997 r> col: dup 2727 1162 568 997 lit and ;s var: @ col: 2727 1162 568 997 lit and ;s var: @ 2727 1162 568 997 lit and ;s var: 2727 1162 568 997 count lit and ;s var: @ 2727 1162 568 997 count lit and ;s var: 2727 1162 568 997 col: >r 2dup 2dup r> col: 2727 1162 568 997 col: >r 2dup 2dup r> 2727 1162 568 997 col: >r 2dup 2dup 2727 1162 568 997 col: >r 2dup 2727 1162 568 997 cell+ count lit and ;s var: 2727 1162 568 997 and ?dup ?branch 2727 1162 568 997 and ?dup 2727 1162 568 997 and ;s var: @ col: >r 2727 1162 568 997 and ;s var: @ col: 2727 1162 568 997 and ;s var: @ 2727 1162 568 997 and ;s var: 2727 1162 568 997 @ col: >r 2dup 2dup r> 2727 1162 568 997 @ col: >r 2dup 2dup 2727 1162 568 997 @ col: >r 2dup 2727 1162 568 997 @ col: >r 2727 1162 568 997 @ and ?dup ?branch 2727 1162 568 997 @ and ?dup 2727 1162 568 997 @ ?dup ;s ?branch dup @ 2727 1162 568 997 @ ?dup ;s ?branch dup 2727 1162 568 997 @ ?dup ;s ?branch col: cell+ 2727 1162 568 997 @ ?dup ;s ?branch col: 2727 1162 568 997 ?dup ;s ?branch dup @ 0< 2727 1162 568 997 ?dup ;s ?branch dup @ 2727 1162 568 997 ?dup ;s ?branch dup 2727 1162 568 997 ?dup ;s ?branch col: cell+ count 2727 1162 568 997 ?dup ;s ?branch col: cell+ 2727 1162 568 997 ?dup ;s ?branch col: 2727 1162 568 997 ?branch dup @ 0< ?branch 2727 1162 568 997 ?branch dup @ 0< 2727 1162 568 997 ?branch col: cell+ count lit and 2727 1162 568 997 ?branch col: cell+ count lit 2727 1162 568 997 ?branch col: cell+ count 2727 1162 568 997 >r 2dup 2dup r> col: dup 2727 1162 568 997 >r 2dup 2dup r> col: 2727 1162 568 997 >r 2dup 2dup r> 2727 1162 568 997 >r 2dup 2dup 2727 1162 568 997 ;s var: @ field: @ field: 2727 1162 568 997 ;s var: @ field: @ 2727 1162 568 997 ;s var: @ field: 2727 1162 568 997 ;s var: @ col: >r 2dup 2727 1162 568 997 ;s var: @ col: >r 2727 1162 568 997 ;s var: @ and ?dup ?branch 2727 1162 568 997 ;s var: @ and ?dup 2727 1162 568 997 ;s ?branch dup @ 0< ?branch 2727 1162 568 997 ;s ?branch dup @ 0< 2727 1162 568 997 ;s ?branch dup @ 2727 1162 568 997 ;s ?branch col: cell+ count lit 2727 1162 568 997 ;s ?branch col: cell+ count 2727 1162 568 997 ;s ?branch col: cell+ 2727 1162 568 997 ;s ;s var: @ and ?dup 2727 1162 568 997 2dup r> col: dup field: @ 2727 1162 568 997 2dup r> col: dup field: 2727 1162 568 997 2dup r> col: dup 2727 1162 568 997 2dup r> col: 2727 1162 568 997 2dup 2dup r> col: dup field: 2727 1162 568 997 2dup 2dup r> col: dup 2727 1162 568 997 2dup 2dup r> col: 2727 1162 568 997 2dup 2dup r> 2727 1162 568 997 2dup 2dup 2723 1163 562 998 unloop ;s col: col: user: @ 2723 1163 562 998 unloop ;s col: col: user: 2722 2722 0 0 write-file col: ?dup ?branch ;s var: 2721 0 2721 0 drop branch (loop) @local1 i col: 2721 0 2721 0 drop branch (loop) @local1 i 2721 0 2721 0 drop branch (loop) @local1 2721 0 2721 0 branch (loop) @local1 i col: cells 2721 0 2721 0 branch (loop) @local1 i col: 2721 0 2721 0 branch (loop) @local1 i 2721 0 2721 0 branch (loop) @local1 2721 0 2721 0 ?branch drop branch (loop) @local1 i 2721 0 2721 0 ?branch drop branch (loop) @local1 2721 0 2721 0 = ?branch drop branch (loop) @local1 2720 1162 561 997 var: @ @ over ! var: 2720 1162 561 997 var: @ @ over ! 2720 1162 561 997 var: @ @ over 2720 1162 561 997 var: @ ! branch ;s 2720 1162 561 997 var: @ ! branch 2720 1162 561 997 user: @ ;s @ ;s user: 2720 1162 561 997 u> lit and col: ?dup ?branch 2720 1162 561 997 u> lit and col: ?dup 2720 1162 561 997 u> lit and col: 2720 1162 561 997 u> lit and 2720 1162 561 997 u> lit 2720 1162 561 997 over ! var: @ ! branch 2720 1162 561 997 over ! var: @ ! 2720 1162 561 997 over ! var: @ 2720 1162 561 997 over ! var: 2720 1162 561 997 lit u> lit and col: ?dup 2720 1162 561 997 lit u> lit and col: 2720 1162 561 997 lit u> lit and 2720 1162 561 997 lit u> lit 2720 1162 561 997 dup lit u> lit and col: 2720 1162 561 997 dup lit u> lit and 2720 1162 561 997 dup lit u> lit 2720 1162 561 997 defer: defer: col: 2720 1162 561 997 defer: defer: 2720 1162 561 997 col: dup lit u> lit and 2720 1162 561 997 col: dup lit u> lit 2720 1162 561 997 col: dup lit u> 2720 1162 561 997 col: defer: defer: col: 2720 1162 561 997 col: defer: defer: 2720 1162 561 997 @ over ! var: @ ! 2720 1162 561 997 @ over ! var: @ 2720 1162 561 997 @ over ! var: 2720 1162 561 997 @ @ over ! var: @ 2720 1162 561 997 @ @ over ! var: 2720 1162 561 997 @ @ over ! 2720 1162 561 997 @ @ over 2720 1162 561 997 @ ;s user: ! lit col: 2720 1162 561 997 @ ;s user: ! lit 2720 1162 561 997 @ ;s @ ;s user: ! 2720 1162 561 997 @ ;s @ ;s user: 2720 1162 561 997 @ 0< ?branch var: @ @ 2720 1162 561 997 @ ! branch ;s 2720 1162 561 997 @ ! branch 2720 1162 561 997 ?branch var: @ @ over ! 2720 1162 561 997 ?branch var: @ @ over 2720 1162 561 997 ?branch var: @ @ 2720 1162 561 997 ?branch dup @ 0< ?branch var: 2720 1162 561 997 ;s user: ! lit col: col: 2720 1162 561 997 ;s user: ! lit col: 2720 1162 561 997 ;s @ ;s user: ! lit 2720 1162 561 997 ;s @ ;s user: ! 2720 1162 561 997 ;s @ ;s user: 2720 1162 561 997 ;s ;s ! ;s ;s col: 2720 1162 561 997 0< ?branch var: @ @ over 2720 1162 561 997 0< ?branch var: @ @ 2720 1162 561 997 ! var: @ ! branch ;s 2720 1162 561 997 ! var: @ ! branch 2720 1162 561 997 ! var: @ ! 2714 2583 131 0 ;s ;s ;s user: 2712 2039 436 237 col: >r dup ?branch 2712 2039 436 237 >r dup ?branch 2711 1891 439 381 over col: 2710 1161 561 988 (?do) unloop ;s col: col: 2709 1160 561 988 swap (?do) unloop ;s col: col: 2709 1160 561 988 swap (?do) unloop ;s col: 2709 1160 561 988 aligned swap (?do) unloop ;s col: 2709 1160 561 988 (?do) unloop ;s col: col: user: 2702 677 278 1747 execute col: lit col: 2702 1156 554 992 ;s ;s col: lit >code-address ;s 2702 1156 554 992 ;s ;s col: lit >code-address 2697 1158 542 997 var: @ and ?dup ?branch 2drop 2697 1158 542 997 and ?dup ?branch 2drop 2drop ;s 2697 1158 542 997 and ?dup ?branch 2drop 2drop 2697 1158 542 997 and ?dup ?branch 2drop 2697 1158 542 997 @ and ?dup ?branch 2drop 2drop 2697 1158 542 997 @ and ?dup ?branch 2drop 2697 1158 542 997 ?dup ?branch 2drop 2drop ;s var: 2697 1158 542 997 ?dup ?branch 2drop 2drop ;s 2697 1158 542 997 ?dup ?branch 2drop 2drop 2697 1158 542 997 ?dup ?branch 2drop 2697 1158 542 997 ?branch 2drop 2drop ;s var: @ 2697 1158 542 997 ?branch 2drop 2drop ;s var: 2697 1158 542 997 ?branch 2drop 2drop ;s 2697 1158 542 997 ?branch 2drop 2drop 2697 1158 542 997 2drop ;s var: @ field: @ 2697 1158 542 997 2drop ;s var: @ field: 2697 1158 542 997 2drop ;s var: @ 2697 1158 542 997 2drop ;s var: 2697 1158 542 997 2drop 2drop ;s var: @ field: 2697 1158 542 997 2drop 2drop ;s var: @ 2697 1158 542 997 2drop 2drop ;s var: 2697 1158 542 997 2drop 2drop ;s 2697 1158 542 997 2drop 2drop 2692 1501 890 301 ! ;s lit col: col: 2685 18 84 2583 cr col: 2681 2027 431 223 swap r> col: 2677 2020 434 223 over swap 2676 319 2076 281 over = ?branch 2676 319 2076 281 over = 2676 1474 762 440 ! drop 2668 1474 754 440 ! drop ;s 2662 1 78 2583 ;s cr col: 2659 0 0 2659 ;s ;s ?branch col: 2657 856 981 820 ;s var: col: 2655 0 0 2655 ;s + ;s 2652 2020 409 223 >r defer: 2649 2021 404 224 ;s >r over 2646 2020 403 223 user: @ over min /string over 2646 2020 403 223 user: @ ;s user: @ over 2646 2020 403 223 user: +! ;s 2646 2020 403 223 swap r> col: >r dup ?branch 2646 2020 403 223 swap r> col: >r dup 2646 2020 403 223 swap r> col: >r 2646 2020 403 223 rdrop ;s >r over - dup 2646 2020 403 223 rdrop ;s >r over - 2646 2020 403 223 rdrop ;s >r over 2646 2020 403 223 rdrop ;s >r 2646 2020 403 223 r> col: >r dup ?branch 2646 2020 403 223 r> col: >r dup 2646 2020 403 223 over swap r> col: >r dup 2646 2020 403 223 over swap r> col: >r 2646 2020 403 223 over swap r> col: 2646 2020 403 223 over swap r> 2646 2020 403 223 over min /string over swap r> 2646 2020 403 223 over min /string over swap 2646 2020 403 223 over min /string over 2646 2020 403 223 over - dup r> ?branch 2646 2020 403 223 over - dup r> 2646 2020 403 223 over - dup 2646 2020 403 223 min /string over swap r> col: 2646 2020 403 223 min /string over swap r> 2646 2020 403 223 min /string over swap 2646 2020 403 223 min /string over 2646 2020 403 223 dup r> ?branch 2646 2020 403 223 col: >r defer: col: col: user: 2646 2020 403 223 col: >r defer: col: col: 2646 2020 403 223 col: >r defer: col: 2646 2020 403 223 col: >r defer: 2646 2020 403 223 @ over min /string over swap 2646 2020 403 223 @ over min /string over 2646 2020 403 223 @ ;s user: @ over min 2646 2020 403 223 @ ;s user: @ over 2646 2020 403 223 ?branch rdrop ;s >r over - 2646 2020 403 223 ?branch rdrop ;s >r over 2646 2020 403 223 ?branch rdrop ;s >r 2646 2020 403 223 >r over - dup r> ?branch 2646 2020 403 223 >r over - dup r> 2646 2020 403 223 >r over - dup 2646 2020 403 223 >r over - 2646 2020 403 223 >r defer: col: col: user: @ 2646 2020 403 223 >r defer: col: col: user: 2646 2020 403 223 >r defer: col: col: 2646 2020 403 223 >r defer: col: 2646 2020 403 223 ;s user: @ over min /string 2646 2020 403 223 ;s user: @ over min 2646 2020 403 223 ;s user: @ over 2646 2020 403 223 ;s >r over - dup r> 2646 2020 403 223 ;s >r over - dup 2646 2020 403 223 ;s >r over - 2646 2020 403 223 /string over swap r> col: >r 2646 2020 403 223 /string over swap r> col: 2646 2020 403 223 /string over swap r> 2646 2020 403 223 /string over swap 2646 2020 403 223 /string over 2646 2020 403 223 - dup r> ?branch 2646 2020 403 223 - dup r> 2645 2019 403 223 lit col: >r defer: col: col: 2645 2019 403 223 lit col: >r defer: col: 2645 2019 403 223 lit col: >r defer: 2639 0 2639 0 @local1 does: @ + 2639 0 2639 0 @local1 does: @ 2639 0 2639 0 @local1 does: 2632 556 961 1115 col: lit lit ! 2632 0 2632 0 con: lp+2 ;s col: 2627 0 0 2627 @ @ ;s ;s + ;s 2627 0 0 2627 @ ;s ;s + ;s 2627 0 0 2627 ;s ;s + ;s 2624 2325 263 36 user: ! col: 2624 1898 370 356 ;s ;s col: defer: 2624 1008 438 1178 ! ;s ;s col: col: 2618 1898 370 350 ! ;s ;s col: defer: 2613 0 2048 565 ;s rot col: 2610 0 2610 0 @local1 does: @ + @ ;s 2610 0 2610 0 @local1 does: @ + @ 2605 0 0 2605 0= ;s ;s ?branch col: 2605 0 0 2605 0= 0= ;s ;s ?branch col: 2599 856 923 820 ;s var: col: con: swap ! 2599 856 923 820 ;s var: col: con: swap 2599 856 923 820 ;s var: col: con: 2598 750 0 1848 2@ var: 2596 0 2596 0 @local# @local1 2596 0 2596 0 ?branch @local# @local1 2594 789 822 983 ?branch 2dup swap col: lit 2594 789 822 983 ?branch 2dup swap col: 2594 789 822 983 ?branch 2dup swap 2594 789 822 983 2dup swap col: lit 2594 789 822 983 2dup swap col: 2594 789 822 983 2dup swap 2590 2583 7 0 ;s ;s ;s ;s user: 2589 1419 1170 0 d0= ?branch col: user: @ lit 2589 1419 1170 0 d0= ?branch col: user: @ 2589 1419 1170 0 d0= ?branch col: user: 2589 1419 1170 0 d0= ?branch col: 2589 1419 1170 0 ?branch col: user: @ lit max 2589 1419 1170 0 ?branch col: user: @ lit 2589 1419 1170 0 ;s ;s 2dup d0= ?branch col: 2589 1419 1170 0 ;s 2dup d0= ?branch col: user: 2589 1419 1170 0 ;s 2dup d0= ?branch col: 2589 1419 1170 0 2dup d0= ?branch col: user: @ 2589 1419 1170 0 2dup d0= ?branch col: user: 2589 1419 1170 0 2dup d0= ?branch col: 2588 0 2588 0 lp- @local1 ?branch @local# @local1 col: 2588 0 2588 0 lp- @local1 ?branch @local# @local1 2588 0 2588 0 lp- @local1 ?branch @local# 2588 0 2588 0 lp+2 ;s col: 0= ;s ?branch 2588 0 2588 0 lp+2 ;s col: 0= ;s 2588 0 2588 0 lp+2 ;s col: 0= 2588 0 2588 0 con: lp+2 ;s col: 0= ;s 2588 0 2588 0 con: lp+2 ;s col: 0= 2588 0 2588 0 col: 0= ;s ?branch 2588 0 2588 0 col: 0= ;s 2588 0 2588 0 @local1 ?branch @local# @local1 col: >l 2588 0 2588 0 @local1 ?branch @local# @local1 col: 2588 0 2588 0 @local1 ?branch @local# @local1 2588 0 2588 0 @local1 ?branch @local# 2588 0 2588 0 @local# @local1 col: >l >l @local0 2588 0 2588 0 @local# @local1 col: >l >l 2588 0 2588 0 @local# @local1 col: >l 2588 0 2588 0 @local# @local1 col: 2588 0 2588 0 ?branch @local# @local1 col: >l >l 2588 0 2588 0 ?branch @local# @local1 col: >l 2588 0 2588 0 ?branch @local# @local1 col: 2588 0 2588 0 >l lp- @local1 ?branch @local# @local1 2588 0 2588 0 >l lp- @local1 ?branch @local# 2588 0 2588 0 ;s col: 0= ;s ?branch 2588 0 2588 0 ;s col: 0= ;s 2588 0 2588 0 ;s >l lp- @local1 ?branch @local# 2588 0 2588 0 0= ;s ?branch 2587 0 4 2583 defer: (type) ;s cr col: 2587 0 4 2583 count defer: (type) ;s cr col: 2587 0 4 2583 (type) ;s cr col: 2586 1452 694 440 user: @ ;s user: ! drop 2586 1452 694 440 user: @ ;s user: ! 2586 1452 694 440 user: ! drop ;s 2586 1452 694 440 user: ! drop 2586 1452 694 440 @ ;s user: ! drop ;s 2586 1452 694 440 @ ;s user: ! drop 2586 1452 694 440 ;s user: @ ;s user: ! 2586 1452 694 440 ;s user: ! drop ;s 2586 1452 694 440 ;s user: ! drop 2583 2583 0 0 ;s ;s ;s ;s ;s user: 2582 1326 285 971 ;s ?branch var: 2578 1767 273 538 var: ! ;s ;s col: 2573 0 1833 740 + @ ;s col: col: 2567 1172 356 1039 ;s ;s ;s col: lit 2565 1491 926 148 ;s +! ;s ! ;s lit 2565 1491 926 148 +! ;s ! ;s lit 2564 4 2560 0 unloop drop ;s ;s ;s 2564 4 2560 0 ;s col: lit does: swap lit 2564 4 2560 0 ;s col: lit does: swap 2564 4 2560 0 ;s col: lit does: 2564 4 2560 0 (+loop) unloop drop ;s ;s ;s 2554 0 2048 506 tuck dabs col: col: col: col: 2554 0 2048 506 tuck dabs col: col: col: 2554 0 2048 506 tuck dabs col: col: 2554 0 2048 506 tuck dabs col: 2554 0 2048 506 tuck dabs 2554 0 2048 506 rot col: 0< ?branch 2554 0 2048 506 rot col: 0< 2554 0 2048 506 dabs col: col: col: col: user: 2554 0 2048 506 dabs col: col: col: col: 2554 0 2048 506 dabs col: col: col: 2554 0 2048 506 dabs col: col: 2554 0 2048 506 dabs col: 2554 0 2048 506 dabs 2554 0 2048 506 d0= ?branch ;s rot col: 0< 2554 0 2048 506 d0= ?branch ;s rot col: 2554 0 2048 506 d0= ?branch ;s rot 2554 0 2048 506 col: >r tuck dabs col: col: 2554 0 2048 506 col: >r tuck dabs col: 2554 0 2048 506 col: >r tuck dabs 2554 0 2048 506 col: >r tuck 2554 0 2048 506 col: 0< ?branch 2554 0 2048 506 col: 0< 2554 0 2048 506 ?branch ;s rot col: 0< ?branch 2554 0 2048 506 ?branch ;s rot col: 0< 2554 0 2048 506 ?branch ;s rot col: 2554 0 2048 506 ?branch ;s rot 2554 0 2048 506 >r tuck dabs col: col: col: 2554 0 2048 506 >r tuck dabs col: col: 2554 0 2048 506 >r tuck dabs col: 2554 0 2048 506 >r tuck dabs 2554 0 2048 506 >r tuck 2554 0 2048 506 ;s rot col: 0< ?branch 2554 0 2048 506 ;s rot col: 0< 2554 0 2048 506 ;s 2dup d0= ?branch ;s rot 2554 0 2048 506 2dup d0= ?branch ;s rot col: 2554 0 2048 506 2dup d0= ?branch ;s rot 2540 1163 356 1021 ;s ;s ;s ;s col: lit 2538 811 907 820 ! ;s var: col: 2535 1 2534 0 drop ;s ;s ;s ;s 2534 0 2534 0 unloop drop ;s ;s ;s ;s 2534 0 2534 0 drop ;s defer: (type) ;s col: 2534 0 2534 0 defer: (type) ;s col: lit does: 2534 0 2534 0 ;s defer: (type) ;s col: lit 2534 0 2534 0 ;s defer: (type) ;s col: 2534 0 2534 0 (type) ;s col: lit does: swap 2534 0 2534 0 (type) ;s col: lit does: 2533 0 2533 0 ?branch-lp+!# >l lp- @local1 col: >l 2533 0 2533 0 ?branch-lp+!# >l lp- @local1 col: 2533 0 2533 0 ?branch-lp+!# >l lp- @local1 2533 0 2533 0 ?branch-lp+!# >l lp- 2533 0 2533 0 ?branch-lp+!# >l 2533 0 2533 0 ;s 0= ?branch-lp+!# >l lp- @local1 2533 0 2533 0 ;s 0= ?branch-lp+!# >l lp- 2533 0 2533 0 ;s 0= ?branch-lp+!# >l 2533 0 2533 0 ;s ! ;s 0= ?branch-lp+!# >l 2533 0 2533 0 0= ?branch-lp+!# >l lp- @local1 col: 2533 0 2533 0 0= ?branch-lp+!# >l lp- @local1 2533 0 2533 0 0= ?branch-lp+!# >l lp- 2533 0 2533 0 0= ?branch-lp+!# >l 2533 0 2533 0 ! ;s 0= ?branch-lp+!# >l lp- 2533 0 2533 0 ! ;s 0= ?branch-lp+!# >l 2527 1211 319 997 execute col: col: col: user: @ 2527 1211 319 997 execute col: col: col: user: 2521 2521 0 0 lit and ?branch ;s ;s dup 2521 2521 0 0 and ?branch ;s ;s dup ?branch 2521 2521 0 0 and ?branch ;s ;s dup 2521 2521 0 0 ?branch ;s ;s dup ?branch >r 2518 969 1268 281 user: @ swap 2517 969 1267 281 user: @ swap - 2517 969 1267 281 @ swap - 2515 1611 651 253 over c@ lit 2513 933 0 1580 (hashfind) ;s ;s dup ?branch ;s 2509 811 878 820 ! ;s var: col: con: swap 2509 811 878 820 ! ;s var: col: con: 2504 857 826 821 swap ! ;s ;s branch 2502 0 0 2502 rot rot 2492 10 2019 463 0< ?branch ;s 2480 0 1488 992 ;s ;s col: col: r> 2472 2006 324 142 dup >r col: 2471 0 0 2471 @ does: @ + 2467 1551 897 19 ;s ! ;s lit col: 2465 0 2019 446 rot col: 0< ?branch ;s col: 2465 0 2019 446 rot col: 0< ?branch ;s 2465 0 2019 446 col: 0< ?branch ;s col: 2drop 2465 0 2019 446 col: 0< ?branch ;s col: 2465 0 2019 446 col: 0< ?branch ;s 2465 0 2019 446 ;s rot col: 0< ?branch ;s 2465 0 2019 446 0< ?branch ;s col: 2drop col: 2465 0 2019 446 0< ?branch ;s col: 2drop 2465 0 2019 446 0< ?branch ;s col: 2464 0 0 2464 r@ does: @ + ;s @ 2460 6 5 2449 var: @ over 2456 1228 285 943 @ ?branch dup 2454 0 1475 979 ;s ;s col: col: r> r> 2452 841 822 789 ?branch col: dup @ 2450 1226 283 941 var: @ ?branch dup 2438 18 0 2420 ?branch col: col: var: @ 2429 1166 292 971 col: col: col: user: @ ?dup 2429 1133 320 976 ?branch var: @ col: 2422 803 826 793 con: swap ! ;s ;s branch 2422 1166 285 971 user: @ ?dup ;s ?branch var: 2422 1166 285 971 field: @ execute col: col: col: 2422 1166 285 971 @ execute col: col: col: user: 2422 1166 285 971 @ ?dup ;s ?branch var: @ 2422 1166 285 971 @ ?dup ;s ?branch var: 2422 1166 285 971 ?dup ;s ?branch var: @ 2422 1166 285 971 ?dup ;s ?branch var: 2422 1166 285 971 ;s col: user: @ ?dup ;s 2422 1166 285 971 ;s col: user: @ ?dup 2422 1166 285 971 ;s ?branch var: @ 2422 0 0 2422 2@ defer: (type) col: col: r> 2422 0 0 2422 2@ defer: (type) col: col: 2410 0 0 2410 does: @ + ;s @ does: 2410 0 0 2410 @ + ;s @ does: @ 2410 0 0 2410 @ + ;s @ does: 2410 0 0 2410 ;s @ does: @ + 2410 0 0 2410 + ;s @ does: @ + 2407 1491 897 19 +! ;s ! ;s lit col: 2405 1501 890 14 ;s ! ;s lit col: col: 2405 1501 890 14 ! ;s lit col: col: col: 2400 789 822 789 var: @ ?branch col: dup @ 2400 789 822 789 var: @ ?branch col: dup 2400 789 822 789 swap col: lit + dup @ 2400 789 822 789 swap col: lit + dup 2400 789 822 789 swap col: lit + 2400 789 822 789 swap ! ;s ;s branch @ 2400 789 822 789 dup @ dup ?branch drop ! 2400 789 822 789 dup @ dup ?branch drop 2400 789 822 789 dup ?branch drop ! ;s var: 2400 789 822 789 dup ?branch drop ! ;s 2400 789 822 789 dup ?branch drop ! 2400 789 822 789 dup ?branch 2dup swap col: lit 2400 789 822 789 dup ?branch 2dup swap col: 2400 789 822 789 dup ?branch 2dup swap 2400 789 822 789 drop ! ;s var: col: con: 2400 789 822 789 drop ! ;s var: col: 2400 789 822 789 drop ! ;s var: 2400 789 822 789 drop ! ;s 2400 789 822 789 drop ! 2400 789 822 789 col: dup @ dup ?branch 2400 789 822 789 col: dup @ dup 2400 789 822 789 @ dup ?branch drop ! ;s 2400 789 822 789 @ dup ?branch drop ! 2400 789 822 789 @ dup ?branch 2dup swap col: 2400 789 822 789 @ dup ?branch 2dup swap 2400 789 822 789 @ ?branch col: dup @ dup 2400 789 822 789 @ ?branch col: dup @ 2400 789 822 789 @ ?branch col: dup 2400 789 822 789 @ + var: @ ?branch col: 2400 789 822 789 ?branch drop ! ;s var: col: 2400 789 822 789 ?branch drop ! ;s var: 2400 789 822 789 ?branch drop ! ;s 2400 789 822 789 ?branch drop ! 2400 789 822 789 ?branch col: dup @ dup ?branch 2400 789 822 789 ?branch col: dup @ dup 2400 789 822 789 ?branch 2dup swap col: lit + 2400 789 822 789 ;s ;s branch @ dup ?branch 2400 789 822 789 ;s ;s branch @ dup 2400 789 822 789 ;s ;s branch @ 2400 789 822 789 2dup swap col: lit + dup 2400 789 822 789 2dup swap col: lit + 2400 789 822 789 + var: @ ?branch col: dup 2400 789 822 789 + var: @ ?branch col: 2400 789 822 789 ! ;s ;s branch @ dup 2400 789 822 789 ! ;s ;s branch @ 2397 76 0 2321 con: (+loop) 2394 787 820 787 branch @ dup ?branch 2dup swap 2394 787 820 787 branch @ dup ?branch 2dup 2394 787 820 787 ;s branch @ dup ?branch 2dup 2390 1164 892 334 - col: 2386 0 2386 0 ?branch 2drop con: lp+2 ;s col: 2386 0 2386 0 2drop con: lp+2 ;s col: 0= 2386 0 2386 0 2drop con: lp+2 ;s col: 2375 0 0 2375 dup does: @ 2375 0 0 2375 dup does: 2374 1638 366 370 c! ;s (loop) unloop ;s ;s 2367 1224 785 358 xor swap c! ;s ;s 2367 1224 785 358 c@ xor swap c! ;s ;s 2360 76 2087 197 drop lit 2360 76 2087 197 ?branch drop lit 2358 2234 124 0 ! col: col: var: 2355 76 2082 197 drop lit col: 2355 76 2082 197 ?branch drop lit col: 2336 1343 536 457 col: defer: col: defer: col: col: 2336 1343 536 457 col: defer: col: defer: col: 2336 1343 536 457 col: defer: col: defer: 2330 1106 283 941 var: @ col: lit + dup 2330 1106 283 941 var: @ col: lit + 2330 1106 283 941 var: @ ?branch dup @ lit 2330 1106 283 941 var: @ ?branch dup @ 2330 1106 283 941 pick ! ! branch var: col: 2330 1106 283 941 pick ! ! branch var: 2330 1106 283 941 pick ! ! branch 2330 1106 283 941 lit pick ! ! branch var: 2330 1106 283 941 lit pick ! ! branch 2330 1106 283 941 branch var: col: con: swap ! 2330 1106 283 941 branch var: col: con: swap 2330 1106 283 941 branch var: col: con: 2330 1106 283 941 branch var: col: 2330 1106 283 941 branch var: 2330 1106 283 941 @ lit pick ! ! branch 2330 1106 283 941 @ col: lit + dup @ 2330 1106 283 941 @ col: lit + dup 2330 1106 283 941 @ col: lit + 2330 1106 283 941 @ ?branch dup @ lit pick 2330 1106 283 941 @ ?branch dup @ lit 2330 1106 283 941 @ ?branch dup @ 2330 1106 283 941 @ + var: @ ?branch dup 2330 1106 283 941 @ (hashfind) ;s ;s var: @ 2330 1106 283 941 @ (hashfind) ;s ;s var: 2330 1106 283 941 ?dup ;s ?branch var: @ col: 2330 1106 283 941 ?branch var: @ col: lit + 2330 1106 283 941 ?branch var: @ col: lit 2330 1106 283 941 ?branch dup @ lit pick ! 2330 1106 283 941 ?branch dup @ lit pick 2330 1106 283 941 ?branch dup @ lit 2330 1106 283 941 ;s ?branch var: @ col: lit 2330 1106 283 941 ;s ?branch var: @ col: 2330 1106 283 941 + var: @ ?branch dup @ 2330 1106 283 941 + var: @ ?branch dup 2330 1106 283 941 + @ (hashfind) ;s ;s var: 2330 1106 283 941 (hashfind) ;s ;s var: @ and 2330 1106 283 941 (hashfind) ;s ;s var: @ 2330 1106 283 941 (hashfind) ;s ;s var: 2330 1106 283 941 ! branch var: col: con: swap 2330 1106 283 941 ! branch var: col: con: 2330 1106 283 941 ! branch var: col: 2330 1106 283 941 ! branch var: 2330 1106 283 941 ! ! branch var: col: con: 2330 1106 283 941 ! ! branch var: col: 2330 1106 283 941 ! ! branch var: 2330 1106 283 941 ! ! branch 2323 1106 276 941 var: @ ! branch ;s col: 2323 1106 276 941 branch ;s col: user: @ ?dup 2323 1106 276 941 branch ;s col: user: @ 2323 1106 276 941 branch ;s col: user: 2323 1106 276 941 @ ! branch ;s col: user: 2323 1106 276 941 @ ! branch ;s col: 2323 1106 276 941 ! branch ;s col: user: @ 2323 1106 276 941 ! branch ;s col: user: 2323 1106 276 941 ! branch ;s col: 2322 1923 388 11 dup @ cells + ;s @ 2322 1923 388 11 col: col: var: dup @ cells 2322 1923 388 11 col: col: var: dup @ 2322 1923 388 11 col: col: var: dup 2322 1923 388 11 @ cells + ;s @ var: 2322 1923 388 11 @ cells + ;s @ 2320 2320 0 0 ;s ;s user: @ 0= ?branch 2320 2320 0 0 ;s ;s user: @ 0= 2320 2320 0 0 ;s ;s user: @ 2317 152 191 1974 dup i 2306 725 0 1581 ?branch ;s ?branch 2306 1633 436 237 col: >r dup ?branch over c@ 2306 1633 436 237 col: >r dup ?branch over 2306 1633 436 237 >r dup ?branch over c@ r@ 2306 1633 436 237 >r dup ?branch over c@ 2306 1633 436 237 >r dup ?branch over 2305 725 0 1580 dup ?branch ;s ?branch 2305 725 0 1580 ;s dup ?branch ;s ?branch 2302 12 2 2288 ;s var: 2! 2293 2293 0 0 nip col: dup @ con: = 2293 2293 0 0 nip col: dup @ con: 2293 2293 0 0 nip col: dup @ 2293 2293 0 0 nip col: dup 2293 2293 0 0 ?branch nip col: dup @ con: 2293 2293 0 0 ?branch nip col: dup @ 2293 2293 0 0 ?branch nip col: dup 2293 2293 0 0 ?branch 0> ?branch nip col: dup 2293 2293 0 0 0> ?branch nip col: dup @ 2293 2293 0 0 0> ?branch nip col: dup 2282 835 1021 426 ?branch 1- 2274 1162 762 350 xor swap c! ;s ;s col: 2272 71 2103 98 ;s col: lit col: >r 2262 853 1 1408 (?do) i 2261 1200 649 412 swap ! ;s lit 2261 1200 649 412 con: swap ! ;s lit 2261 1200 649 412 col: con: swap ! ;s lit 2258 2258 0 0 ;s ;s ;s user: @ 0= 2258 2258 0 0 ;s ;s ;s user: @ 2258 2258 0 0 ;s ;s ;s ;s user: @ 2255 17 55 2183 2! ;s 2241 1090 671 480 ;s ;s ;s ;s branch col: 2241 1027 947 267 nip ;s 2240 1614 403 223 r> col: >r dup ?branch over 2215 0 0 2215 con: rot rot 2215 0 0 2215 con: rot 2204 0 2204 0 ?branch @local1 col: 2182 0 2182 0 @local1 ?branch @local1 2170 6 0 2164 lit @ 2170 1479 380 311 ! col: var: 2168 0 2168 0 lp- @local1 ?branch @local1 2168 0 2168 0 >l lp- @local1 ?branch @local1 2158 0 0 2158 var: @ over - ;s 2158 0 0 2158 var: @ over - 2158 0 0 2158 over - ;s 2158 0 0 2158 col: var: @ over - ;s 2158 0 0 2158 col: var: @ over - 2158 0 0 2158 col: var: @ over 2158 0 0 2158 col: col: var: @ over - 2158 0 0 2158 col: col: var: @ over 2158 0 0 2158 @ over - ;s 2158 0 0 2158 @ over - 2156 0 0 2156 lit @ execute col: 2156 0 0 2156 lit @ execute 2154 1670 0 484 ?branch ;s col: col: r> r> 2154 1670 0 484 ?branch ;s col: col: r> 2153 1503 419 231 r@ <> ?branch rdrop ;s 2153 1503 419 231 r@ <> ?branch rdrop 2153 1503 419 231 over c@ r@ <> ?branch rdrop 2153 1503 419 231 c@ r@ <> ?branch rdrop ;s 2153 1503 419 231 c@ r@ <> ?branch rdrop 2153 1503 419 231 <> ?branch rdrop ;s 2153 1503 419 231 <> ?branch rdrop 2151 996 708 447 user: @ ?branch defer: 2151 996 708 447 col: user: @ ?branch defer: 2151 996 708 447 @ ?branch defer: 2150 1430 370 350 col: dup 0= 2150 1430 370 350 ;s col: dup 0= 2140 2140 0 0 swap >r ;s count ;s con: 2140 2140 0 0 count ;s con: 2140 2140 0 0 >r ;s count ;s con: 2140 2140 0 0 ;s count ;s con: 2140 1458 477 205 ?branch con: ;s 2139 0 2139 0 col: >l >l >l 2138 2056 72 10 cell+ cell+ 2130 2130 0 0 ;s con: write-file col: ?dup ?branch 2130 2130 0 0 ;s con: write-file col: ?dup 2130 2130 0 0 ;s con: write-file col: 2130 2130 0 0 ;s con: write-file 2129 992 697 440 user: @ ?branch defer: col: col: 2129 992 697 440 user: @ ?branch defer: col: 2129 992 697 440 col: user: @ ?branch defer: col: 2129 992 697 440 @ ?branch defer: col: col: 2129 992 697 440 @ ?branch defer: col: 2129 992 697 440 ?branch defer: col: col: 2126 992 694 440 @ ?branch defer: col: col: user: 2126 992 694 440 ?branch defer: col: col: user: @ 2126 992 694 440 ?branch defer: col: col: user: 2124 1499 402 223 r@ <> ?branch rdrop ;s >r 2124 1499 402 223 r> ?branch 1+ user: +! ;s 2124 1499 402 223 r> ?branch 1+ user: +! 2124 1499 402 223 r> ?branch 1+ user: 2124 1499 402 223 r> ?branch 1+ 2124 1499 402 223 over - dup r> ?branch 1+ 2124 1499 402 223 dup r> ?branch 1+ user: +! 2124 1499 402 223 dup r> ?branch 1+ user: 2124 1499 402 223 dup r> ?branch 1+ 2124 1499 402 223 ?branch 1+ user: +! ;s 2124 1499 402 223 ?branch 1+ user: +! 2124 1499 402 223 ?branch 1+ user: 2124 1499 402 223 ?branch 1+ 2124 1499 402 223 <> ?branch rdrop ;s >r over 2124 1499 402 223 <> ?branch rdrop ;s >r 2124 1499 402 223 1+ user: +! ;s 2124 1499 402 223 1+ user: +! 2124 1499 402 223 1+ user: 2124 1499 402 223 - dup r> ?branch 1+ user: 2124 1499 402 223 - dup r> ?branch 1+ 2124 0 0 2124 does: @ + ;s ! 2124 0 0 2124 @ does: @ + @ ;s 2124 0 0 2124 @ does: @ + @ 2124 0 0 2124 @ + ;s ! 2124 0 0 2124 ;s con: (+loop) 2124 0 0 2124 ;s @ does: @ + @ 2111 18 84 2009 cr col: col: 2111 1481 449 181 r> user: 2107 1089 250 768 1- dup 2100 1555 396 149 con: ;s ?branch 2088 1 78 2009 ;s cr col: col: 2063 0 0 2063 dup does: @ + ;s 2063 0 0 2063 dup does: @ + 2061 576 967 518 execute col: user: 2056 2056 0 0 col: cell+ cell+ ;s 2056 2056 0 0 col: cell+ cell+ 2056 2056 0 0 cell+ cell+ ;s 2052 567 967 518 execute col: user: @ 2048 1472 400 176 u>= ?branch 2048 1472 400 176 u>= 2042 1408 448 186 user: @ >r 2039 0 2039 0 @local1 @local3 2036 0 2036 0 lit col: >r tuck dabs col: 2036 0 2036 0 lit col: >r tuck dabs 2036 0 2036 0 lit col: >r tuck 2036 0 2036 0 dup 0< ;s col: lit col: 2036 0 2036 0 dup 0< ;s col: lit 2036 0 2036 0 dup 0< ;s col: 2036 0 2036 0 col: lit col: >r tuck dabs 2036 0 2036 0 col: lit col: >r tuck 2036 0 2036 0 col: dup 0< ;s col: lit 2036 0 2036 0 col: dup 0< ;s col: 2036 0 2036 0 col: col: dup 0< ;s col: 2036 0 2036 0 col: col: dup 0< ;s 2036 0 2036 0 col: col: dup 0< 2036 0 2036 0 ;s col: lit col: >r tuck 2036 0 2036 0 0< ;s col: lit col: >r 2036 0 2036 0 0< ;s col: lit col: 2036 0 2036 0 0< ;s col: lit 2036 0 2036 0 0< ;s col: 2035 0 2035 0 lp- @local1 ?branch @local1 @local3 2035 0 2035 0 @local1 ?branch @local1 @local3 2035 0 2035 0 ?branch @local1 @local3 2035 0 2035 0 >l lp- @local1 ?branch @local1 @local3 2031 0 0 2031 ?branch col: col: var: @ ;s 2027 1 1 2025 var: 2! ;s 2025 1470 405 150 lit = ?branch 2019 1408 436 175 r> user: ! 2017 1524 360 133 ?branch drop ;s 2016 1445 418 153 col: swap >r 2015 943 277 795 code-address! ;s ;s 2015 943 277 795 ;s code-address! ;s ;s 2015 943 277 795 ;s ! ;s code-address! ;s ;s 2015 943 277 795 ! ;s code-address! ;s ;s 2015 0 2015 0 field: @ ;s 2013 1293 370 350 ;s col: defer: col: defer: col: 2013 1293 370 350 ;s col: defer: col: defer: 2013 1293 370 350 ;s col: defer: col: 2013 0 4 2009 defer: (type) ;s cr col: col: 2013 0 4 2009 (type) ;s cr col: col: 2009 0 2009 0 col: field: @ ;s 2009 0 2009 0 col: field: @ 2009 0 2009 0 col: field: 2009 0 2009 0 @local1 col: field: @ ;s 2009 0 2009 0 @local1 col: field: @ 2009 0 2009 0 @local1 col: field: 2008 827 325 856 col: col: col: r> 2002 0 2002 0 field: @ ;s lp+ branch >l 2002 0 2002 0 field: @ ;s lp+ branch 2002 0 2002 0 field: @ ;s lp+ 2002 0 2002 0 col: field: @ ;s lp+ branch 2002 0 2002 0 col: field: @ ;s lp+ 2002 0 2002 0 @local1 col: field: @ ;s lp+ 2002 0 2002 0 @ ;s lp+ branch >l 2002 0 2002 0 @ ;s lp+ branch 2002 0 2002 0 @ ;s lp+ 1999 0 1999 0 defer: (type) ;s @local1 1999 0 1999 0 count defer: (type) ;s @local1 1999 0 1999 0 ;s count defer: (type) ;s @local1 1999 0 1999 0 (type) ;s @local1 1998 1459 390 149 ?branch dup user: 1998 1451 255 292 var: ! col: var: 1992 1551 316 125 user: ! ;s user: @ 1992 1551 316 125 user: ! ;s user: 1991 1184 426 381 ! ;s col: dup 1989 1457 384 148 user: @ lit = ?branch 1989 1457 384 148 user: @ lit = 1989 1457 384 148 count col: user: @ lit = 1989 1457 384 148 count col: user: @ lit 1989 1457 384 148 count col: user: @ 1989 1457 384 148 count col: user: 1989 1457 384 148 col: user: @ lit = ?branch 1989 1457 384 148 col: user: @ lit = 1989 1457 384 148 @ lit = ?branch 1989 1457 384 148 @ lit = 1985 654 677 654 col: dup @ dup ?branch drop 1985 1197 484 304 con: <> 1977 1454 375 148 user: @ lit = ?branch toupper 1977 1454 375 148 u> ?branch 1977 1454 375 148 toupper lit - dup lit u> 1977 1454 375 148 toupper lit - dup lit 1977 1454 375 148 toupper lit - dup 1977 1454 375 148 toupper lit - 1977 1454 375 148 toupper lit 1977 1454 375 148 toupper 1977 1454 375 148 lit u> ?branch 1977 1454 375 148 lit = ?branch toupper lit - 1977 1454 375 148 lit = ?branch toupper lit 1977 1454 375 148 lit = ?branch toupper 1977 1454 375 148 lit - dup lit u> ?branch 1977 1454 375 148 lit - dup lit u> 1977 1454 375 148 dup lit u> ?branch 1977 1454 375 148 @ lit = ?branch toupper lit 1977 1454 375 148 @ lit = ?branch toupper 1977 1454 375 148 ?branch toupper lit - dup lit 1977 1454 375 148 ?branch toupper lit - dup 1977 1454 375 148 ?branch toupper lit - 1977 1454 375 148 ?branch toupper lit 1977 1454 375 148 ?branch toupper 1977 1454 375 148 = ?branch toupper lit - dup 1977 1454 375 148 = ?branch toupper lit - 1977 1454 375 148 = ?branch toupper lit 1977 1454 375 148 = ?branch toupper 1977 1454 375 148 - dup lit u> ?branch 1977 1454 375 148 - dup lit u> 1975 1452 375 148 user: @ u>= ?branch 1975 1452 375 148 user: @ u>= 1975 1452 375 148 dup user: @ u>= ?branch 1975 1452 375 148 dup user: @ u>= 1975 1452 375 148 dup user: @ 1975 1452 375 148 @ u>= ?branch 1975 1452 375 148 @ u>= 1975 1452 375 148 ?branch dup user: @ u>= ?branch 1975 1452 375 148 ?branch dup user: @ u>= 1975 1452 375 148 ?branch dup user: @ 1974 1449 377 148 con: ;s ?branch col: 1973 1581 374 18 ;s ! ;s col: 1973 0 1973 0 lp+ branch >l lp- @local1 ?branch 1973 0 1973 0 branch >l lp- @local1 ?branch 1973 0 1973 0 @ ;s lp+ branch >l lp- 1966 1966 0 0 c! ;s ;s (loop) con: col: 1966 1966 0 0 c! ;s ;s (loop) con: 1966 1966 0 0 ;s c! ;s ;s (loop) con: 1966 1966 0 0 ;s ;s (loop) con: col: col: 1966 1966 0 0 ;s ;s (loop) con: col: 1966 1966 0 0 ;s ;s (loop) con: 1966 1966 0 0 (loop) con: col: col: col: var: 1966 1523 208 235 swap con: 1964 1699 12 253 ?dup ?branch ;s col: 1963 1926 4 33 col: con: col: 1962 319 647 996 ?branch branch 1962 1925 4 33 col: con: col: col: 1960 1960 0 0 col: ?dup ?branch ;s user: 1960 1960 0 0 ?dup ?branch ;s user: 1960 1960 0 0 ?branch ;s user: 1958 1524 309 125 dup 0> 1958 1524 309 125 @ dup 0> 1958 1450 439 69 execute col: col: user: @ 1958 1450 439 69 execute col: col: user: 1948 1948 0 0 var: @ col: var: 1948 1948 0 0 ;s var: @ col: var: 1946 1430 369 147 user: @ um* drop rot user: 1946 1430 369 147 user: @ um* drop rot 1946 1430 369 147 user: @ um* drop 1946 1430 369 147 user: @ um* d+ r> ;s 1946 1430 369 147 user: @ um* d+ r> 1946 1430 369 147 user: @ um* d+ 1946 1430 369 147 um* drop rot user: @ um* 1946 1430 369 147 um* drop rot user: @ 1946 1430 369 147 um* drop rot user: 1946 1430 369 147 um* drop rot 1946 1430 369 147 um* drop 1946 1430 369 147 um* d+ r> ;s (loop) 1946 1430 369 147 um* d+ r> ;s 1946 1430 369 147 um* d+ r> 1946 1430 369 147 um* d+ 1946 1430 369 147 swap user: @ um* drop rot 1946 1430 369 147 swap user: @ um* drop 1946 1430 369 147 swap user: @ um* 1946 1430 369 147 swap user: @ 1946 1430 369 147 swap >r swap user: @ um* 1946 1430 369 147 swap >r swap user: @ 1946 1430 369 147 swap >r swap user: 1946 1430 369 147 swap >r swap 1946 1430 369 147 rot user: @ um* d+ r> 1946 1430 369 147 rot user: @ um* d+ 1946 1430 369 147 rot user: @ um* 1946 1430 369 147 rot user: @ 1946 1430 369 147 rot user: 1946 1430 369 147 r> ;s (loop) 1946 1430 369 147 drop rot user: @ um* d+ 1946 1430 369 147 drop rot user: @ um* 1946 1430 369 147 drop rot user: @ 1946 1430 369 147 drop rot user: 1946 1430 369 147 drop rot 1946 1430 369 147 d+ r> ;s (loop) 1946 1430 369 147 d+ r> ;s 1946 1430 369 147 d+ r> 1946 1430 369 147 d+ 1946 1430 369 147 con: ;s ?branch col: swap >r 1946 1430 369 147 con: ;s ?branch col: swap 1946 1430 369 147 col: swap >r swap user: @ 1946 1430 369 147 col: swap >r swap user: 1946 1430 369 147 col: swap >r swap 1946 1430 369 147 @ um* drop rot user: @ 1946 1430 369 147 @ um* drop rot user: 1946 1430 369 147 @ um* drop rot 1946 1430 369 147 @ um* drop 1946 1430 369 147 @ um* d+ r> ;s (loop) 1946 1430 369 147 @ um* d+ r> ;s 1946 1430 369 147 @ um* d+ r> 1946 1430 369 147 @ um* d+ 1946 1430 369 147 ?branch con: ;s ?branch col: swap 1946 1430 369 147 ?branch con: ;s ?branch col: 1946 1430 369 147 ?branch con: ;s ?branch 1946 1430 369 147 ?branch col: swap >r swap user: 1946 1430 369 147 ?branch col: swap >r swap 1946 1430 369 147 ?branch col: swap >r 1946 1430 369 147 ?branch col: swap 1946 1430 369 147 >r swap user: @ um* drop 1946 1430 369 147 >r swap user: @ um* 1946 1430 369 147 >r swap user: @ 1946 1430 369 147 >r swap user: 1946 1430 369 147 ;s ?branch col: swap >r swap 1946 1430 369 147 ;s ?branch col: swap >r 1946 1430 369 147 ;s ?branch col: swap 1941 0 1941 0 ;s @local1 col: 1937 1205 0 732 ;s c@ 1937 1205 0 732 + ;s c@ 1935 0 1935 0 ! var: @local1 field: 1935 0 1935 0 ! var: @local1 1934 1427 360 147 user: @ u>= ?branch con: ;s 1934 1427 360 147 user: @ u>= ?branch con: 1934 1427 360 147 u>= ?branch con: ;s ?branch col: 1934 1427 360 147 u>= ?branch con: ;s ?branch 1934 1427 360 147 u>= ?branch con: ;s 1934 1427 360 147 u>= ?branch con: 1934 1427 360 147 dup user: @ u>= ?branch con: 1934 1427 360 147 @ u>= ?branch con: ;s ?branch 1934 1427 360 147 @ u>= ?branch con: ;s 1934 1427 360 147 @ u>= ?branch con: 1928 346 0 1582 @ execute col: lit col: 1927 1797 49 81 ;s col: con: 1924 1676 0 248 ?dup ?branch ;s col: col: 1923 0 0 1923 @ ;s + 1923 0 0 1923 + @ ;s + 1920 1235 360 325 ;s col: r> 1920 0 1920 0 col: cells + ;s ! var: 1920 0 1920 0 cells + ;s ! var: @local1 1920 0 1920 0 cells + ;s ! var: 1920 0 1920 0 ;s ! var: @local1 field: i 1920 0 1920 0 ;s ! var: @local1 field: 1920 0 1920 0 ;s ! var: @local1 1920 0 1920 0 ;s ! var: 1920 0 1920 0 + ;s ! var: @local1 field: 1920 0 1920 0 + ;s ! var: @local1 1920 0 1920 0 + ;s ! var: 1920 0 1920 0 ! var: @local1 field: i col: 1920 0 1920 0 ! var: @local1 field: i 1918 1670 0 248 ?dup ?branch ;s col: col: r> 1917 0 1917 0 lp+ ;s lp+ 1913 483 1006 424 r@ lit and ?branch 1- r> 1913 483 1006 424 r@ lit and ?branch 1- 1913 483 1006 424 lit r@ lit and ?branch 1- 1913 483 1006 424 lit and ?branch 1- r> lit 1913 483 1006 424 lit and ?branch 1- r> 1913 483 1006 424 lit and ?branch 1- 1913 483 1006 424 and ?branch 1- r> lit and 1913 483 1006 424 and ?branch 1- r> lit 1913 483 1006 424 and ?branch 1- r> 1913 483 1006 424 and ?branch 1- 1913 483 1006 424 ?branch 1- r> lit and ?branch 1913 483 1006 424 ?branch 1- r> lit and 1913 483 1006 424 ?branch 1- r> lit 1913 483 1006 424 ?branch 1- r> 1913 483 1006 424 1- r> lit and ?branch negate 1913 483 1006 424 1- r> lit and ?branch 1913 483 1006 424 1- r> lit and 1913 483 1006 424 1- r> lit 1913 483 1006 424 1- r> 1902 1399 358 145 u> ?branch dup user: @ u>= 1902 1399 358 145 u> ?branch dup user: @ 1902 1399 358 145 u> ?branch dup user: 1902 1399 358 145 u> ?branch dup 1902 1399 358 145 lit u> ?branch dup user: @ 1902 1399 358 145 lit u> ?branch dup user: 1902 1399 358 145 lit u> ?branch dup 1902 1399 358 145 dup lit u> ?branch dup user: 1902 1399 358 145 dup lit u> ?branch dup 1902 1399 358 145 - dup lit u> ?branch dup 1898 1898 0 0 col: dup >r 1888 629 784 475 ! user: col: con: swap ! 1888 629 784 475 ! user: col: con: swap 1888 629 784 475 ! user: col: con: 1888 629 784 475 ! user: col: 1888 1162 376 350 defer: col: col: col: 1882 1162 370 350 user: ! ;s col: dup 0= 1882 1162 370 350 user: ! ;s col: dup 1882 1162 370 350 unloop ;s ;s lit col: user: 1882 1162 370 350 unloop ;s ;s lit col: 1882 1162 370 350 unloop ;s ;s lit 1882 1162 370 350 min user: ! ;s col: dup 1882 1162 370 350 dup 0= lit and col: ?dup 1882 1162 370 350 dup 0= lit and col: 1882 1162 370 350 dup 0= lit and 1882 1162 370 350 dup 0= lit 1882 1162 370 350 defer: defer: col: col: col: col: 1882 1162 370 350 defer: defer: col: col: col: 1882 1162 370 350 defer: defer: col: col: 1882 1162 370 350 defer: col: col: col: col: user: 1882 1162 370 350 defer: col: col: col: col: 1882 1162 370 350 col: dup 0= lit and col: 1882 1162 370 350 col: dup 0= lit and 1882 1162 370 350 col: dup 0= lit 1882 1162 370 350 col: defer: defer: col: col: col: 1882 1162 370 350 col: defer: defer: col: col: 1882 1162 370 350 ?branch ;s ;s col: dup lit 1882 1162 370 350 ?branch ;s ;s col: dup col: 1882 1162 370 350 ;s col: dup lit u> lit 1882 1162 370 350 ;s col: dup lit u> 1882 1162 370 350 ;s col: dup lit 1882 1162 370 350 ;s col: dup 0= lit and 1882 1162 370 350 ;s col: dup 0= lit 1882 1162 370 350 ;s ;s lit col: user: @ 1882 1162 370 350 ;s ;s lit col: user: 1882 1162 370 350 ;s ;s col: dup lit u> 1882 1162 370 350 ;s ;s col: dup lit 1882 1162 370 350 ;s ;s col: defer: col: defer: 1882 1162 370 350 ;s ;s col: defer: col: 1882 1162 370 350 ;s ! ;s ;s col: defer: 1882 1162 370 350 0= lit and col: ?dup ?branch 1882 1162 370 350 0= lit and col: ?dup 1882 1162 370 350 0= lit and col: 1882 1162 370 350 0= lit and 1882 1162 370 350 0= lit 1882 1162 370 350 ! ;s col: dup 0= lit 1882 1162 370 350 ! ;s col: dup 0= 1882 1162 370 350 ! ;s ;s col: defer: col: 1882 0 1882 0 branch >l lp- @local1 ?branch @local1 1875 1875 0 0 col: cell+ cell+ ;s @ 1875 1875 0 0 cell+ cell+ ;s @ 1862 0 566 1296 ;s does: @ 1860 1257 321 282 col: var: col: con: swap ! 1860 1257 321 282 col: var: col: con: swap 1856 783 266 807 col: col: col: r> r> dup 1856 783 266 807 col: col: col: r> r> 1855 319 1255 281 lit over = ?branch 1855 319 1255 281 lit over = 1855 319 1255 281 col: user: @ swap - 1855 319 1255 281 col: user: @ swap 1846 712 694 440 user: ! drop ;s ;s 1846 712 694 440 ;s user: ! drop ;s ;s 1846 712 694 440 ! drop ;s ;s 1840 0 1834 6 ;s col: col: dup 1838 552 769 517 execute col: user: @ ?branch 1836 1416 300 120 user: +! ;s 2drop 1836 1416 300 120 +! ;s 2drop 1834 0 1834 0 @ ;s col: col: dup 0< 1834 0 1834 0 @ ;s col: col: dup 1834 0 1834 0 ;s col: col: dup 0< ;s 1834 0 1834 0 ;s col: col: dup 0< 1833 0 1833 0 @ + @ ;s col: col: 1833 0 1833 0 + @ ;s col: col: dup 1828 472 884 472 (f83find) ;s ;s dup ?branch nip 1818 802 316 700 2swap 1818 18 78 1722 cr col: col: r> r> dup 1818 18 78 1722 cr col: col: r> r> 1818 18 78 1722 cr col: col: r> 1817 1077 269 471 ;s ;s ;s col: var: 1816 801 316 699 lit lit 2swap 1816 801 316 699 lit 2swap 1812 1077 269 466 ;s ;s ;s ;s col: var: 1808 1808 0 0 var: @ ;s var: 1808 1808 0 0 col: var: @ ;s var: 1801 542 519 740 0= ?branch ;s 1801 1 78 1722 ;s cr col: col: r> r> 1801 1 78 1722 ;s cr col: col: r> 1800 0 506 1294 lit ! ;s 1794 556 770 468 lit lit ! user: col: con: 1794 556 770 468 lit lit ! user: col: 1794 556 770 468 lit lit ! user: 1794 556 770 468 lit ! user: col: con: swap 1794 556 770 468 lit ! user: col: con: 1794 556 770 468 lit ! user: col: 1794 556 770 468 lit ! user: 1794 556 770 468 col: lit lit ! user: col: 1794 556 770 468 col: lit lit ! user: 1793 926 89 778 ;s ;s ;s col: lit >code-address 1790 0 1790 0 @ ;s @local1 1789 10 1769 10 2dup con: 1788 1233 394 161 user: @ >r user: 1788 1233 394 161 @ >r user: 1778 1761 12 5 ;s col: ?dup ?branch ;s 1778 1761 12 5 ;s col: ?dup ?branch 1778 1761 12 5 ;s col: ?dup 1778 0 1769 9 ?branch 2dup con: 1773 1750 17 6 branch ;s user: 1769 0 0 1769 var: @ ;s ;s lit @ 1769 0 0 1769 @ ;s ;s lit @ execute 1769 0 0 1769 @ ;s ;s lit @ 1769 0 0 1769 ;s lit @ execute col: 1769 0 0 1769 ;s lit @ execute 1769 0 0 1769 ;s lit @ 1769 0 0 1769 ;s col: col: var: @ over 1769 0 0 1769 ;s ;s lit @ execute col: 1769 0 0 1769 ;s ;s lit @ execute 1769 0 0 1769 ;s ;s lit @ 1768 0 1768 0 execute col: drop con: ?branch 2dup 1768 0 1768 0 drop con: ?branch 2dup con: col: 1768 0 1768 0 drop con: ?branch 2dup con: 1768 0 1768 0 drop con: ?branch 2dup 1768 0 1768 0 con: col: dup field: @ field: 1768 0 1768 0 con: col: dup field: @ 1768 0 1768 0 con: col: dup field: 1768 0 1768 0 con: ?branch 2dup con: col: dup 1768 0 1768 0 con: ?branch 2dup con: col: 1768 0 1768 0 con: ?branch 2dup con: 1768 0 1768 0 con: ?branch 2dup 1768 0 1768 0 col: drop con: ?branch 2dup con: 1768 0 1768 0 col: drop con: ?branch 2dup 1768 0 1768 0 ?branch 2dup con: col: dup field: 1768 0 1768 0 ?branch 2dup con: col: dup 1768 0 1768 0 ?branch 2dup con: col: 1768 0 1768 0 2dup con: col: dup field: @ 1768 0 1768 0 2dup con: col: dup field: 1768 0 1768 0 2dup con: col: dup 1768 0 1768 0 2dup con: col: 1762 18 0 1744 ;s ?branch col: col: var: @ 1762 18 0 1744 ;s ?branch col: col: var: 1761 1205 509 47 >r col: col: 1754 0 0 1754 ;s + @ 1748 1748 0 0 col: cell+ cell+ ;s @ execute 1748 1748 0 0 cell+ cell+ ;s @ execute col: 1748 1748 0 0 cell+ cell+ ;s @ execute 1748 1748 0 0 cell+ ;s @ execute col: 1748 1748 0 0 cell+ ;s @ execute 1748 1748 0 0 ;s @ execute col: 1748 1748 0 0 ;s @ execute 1744 0 0 1744 ;s ;s ?branch col: col: var: 1744 0 0 1744 ;s ;s ?branch col: col: 1744 0 0 1744 0= ;s ;s ?branch col: col: 1737 750 0 987 ;s 2@ var: 1737 750 0 987 + ;s 2@ var: 1737 0 0 1737 var: 2! ;s lit col: col: 1737 0 0 1737 var: 2! ;s lit col: 1737 0 0 1737 var: 2! ;s lit 1737 0 0 1737 2! ;s lit col: col: var: 1737 0 0 1737 2! ;s lit col: col: 1737 0 0 1737 2! ;s lit col: 1737 0 0 1737 2! ;s lit 1726 736 125 865 col: var: ! 1726 0 4 1722 (type) ;s cr col: col: r> 1725 736 125 864 col: var: ! ;s 1722 0 0 1722 var: 2@ defer: (type) 1722 0 0 1722 var: 2@ defer: 1720 217 486 1017 ;s ;s col: col: col: user: 1717 1717 0 0 col: ;s @ con: 1717 1717 0 0 col: ;s @ 1717 1717 0 0 ;s @ con: 1717 1327 384 6 does: col: 1716 1327 383 6 does: col: var: dup @ cells 1716 1327 383 6 does: col: var: dup @ 1716 1327 383 6 does: col: var: dup 1716 1327 383 6 does: col: var: 1714 1558 126 30 user: ! col: col: 1713 1713 0 0 branch ;s user: @ 0= ?branch 1713 1713 0 0 branch ;s user: @ 0= 1713 1713 0 0 branch ;s user: @ 1712 0 0 1712 ;s var: 2! ;s 1711 1711 0 0 dup col: ;s 1711 1451 255 5 ;s var: ! col: var: 1710 1693 12 5 col: ?dup ?branch ;s col: 1704 1252 324 128 ;s user: col: con: swap ! 1704 1252 324 128 ;s user: col: con: swap 1704 1252 324 128 ;s user: col: con: 1704 1252 324 128 ;s user: col: 1701 1646 27 28 ;s ;s col: con: 1700 1700 0 0 ?branch var: count 1698 0 1698 0 ;s lp+ ;s lp+ 1695 0 0 1695 dup r@ 1690 1690 0 0 write-file ?dup ?branch var: count r> 1690 1690 0 0 write-file ?dup ?branch var: count 1690 1690 0 0 write-file ?dup ?branch var: 1690 1690 0 0 write-file ?dup ?branch 1690 1690 0 0 write-file ?dup 1690 1690 0 0 write-file ;s col: ?dup ?branch ;s 1690 1690 0 0 write-file ;s col: ?dup ?branch 1690 1690 0 0 write-file ;s col: ?dup 1690 1690 0 0 write-file ;s col: 1690 1690 0 0 write-file ;s 1690 1690 0 0 var: count r> write-file ;s col: 1690 1690 0 0 var: count r> write-file ;s 1690 1690 0 0 var: count r> write-file 1690 1690 0 0 var: count r> 1690 1690 0 0 r> write-file ;s col: ?dup ?branch 1690 1690 0 0 r> write-file ;s col: ?dup 1690 1690 0 0 r> write-file ;s col: 1690 1690 0 0 r> write-file ;s 1690 1690 0 0 r> write-file 1690 1690 0 0 dup >r write-file ?dup ?branch var: 1690 1690 0 0 dup >r write-file ?dup ?branch 1690 1690 0 0 dup >r write-file ?dup 1690 1690 0 0 dup >r write-file 1690 1690 0 0 count r> write-file ;s col: ?dup 1690 1690 0 0 count r> write-file ;s col: 1690 1690 0 0 count r> write-file ;s 1690 1690 0 0 count r> write-file 1690 1690 0 0 count r> 1690 1690 0 0 con: col: dup >r write-file ?dup 1690 1690 0 0 con: col: dup >r write-file 1690 1690 0 0 con: col: dup >r 1690 1690 0 0 col: dup >r write-file ?dup ?branch 1690 1690 0 0 col: dup >r write-file ?dup 1690 1690 0 0 col: dup >r write-file 1690 1690 0 0 ?dup ?branch var: count r> write-file 1690 1690 0 0 ?dup ?branch var: count r> 1690 1690 0 0 ?dup ?branch var: count 1690 1690 0 0 ?dup ?branch var: 1690 1690 0 0 ?branch var: count r> write-file ;s 1690 1690 0 0 ?branch var: count r> write-file 1690 1690 0 0 ?branch var: count r> 1690 1690 0 0 >r write-file ?dup ?branch var: count 1690 1690 0 0 >r write-file ?dup ?branch var: 1690 1690 0 0 >r write-file ?dup ?branch 1690 1690 0 0 >r write-file ?dup 1690 1690 0 0 >r write-file 1682 0 1682 0 @ var: = ?branch 1682 0 1682 0 @ var: = 1681 1073 333 275 ;s ;s col: r> 1679 0 1679 0 @local2 i col: cells + ;s 1679 0 1679 0 @local2 i col: cells + 1679 0 1679 0 @local2 i col: cells 1679 0 1679 0 @local2 i col: 1679 0 1679 0 @local2 i 1677 777 31 869 col: var: 2@ 1677 1076 320 281 lit var: ! 1676 541 694 441 execute col: user: @ ?branch defer: 1676 0 382 1294 lit lit ! ;s 1671 847 682 142 0<> ?branch 1670 292 1093 285 ! ;s ;s ;s ;s branch 1670 1670 0 0 col: ?dup ?branch ;s col: col: 1665 1291 373 1 ;s does: col: var: dup @ 1665 1291 373 1 ;s does: col: var: dup 1665 1291 373 1 ;s does: col: var: 1665 1291 373 1 ;s does: col: 1664 0 1664 0 col: cells + ;s @ var: 1664 0 1664 0 col: cells + ;s @ @local3 1664 0 1664 0 cells + ;s @ var: = 1664 0 1664 0 cells + ;s @ @local3 i 1664 0 1664 0 cells + ;s @ @local3 1664 0 1664 0 @local3 i col: cells + ;s 1664 0 1664 0 @local3 i col: cells + 1664 0 1664 0 @local3 i col: cells 1664 0 1664 0 @local3 i col: 1664 0 1664 0 @local3 i 1664 0 1664 0 @ @local3 i col: cells + 1664 0 1664 0 @ @local3 i col: cells 1664 0 1664 0 @ @local3 i col: 1664 0 1664 0 @ @local3 i 1664 0 1664 0 @ @local3 1664 0 1664 0 ;s @ var: = ?branch 1664 0 1664 0 ;s @ var: = 1664 0 1664 0 ;s @ @local3 i col: cells 1664 0 1664 0 ;s @ @local3 i col: 1664 0 1664 0 ;s @ @local3 i 1664 0 1664 0 ;s @ @local3 1664 0 1664 0 + ;s @ var: = ?branch 1664 0 1664 0 + ;s @ var: = 1664 0 1664 0 + ;s @ @local3 i col: 1664 0 1664 0 + ;s @ @local3 i 1664 0 1664 0 + ;s @ @local3 1659 0 1659 0 lp- @local1 ?branch @local1 @local3 = 1659 0 1659 0 @local1 @local3 = ?branch 1659 0 1659 0 @local1 @local3 = 1659 0 1659 0 @local1 ?branch @local1 @local3 = ?branch 1659 0 1659 0 @local1 ?branch @local1 @local3 = 1659 0 1659 0 ?branch @local1 @local3 = ?branch 1659 0 1659 0 ?branch @local1 @local3 = 1658 1 1657 0 ;s ?branch drop con: 1658 0 1658 0 var: = ?branch @local1 1658 0 1658 0 @ var: = ?branch @local1 1657 0 1657 0 col: 0= ;s ?branch drop con: 1657 0 1657 0 col: 0= ;s ?branch drop 1657 0 1657 0 ;s col: 0= ;s ?branch drop 1657 0 1657 0 ;s @local1 does: @ + 1657 0 1657 0 ;s @local1 does: @ 1657 0 1657 0 ;s @local1 does: 1657 0 1657 0 ;s ?branch drop con: lp+!# ;s 1657 0 1657 0 ;s ?branch drop con: lp+!# 1657 0 1657 0 0= ;s ?branch drop con: lp+!# 1657 0 1657 0 0= ;s ?branch drop con: 1657 0 1657 0 0= ;s ?branch drop 1651 0 1651 0 @local1 col: >l lp- col: col: 1651 0 1651 0 @local1 col: >l lp- col: 1649 0 1649 0 var: = ?branch @local1 branch i 1649 0 1649 0 var: = ?branch @local1 branch 1649 0 1649 0 branch i col: cells + ;s 1649 0 1649 0 branch i col: cells + 1649 0 1649 0 branch i col: cells 1649 0 1649 0 branch i col: 1649 0 1649 0 branch i 1649 0 1649 0 @local1 branch i col: cells + 1649 0 1649 0 @local1 branch i col: cells 1649 0 1649 0 @local1 branch i col: 1649 0 1649 0 @local1 branch i 1649 0 1649 0 @ var: = ?branch @local1 branch 1649 0 1649 0 ?branch @local1 branch i col: cells 1649 0 1649 0 ?branch @local1 branch i col: 1649 0 1649 0 ?branch @local1 branch i 1649 0 1649 0 = ?branch @local1 branch i col: 1649 0 1649 0 = ?branch @local1 branch i 1649 0 1649 0 = ?branch @local1 branch 1649 0 1649 0 ;s @ var: = ?branch @local1 1648 1648 0 0 negate ;s ;s dup ?branch >r 1648 1648 0 0 negate ;s ;s dup ?branch 1648 1648 0 0 negate ;s ;s dup 1648 1648 0 0 and ?branch negate ;s ;s dup 1648 1648 0 0 ?branch negate ;s ;s dup ?branch 1648 1648 0 0 ?branch negate ;s ;s dup 1645 1502 141 2 var: ! var: 1644 0 0 1644 col: lit col: col: 1643 1224 300 119 drop ;s user: 1643 1115 276 252 rdrop ;s ;s col: 1643 1115 276 252 ?branch rdrop ;s ;s col: 1643 1115 276 252 >r ?branch rdrop ;s ;s col: 1638 0 1638 0 cells + ;s ! (loop) @local2 1638 0 1638 0 ;s ! (loop) @local2 i col: 1638 0 1638 0 ;s ! (loop) @local2 i 1638 0 1638 0 ;s ! (loop) @local2 1638 0 1638 0 + ;s ! (loop) @local2 i 1638 0 1638 0 + ;s ! (loop) @local2 1638 0 1638 0 (loop) @local2 i col: cells + 1638 0 1638 0 (loop) @local2 i col: cells 1638 0 1638 0 (loop) @local2 i col: 1638 0 1638 0 (loop) @local2 i 1638 0 1638 0 (loop) @local2 1638 0 1638 0 ! (loop) @local2 i col: cells 1638 0 1638 0 ! (loop) @local2 i col: 1638 0 1638 0 ! (loop) @local2 i 1638 0 1638 0 ! (loop) @local2 1634 0 0 1634 does: @ + ;s 2@ defer: 1634 0 0 1634 @ + ;s 2@ defer: (type) 1634 0 0 1634 @ + ;s 2@ defer: 1634 0 0 1634 ;s 2@ defer: (type) col: 1634 0 0 1634 ;s 2@ defer: (type) 1634 0 0 1634 ;s 2@ defer: 1634 0 0 1634 + ;s 2@ defer: (type) col: 1634 0 0 1634 + ;s 2@ defer: (type) 1634 0 0 1634 + ;s 2@ defer: 1628 0 1628 0 ;s @local1 does: @ + @ 1627 1501 125 1 ;s var: ! var: 1627 0 0 1627 ?branch rot 1625 0 1625 0 @local1 col: col: 1622 1498 124 0 user: ! col: col: var: 1621 1436 94 91 * 1619 0 1619 0 @local1 col: col: col: user: @ 1619 0 1619 0 @local1 col: col: col: user: 1619 0 1619 0 @local1 col: col: col: 1617 0 0 1617 rot drop 1617 0 0 1617 ?branch rot drop 1616 0 1616 0 user: @ ;s @ ;s @local1 1616 0 1616 0 lp- col: col: user: @ ;s 1616 0 1616 0 lp- col: col: user: @ 1616 0 1616 0 lp- col: col: user: 1616 0 1616 0 col: >l lp- col: col: user: 1616 0 1616 0 @ ;s @ ;s @local1 1616 0 1616 0 >l lp- col: col: user: @ 1616 0 1616 0 >l lp- col: col: user: 1616 0 1616 0 ;s @ ;s @local1 1616 0 0 1616 rot rot cell+ swap cell+ swap 1616 0 0 1616 rot rot cell+ swap cell+ 1616 0 0 1616 rot rot cell+ swap 1616 0 0 1616 rot rot cell+ 1616 0 0 1616 rot drop con: rot rot cell+ 1616 0 0 1616 rot drop con: rot rot 1616 0 0 1616 rot drop con: rot 1616 0 0 1616 rot drop con: 1616 0 0 1616 rot cell+ swap cell+ swap r> 1616 0 0 1616 rot cell+ swap cell+ swap 1616 0 0 1616 rot cell+ swap cell+ 1616 0 0 1616 rot cell+ swap 1616 0 0 1616 rot cell+ 1616 0 0 1616 drop con: rot rot cell+ swap 1616 0 0 1616 drop con: rot rot cell+ 1616 0 0 1616 drop con: rot rot 1616 0 0 1616 drop con: rot 1616 0 0 1616 con: rot rot cell+ swap cell+ 1616 0 0 1616 con: rot rot cell+ swap 1616 0 0 1616 con: rot rot cell+ 1616 0 0 1616 ?branch rot drop con: rot rot 1616 0 0 1616 ?branch rot drop con: rot 1616 0 0 1616 ?branch rot drop con: 1616 0 0 1616 0= ?branch rot drop con: rot 1616 0 0 1616 0= ?branch rot drop con: 1616 0 0 1616 0= ?branch rot drop 1616 0 0 1616 0= ?branch rot 1616 0 0 1616 0= 0= ?branch rot drop con: 1616 0 0 1616 0= 0= ?branch rot drop 1616 0 0 1616 0= 0= ?branch rot 1612 1486 124 2 @ ;s var: ! 1611 750 0 861 2@ var: 2@ 1610 1610 0 0 c! ;s ;s (loop) unloop 1610 1610 0 0 ;s c! ;s ;s (loop) unloop 1610 1610 0 0 ;s ;s (loop) unloop 1610 0 0 1610 and ;s 0= 0= ?branch rot 1610 0 0 1610 ;s 0= 0= ?branch rot drop 1610 0 0 1610 ;s 0= 0= ?branch rot 1609 1431 91 87 con: * 1608 1608 0 0 c! ;s ;s (loop) unloop ;s 1608 1608 0 0 ;s ;s (loop) unloop ;s 1608 1484 124 0 drop user: 1607 990 312 305 ;s (loop) unloop ;s ;s lit 1607 990 312 305 (loop) unloop ;s ;s lit col: 1607 990 312 305 (loop) unloop ;s ;s lit 1606 1606 0 0 var: @ ;s ;s col: con: 1606 1606 0 0 @ ;s ;s col: con: 1606 1603 3 0 ;s lit (?do) 1603 1603 0 0 tuck 1- and - lit and 1603 1603 0 0 tuck 1- and - lit 1603 1603 0 0 tuck 1- and - 1603 1603 0 0 tuck 1- and 1603 1603 0 0 tuck 1- 1603 1603 0 0 lit and ;s lit (?do) 1603 1603 0 0 lit and ;s lit 1603 1603 0 0 con: tuck 1- and - lit 1603 1603 0 0 con: tuck 1- and - 1603 1603 0 0 con: tuck 1- and 1603 1603 0 0 con: tuck 1- 1603 1603 0 0 con: tuck 1603 1603 0 0 col: con: tuck 1- and - 1603 1603 0 0 col: con: tuck 1- and 1603 1603 0 0 col: con: tuck 1- 1603 1603 0 0 col: con: tuck 1603 1603 0 0 and ;s lit (?do) 1603 1603 0 0 and ;s lit 1603 1603 0 0 and - lit and ;s lit 1603 1603 0 0 and - lit and ;s 1603 1603 0 0 and - lit and 1603 1603 0 0 and - lit 1603 1603 0 0 and - 1603 1603 0 0 @ ;s ;s col: con: tuck 1603 1603 0 0 ;s col: con: tuck 1- and 1603 1603 0 0 ;s col: con: tuck 1- 1603 1603 0 0 ;s col: con: tuck 1603 1603 0 0 ;s c! ;s ;s col: 1603 1603 0 0 ;s ;s col: con: tuck 1- 1603 1603 0 0 ;s ;s col: con: tuck 1603 1603 0 0 1- and - lit and ;s 1603 1603 0 0 1- and - lit and 1603 1603 0 0 1- and - lit 1603 1603 0 0 1- and - 1603 1603 0 0 1- and 1603 1603 0 0 - lit and ;s lit (?do) 1603 1603 0 0 - lit and ;s lit 1603 1603 0 0 - lit and ;s 1603 1603 0 0 - lit and 1603 1603 0 0 + ;s c! ;s ;s col: 1592 0 0 1592 execute col: lit col: col: 1587 1319 250 18 ;s ! ;s col: col: 1586 0 1586 0 execute col: >l lp- 1586 0 1586 0 @local3 execute col: >l lp- 1586 0 1586 0 @local3 execute col: >l 1586 0 1586 0 @local3 execute col: 1586 0 1586 0 @local3 execute 1585 0 5 1580 con: col: col: dup field: @ 1585 0 5 1580 con: col: col: dup field: 1585 0 5 1580 con: col: col: dup 1583 295 771 517 nip nip execute col: user: 1583 295 771 517 nip execute col: user: 1583 295 771 517 ?branch nip nip execute col: user: 1583 0 0 1583 col: lit col: col: var: @ 1583 0 0 1583 col: lit col: col: var: 1582 272 437 873 ;s col: lit lit ! 1582 272 437 873 ;s col: lit lit 1582 272 437 873 ! ;s ;s col: col: user: 1582 0 0 1582 lit @ execute col: lit col: 1582 0 0 1582 lit @ execute col: lit 1582 0 0 1582 execute col: lit col: col: var: 1582 0 0 1582 @ execute col: lit col: col: 1581 0 1581 0 ;s lp+2 1580 0 0 1580 i con: col: col: dup field: 1580 0 0 1580 i con: col: col: dup 1580 0 0 1580 i con: col: col: 1580 0 0 1580 i con: col: 1580 0 0 1580 i con: 1580 0 0 1580 dup i con: col: col: dup 1580 0 0 1580 dup i con: col: col: 1580 0 0 1580 dup i con: col: 1580 0 0 1580 dup i con: 1580 0 0 1580 ;s ;s dup ?branch ;s ?branch 1574 286 771 517 nip nip execute col: user: @ 1574 286 771 517 nip execute col: user: @ 1572 72 1428 72 (f83find) ;s ;s dup ?branch drop 1569 491 617 461 nip nip execute col: defer: 1569 491 617 461 nip execute col: defer: 1569 491 617 461 execute col: defer: 1569 491 617 461 ?branch nip nip execute col: defer: 1559 1291 249 19 ! ;s does: 1558 644 16 898 ?branch col: var: 1558 272 769 517 nip execute col: user: @ ?branch 1541 553 521 467 noop 1541 1291 249 1 ! ;s does: col: var: dup 1541 1291 249 1 ! ;s does: col: var: 1541 1291 249 1 ! ;s does: col: 1532 955 309 268 branch ;s dup 1532 1532 0 0 nip col: cell+ cell+ ;s @ 1532 1532 0 0 nip col: cell+ cell+ ;s 1532 1532 0 0 nip col: cell+ cell+ 1532 1532 0 0 nip col: cell+ 1532 1532 0 0 ?branch nip col: cell+ cell+ ;s 1532 1532 0 0 ?branch nip col: cell+ cell+ 1532 1532 0 0 ?branch nip col: cell+ 1532 1532 0 0 ?branch 0> ?branch nip col: cell+ 1532 1532 0 0 ;s branch ;s user: @ 0= 1532 1532 0 0 ;s branch ;s user: @ 1532 1532 0 0 ;s branch ;s user: 1532 1532 0 0 0> ?branch nip col: cell+ cell+ 1532 1532 0 0 0> ?branch nip col: cell+ 1528 803 592 133 ;s lit lit 1522 689 467 366 ;s ;s ;s col: col: col: 1519 126 7 1386 ! ;s ;s dup 1518 1501 16 1 var: ! var: @ 1512 0 1512 0 defer: (type) ;s @local1 does: @ 1512 0 1512 0 defer: (type) ;s @local1 does: 1512 0 1512 0 count defer: (type) ;s @local1 does: 1512 0 1512 0 (type) ;s @local1 does: @ + 1512 0 1512 0 (type) ;s @local1 does: @ 1512 0 1512 0 (type) ;s @local1 does: 1511 1500 11 0 @ 0<> 1510 1510 0 0 var: count con: 1510 1510 0 0 count con: 1503 1501 1 1 ;s var: ! var: @ 1500 1500 0 0 var: count con: write-file col: ?dup 1500 1500 0 0 var: count con: write-file col: 1500 1500 0 0 var: count con: write-file 1500 1500 0 0 var: @ 0<> 1500 1500 0 0 var: ! var: @ ?branch 1500 1500 0 0 count con: write-file col: ?dup ?branch 1500 1500 0 0 count con: write-file col: ?dup 1500 1500 0 0 count con: write-file col: 1500 1500 0 0 count con: write-file 1500 1500 0 0 col: ?dup ?branch ;s var: count 1500 1500 0 0 col: ;s var: 1500 1500 0 0 ?dup ?branch ;s var: count con: 1500 1500 0 0 ?dup ?branch ;s var: count 1500 1500 0 0 ?branch ;s var: count con: write-file 1500 1500 0 0 ?branch ;s var: count con: 1500 1500 0 0 ?branch ;s var: count 1500 1500 0 0 ;s var: count con: write-file col: 1500 1500 0 0 ;s var: count con: write-file 1500 1500 0 0 ;s var: count con: 1500 1500 0 0 ;s var: count 1500 1500 0 0 ;s var: ! var: @ ?branch 1500 1500 0 0 ! var: @ ?branch 1495 1495 0 0 @ ;s @ ;s ;s count 1495 1495 0 0 @ ;s ;s count col: 1495 1495 0 0 @ ;s ;s count 1495 1495 0 0 ;s count col: 1495 1495 0 0 ;s @ ;s ;s count col: 1495 1495 0 0 ;s @ ;s ;s count 1495 1495 0 0 ;s ;s count col: 1495 1495 0 0 ;s ;s count 1495 0 1482 13 ;s ;s ;s col: col: r> 1489 1113 374 2 cells + ;s ! ;s col: 1489 1113 374 2 + ;s ! ;s col: 1488 6 0 1482 ?branch ;s col: col: var: 1487 0 1487 0 lp- col: col: r> r> dup 1487 0 1487 0 lp- col: col: r> r> 1487 0 1487 0 lp- col: col: r> 1487 0 1487 0 col: >l lp- col: col: r> 1487 0 1487 0 >l lp- col: col: r> r> 1487 0 1487 0 >l lp- col: col: r> 1486 1486 0 0 var: @ ;s var: ! 1486 1486 0 0 user: ! col: col: var: @ 1486 1486 0 0 count col: dup col: col: col: 1486 1486 0 0 count col: dup col: col: 1486 1486 0 0 count col: dup col: 1486 1486 0 0 count col: dup 1486 1486 0 0 col: var: @ ;s var: ! 1486 1486 0 0 @ ;s ;s count col: dup 1486 1486 0 0 ;s count col: dup col: col: 1486 1486 0 0 ;s count col: dup col: 1486 1486 0 0 ;s count col: dup 1486 1486 0 0 ;s ;s count col: dup col: 1486 1486 0 0 ;s ;s count col: dup 1486 1486 0 0 ! col: col: var: @ ;s 1486 1486 0 0 ! col: col: var: @ 1485 63 91 1331 >r r@ 1482 1163 197 122 ;s var: @ ?branch 1482 0 0 1482 ?branch ;s col: col: var: @ 1482 0 0 1482 ;s lit @ execute col: lit 1478 0 1478 0 drop ;s ;s ;s ;s col: 1476 1472 0 4 var: ! col: col: 1473 1472 0 1 ;s var: ! col: col: 1472 898 0 574 col: var: @ var: 1464 0 1464 0 @local3 = ?branch @local1 col: field: 1464 0 1464 0 @local3 = ?branch @local1 col: 1464 0 1464 0 @local3 = ?branch @local1 1464 0 1464 0 @local1 @local3 = ?branch @local1 col: 1464 0 1464 0 @local1 @local3 = ?branch @local1 1464 0 1464 0 ?branch @local1 col: field: @ ;s 1464 0 1464 0 ?branch @local1 col: field: @ 1464 0 1464 0 ?branch @local1 col: field: 1464 0 1464 0 ?branch @local1 @local3 = ?branch @local1 1464 0 1464 0 = ?branch @local1 col: field: @ 1464 0 1464 0 = ?branch @local1 col: field: 1464 0 1464 0 = ?branch @local1 col: 1463 904 279 280 drop r> 1454 1035 299 120 ?branch 1+ user: +! ;s 2drop 1454 1035 299 120 1+ user: +! ;s 2drop 1453 768 43 642 var: @ col: col: col: 1453 768 43 642 ;s var: @ col: col: col: 1453 768 43 642 ;s var: @ col: col: 1449 320 848 281 user: +! lit 1449 320 848 281 +! lit 1448 319 848 281 user: +! lit over = ?branch 1448 319 848 281 user: +! lit over = 1448 319 848 281 user: +! lit over 1448 319 848 281 negate user: +! lit over = 1448 319 848 281 negate user: +! lit over 1448 319 848 281 negate user: +! lit 1448 319 848 281 negate user: +! 1448 319 848 281 negate user: 1448 319 848 281 dup negate user: +! lit over 1448 319 848 281 dup negate user: +! lit 1448 319 848 281 dup negate user: +! 1448 319 848 281 dup negate user: 1448 319 848 281 dup negate 1448 319 848 281 col: dup negate user: +! lit 1448 319 848 281 col: dup negate user: +! 1448 319 848 281 col: dup negate user: 1448 319 848 281 col: dup negate 1448 319 848 281 +! lit over = ?branch 1448 319 848 281 +! lit over = 1448 319 848 281 +! lit over 1447 319 847 281 user: @ swap - col: dup 1447 319 847 281 user: @ swap - col: 1447 319 847 281 swap - col: dup negate user: 1447 319 847 281 swap - col: dup negate 1447 319 847 281 swap - col: dup 1447 319 847 281 swap - col: 1447 319 847 281 col: user: @ swap - col: 1447 319 847 281 @ swap - col: dup negate 1447 319 847 281 @ swap - col: dup 1447 319 847 281 @ swap - col: 1447 319 847 281 - col: dup negate user: +! 1447 319 847 281 - col: dup negate user: 1447 319 847 281 - col: dup negate 1447 319 847 281 - col: dup 1444 1020 399 25 ;s ;s branch ;s 1435 0 0 1435 var: 2@ defer: (type) col: col: 1435 0 0 1435 var: 2@ defer: (type) col: 1434 319 834 281 branch drop ;s ;s 1434 319 834 281 branch drop ;s 1434 319 834 281 branch drop 1432 6 270 1156 var: var: 1426 950 322 154 c! ;s ;s col: col: user: 1425 0 0 1425 ;s var: 2! ;s lit col: 1425 0 0 1425 ;s var: 2! ;s lit 1422 343 145 934 ! ;s ;s var: 1422 1 6 1415 2@ col: 1421 0 0 1421 col: dup does: @ 1421 0 0 1421 col: dup does: 1416 0 0 1416 swap dup r@ does: @ + 1416 0 0 1416 swap dup r@ does: @ 1416 0 0 1416 swap dup r@ does: 1416 0 0 1416 swap dup r@ 1416 0 0 1416 r@ does: @ + ;s ! 1416 0 0 1416 i col: dup does: @ + 1416 0 0 1416 i col: dup does: @ 1416 0 0 1416 i col: dup does: 1416 0 0 1416 i col: dup 1416 0 0 1416 dup r@ does: @ + ;s 1416 0 0 1416 dup r@ does: @ + 1416 0 0 1416 dup r@ does: @ 1416 0 0 1416 dup r@ does: 1416 0 0 1416 does: @ + @ ;s + 1416 0 0 1416 does: @ + ;s ! r@ 1416 0 0 1416 col: dup does: @ + ;s 1416 0 0 1416 col: dup does: @ + 1416 0 0 1416 @ + @ ;s + 1416 0 0 1416 @ + ;s ! r@ does: 1416 0 0 1416 @ + ;s ! r@ 1416 0 0 1416 ;s ! r@ does: @ + 1416 0 0 1416 ;s ! r@ does: @ 1416 0 0 1416 ;s ! r@ does: 1416 0 0 1416 ;s ! r@ 1416 0 0 1416 + ;s ! r@ does: @ 1416 0 0 1416 + ;s ! r@ does: 1416 0 0 1416 + ;s ! r@ 1416 0 0 1416 ! r@ does: @ + ;s 1416 0 0 1416 ! r@ does: @ + 1416 0 0 1416 ! r@ does: @ 1416 0 0 1416 ! r@ does: 1410 1 1 1408 (?do) i col: 1407 0 0 1407 con: (+loop) unloop ;s 1407 0 0 1407 con: (+loop) unloop 1407 0 0 1407 ;s con: (+loop) unloop ;s 1407 0 0 1407 ;s con: (+loop) unloop 1407 0 0 1407 (+loop) unloop ;s 1406 0 1406 0 lit col: >l >l 1406 0 1406 0 lit col: >l 1403 1129 255 19 @ 1+ 1402 279 682 441 drop ;s ;s branch col: sp@ 1402 279 682 441 drop ;s ;s branch col: 1402 279 682 441 drop ;s ;s branch 1401 282 246 873 ;s ;s defer: 1397 1129 263 5 > col: 1390 1129 255 6 1+ dup 1389 955 309 125 branch ;s dup ?branch 1389 1129 255 5 var: @ 1+ dup con: > 1389 1129 255 5 var: @ 1+ dup con: 1389 1129 255 5 var: @ 1+ dup 1389 1129 255 5 var: @ 1+ 1389 1129 255 5 var: ! col: var: dup @ 1389 1129 255 5 var: ! col: var: dup 1389 1129 255 5 rdrop ;s var: ! col: var: 1389 1129 255 5 rdrop ;s var: ! col: 1389 1129 255 5 dup con: > col: col: r> 1389 1129 255 5 dup con: > col: col: 1389 1129 255 5 dup con: > col: 1389 1129 255 5 dup con: > 1389 1129 255 5 con: > col: col: r> r> 1389 1129 255 5 con: > col: col: r> 1389 1129 255 5 con: > col: col: 1389 1129 255 5 con: > col: 1389 1129 255 5 con: > 1389 1129 255 5 cells + ;s @ var: @ 1389 1129 255 5 @ var: @ 1+ dup con: 1389 1129 255 5 @ var: @ 1+ dup 1389 1129 255 5 @ var: @ 1+ 1389 1129 255 5 @ 1+ dup con: > col: 1389 1129 255 5 @ 1+ dup con: > 1389 1129 255 5 @ 1+ dup con: 1389 1129 255 5 @ 1+ dup 1389 1129 255 5 ?branch rdrop ;s var: ! col: 1389 1129 255 5 > col: col: r> r> dup 1389 1129 255 5 > col: col: r> r> 1389 1129 255 5 > col: col: r> 1389 1129 255 5 > col: col: 1389 1129 255 5 ;s var: ! col: var: dup 1389 1129 255 5 ;s @ var: @ 1+ dup 1389 1129 255 5 ;s @ var: @ 1+ 1389 1129 255 5 ;s @ var: @ 1389 1129 255 5 1+ dup con: > col: col: 1389 1129 255 5 1+ dup con: > col: 1389 1129 255 5 1+ dup con: > 1389 1129 255 5 1+ dup con: 1389 1129 255 5 + ;s @ var: @ 1+ 1389 1129 255 5 + ;s @ var: @ 1389 1129 255 5 ! col: var: dup @ cells 1389 1129 255 5 ! col: var: dup @ 1389 1129 255 5 ! col: var: dup 1388 833 378 177 u< ?branch 1388 833 378 177 u< 1387 1136 250 1 ;s var: ! ;s 1381 742 369 270 ! ;s con: 1379 350 705 324 ;s ;s col: lit col: 1377 750 43 584 var: @ col: col: col: user: 1376 402 320 654 ;s col: var: col: 1376 0 1376 0 execute col: >l >l 1372 874 203 295 @ ;s lit col: col: col: 1371 257 680 434 user: ! drop ;s ;s branch 1371 257 680 434 ! drop ;s ;s branch col: 1371 257 680 434 ! drop ;s ;s branch 1369 0 1369 0 lp+ ;s lp+ branch >l lp- 1369 0 1369 0 lp+ ;s lp+ branch >l 1369 0 1369 0 lp+ ;s lp+ branch 1368 270 840 258 branch ;s ;s 1368 1368 0 0 um* rot + swap i c@ 1368 1368 0 0 um* rot + swap i 1368 1368 0 0 um* rot + swap 1368 1368 0 0 um* rot + 1368 1368 0 0 um* rot 1368 1368 0 0 swap lit (+loop) 1368 1368 0 0 swap i c@ + swap lit 1368 1368 0 0 swap i c@ + swap 1368 1368 0 0 swap i c@ + 1368 1368 0 0 swap i c@ 1368 1368 0 0 swap i 1368 1368 0 0 swap con: um* rot + swap 1368 1368 0 0 swap con: um* rot + 1368 1368 0 0 swap con: um* rot 1368 1368 0 0 swap con: um* 1368 1368 0 0 rot + swap i c@ + 1368 1368 0 0 rot + swap i c@ 1368 1368 0 0 rot + swap i 1368 1368 0 0 i c@ + swap lit (+loop) 1368 1368 0 0 i c@ + swap lit 1368 1368 0 0 i c@ + swap 1368 1368 0 0 i c@ + 1368 1368 0 0 con: um* rot + swap i 1368 1368 0 0 con: um* rot + swap 1368 1368 0 0 con: um* rot + 1368 1368 0 0 con: um* rot 1368 1368 0 0 con: um* 1368 1368 0 0 con: * swap con: um* rot 1368 1368 0 0 con: * swap con: um* 1368 1368 0 0 con: * swap con: 1368 1368 0 0 con: * swap 1368 1368 0 0 c@ + swap lit (+loop) 1368 1368 0 0 c@ + swap lit 1368 1368 0 0 c@ + swap 1368 1368 0 0 c@ + 1368 1368 0 0 + swap lit (+loop) 1368 1368 0 0 + swap lit 1368 1368 0 0 + swap i c@ + swap 1368 1368 0 0 + swap i c@ + 1368 1368 0 0 + swap i c@ 1368 1368 0 0 + swap i 1368 1368 0 0 * swap con: um* rot + 1368 1368 0 0 * swap con: um* rot 1368 1368 0 0 * swap con: um* 1368 1368 0 0 * swap con: 1368 1368 0 0 * swap 1367 0 1367 0 lp+2 ;s lp+ 1366 801 440 125 ! ;s lit lit 1356 0 1356 0 dup ?branch drop lit col: drop 1356 0 1356 0 dup ?branch drop lit col: 1356 0 1356 0 dup ?branch drop lit 1356 0 1356 0 drop lit col: drop var: dup 1356 0 1356 0 drop lit col: drop var: 1356 0 1356 0 drop lit col: drop 1356 0 1356 0 ?branch drop lit col: drop var: 1356 0 1356 0 ?branch drop lit col: drop 1356 0 1356 0 ;s dup ?branch drop lit col: 1356 0 1356 0 ;s dup ?branch drop lit 1356 0 1356 0 ;s ;s dup ?branch drop lit 1355 0 0 1355 dup does: @ + ;s 2@ 1340 1089 250 1 var: @ 1- dup 0= col: 1340 1089 250 1 var: @ 1- dup 0= 1340 1089 250 1 var: @ 1- dup 1340 1089 250 1 var: @ 1- 1340 1089 250 1 rdrop ;s var: ! ;s 1340 1089 250 1 col: var: @ 1- dup 0= 1340 1089 250 1 col: var: @ 1- dup 1340 1089 250 1 col: var: @ 1- 1340 1089 250 1 @ 1- dup 0= col: col: 1340 1089 250 1 @ 1- dup 0= col: 1340 1089 250 1 @ 1- dup 0= 1340 1089 250 1 @ 1- dup 1340 1089 250 1 ?branch rdrop ;s var: ! ;s 1340 1089 250 1 1- dup 0= col: col: r> 1340 1089 250 1 1- dup 0= col: col: 1340 1089 250 1 1- dup 0= col: 1340 1089 250 1 1- dup 0= 1339 1335 1 3 swap ! ;s user: 1339 1335 1 3 con: swap ! ;s user: 1339 1335 1 3 col: con: swap ! ;s user: 1328 0 1328 0 col: >l >l >l lp- 1328 0 1328 0 >l >l lp- 1328 0 1328 0 >l >l >l lp- 1326 1210 116 0 @ lit col: 1325 760 554 11 2@ drop 1324 750 0 574 0<> and ?branch 1324 750 0 574 0<> and 1324 1043 0 281 ;s 0= col: 1321 1042 0 279 ;s 0= col: col: r> r> 1321 1042 0 279 ;s 0= col: col: r> 1321 1042 0 279 ;s 0= col: col: 1318 889 225 204 drop r> ;s 1314 1220 18 76 r> col: col: 1312 0 1312 0 @local# execute col: >l >l 1312 0 1312 0 @local# execute col: >l 1312 0 1312 0 @local# execute col: 1312 0 1312 0 @local# execute 1312 0 1312 0 @local# @local# execute col: >l >l 1312 0 1312 0 @local# @local# execute col: >l 1312 0 1312 0 @local# @local# execute col: 1312 0 1312 0 @local# @local# execute 1312 0 1312 0 @local# @local# 1310 821 336 153 ! ;s over 1305 1305 0 0 rdrop ;s branch 1305 1305 0 0 ?branch rdrop ;s branch 1305 1305 0 0 >r ?branch rdrop ;s branch 1305 1305 0 0 ;s >r ?branch rdrop ;s branch 1305 0 1305 0 ;s lp+ ;s lp+ branch >l 1305 0 1305 0 ;s lp+ ;s lp+ branch 1302 915 281 106 lit (+loop) unloop 1299 0 1299 0 @local1 field: @ 1291 1291 0 0 @ col: var: @ 1284 943 285 56 @ execute col: col: user: @ 1284 943 285 56 @ execute col: col: user: 1277 816 330 131 col: user: @ >r 1271 553 251 467 defer: noop 1265 808 331 126 over c@ lit = 1265 808 331 126 c@ lit = 1263 341 293 629 ;s ;s col: var: col: 1262 1008 251 3 ! ;s col: col: var: 1254 1110 125 19 ;s ! ;s does: 1253 803 324 126 col: lit (?do) 1251 997 251 3 ;s col: col: var: dup @ 1251 997 251 3 ;s col: col: var: dup 1251 801 324 126 dup >r col: lit (?do) 1251 801 324 126 dup >r col: lit 1251 801 324 126 >r col: lit (?do) 1251 801 324 126 >r col: lit 1251 346 670 235 col: lit col: user: @ 1251 346 670 235 col: lit col: user: 1250 803 320 127 ;s over c@ lit 1250 1234 16 0 lit col: var: @ 1249 801 323 125 lit (?do) count col: user: @ 1249 801 323 125 lit (?do) count col: user: 1249 801 323 125 lit (?do) count col: 1249 801 323 125 lit (?do) count 1249 801 323 125 dup >r col: lit (?do) count 1249 801 323 125 col: lit (?do) count col: user: 1249 801 323 125 col: lit (?do) count col: 1249 801 323 125 col: lit (?do) count 1249 801 323 125 >r col: lit (?do) count col: 1249 801 323 125 >r col: lit (?do) count 1249 801 323 125 (?do) count col: user: @ lit 1249 801 323 125 (?do) count col: user: @ 1249 801 323 125 (?do) count col: user: 1249 801 323 125 (?do) count col: 1249 801 323 125 (?do) count 1248 750 498 0 d0= ?branch ;s col: 2drop col: 1248 750 498 0 d0= ?branch ;s col: 2drop 1248 750 498 0 d0= ?branch ;s col: 1248 750 498 0 ;s 2dup d0= ?branch ;s col: 1248 750 498 0 2dup d0= ?branch ;s col: 2drop 1248 750 498 0 2dup d0= ?branch ;s col: 1247 319 647 281 over = ?branch branch drop ;s 1247 319 647 281 over = ?branch branch drop 1247 319 647 281 over = ?branch branch 1247 319 647 281 lit over = ?branch branch drop 1247 319 647 281 lit over = ?branch branch 1247 319 647 281 ?branch branch drop ;s ;s 1247 319 647 281 ?branch branch drop ;s 1247 319 647 281 ?branch branch drop 1247 319 647 281 = ?branch branch drop ;s ;s 1247 319 647 281 = ?branch branch drop ;s 1247 319 647 281 = ?branch branch drop 1247 319 647 281 = ?branch branch 1247 319 647 281 +! lit over = ?branch branch 1247 0 0 1247 @ @ ;s ;s + @ 1247 0 0 1247 @ ;s ;s + @ ;s 1247 0 0 1247 @ ;s ;s + @ 1247 0 0 1247 ;s ;s + @ ;s 1247 0 0 1247 ;s ;s + @ 1247 0 0 1247 ;s + @ ;s 1246 1164 17 65 ;s ;s swap 1245 991 251 3 ! ;s col: col: var: dup 1245 788 328 129 0= ?branch nip 1245 788 326 131 lit branch 1244 801 318 125 ?branch 2drop rdrop 1244 801 318 125 2drop rdrop 1244 0 0 1244 col: >r r@ 1243 200 279 764 col: col: defer: defer: col: 1243 200 279 764 col: col: defer: defer: 1242 801 316 125 user: @ >r user: col: con: 1242 801 316 125 user: @ >r user: col: 1242 801 316 125 user: ! ;s user: @ 0= 1242 801 316 125 swap ! ;s over c@ lit 1242 801 316 125 swap ! ;s over c@ 1242 801 316 125 swap ! ;s over 1242 801 316 125 swap ! ;s lit lit 2swap 1242 801 316 125 swap ! ;s lit lit 1242 801 316 125 r> user: ! ;s user: @ 1242 801 316 125 r> user: ! ;s user: 1242 801 316 125 r> user: ! ;s 1242 801 316 125 over c@ lit = dup >r 1242 801 316 125 over c@ lit = dup 1242 801 316 125 over c@ lit - dup lit 1242 801 316 125 over c@ lit - dup 1242 801 316 125 over c@ lit - 1242 801 316 125 lit u< ?branch 1242 801 316 125 lit u< 1242 801 316 125 lit lit 2swap dup >r col: 1242 801 316 125 lit lit 2swap dup >r 1242 801 316 125 lit lit 2swap dup 1242 801 316 125 lit = dup >r ?branch 1242 801 316 125 lit = dup >r 1242 801 316 125 lit = dup 1242 801 316 125 lit 2swap dup >r col: lit 1242 801 316 125 lit 2swap dup >r col: 1242 801 316 125 lit 2swap dup >r 1242 801 316 125 lit 2swap dup 1242 801 316 125 lit - dup lit u< ?branch 1242 801 316 125 lit - dup lit u< 1242 801 316 125 dup lit u< ?branch 1242 801 316 125 dup lit u< 1242 801 316 125 dup >r ?branch 1242 801 316 125 con: swap ! ;s over c@ 1242 801 316 125 con: swap ! ;s over 1242 801 316 125 con: swap ! ;s lit lit 1242 801 316 125 col: user: @ >r user: col: 1242 801 316 125 col: user: @ >r user: 1242 801 316 125 col: over c@ lit - dup 1242 801 316 125 col: over c@ lit - 1242 801 316 125 col: over c@ lit 1242 801 316 125 col: over c@ 1242 801 316 125 col: con: swap ! ;s over 1242 801 316 125 col: col: user: @ >r user: 1242 801 316 125 col: col: user: @ >r 1242 801 316 125 c@ lit = dup >r ?branch 1242 801 316 125 c@ lit = dup >r 1242 801 316 125 c@ lit = dup 1242 801 316 125 c@ lit - dup lit u< 1242 801 316 125 c@ lit - dup lit 1242 801 316 125 c@ lit - dup 1242 801 316 125 c@ lit - 1242 801 316 125 @ >r user: col: con: swap 1242 801 316 125 @ >r user: col: con: 1242 801 316 125 @ >r user: col: 1242 801 316 125 >r user: col: con: swap ! 1242 801 316 125 >r user: col: con: swap 1242 801 316 125 >r user: col: con: 1242 801 316 125 >r user: col: 1242 801 316 125 = dup >r ?branch 1242 801 316 125 = dup >r 1242 801 316 125 = dup 1242 801 316 125 ;s over c@ lit = dup 1242 801 316 125 ;s over c@ lit = 1242 801 316 125 ;s lit lit 2swap dup >r 1242 801 316 125 ;s lit lit 2swap dup 1242 801 316 125 ;s lit lit 2swap 1242 801 316 125 2swap dup >r col: lit (?do) 1242 801 316 125 2swap dup >r col: lit 1242 801 316 125 2swap dup >r col: 1242 801 316 125 2swap dup >r 1242 801 316 125 2swap dup 1242 801 316 125 - dup lit u< ?branch 1242 801 316 125 - dup lit u< 1242 801 316 125 ! ;s user: @ 0= ?branch 1242 801 316 125 ! ;s user: @ 0= 1242 801 316 125 ! ;s over c@ lit = 1242 801 316 125 ! ;s over c@ lit 1242 801 316 125 ! ;s over c@ 1242 801 316 125 ! ;s lit lit 2swap dup 1242 801 316 125 ! ;s lit lit 2swap 1236 1110 125 1 cells + ;s ! ;s does: 1236 1110 125 1 ;s ! ;s does: col: var: 1236 1110 125 1 ;s ! ;s does: col: 1236 1110 125 1 + ;s ! ;s does: col: 1236 1110 125 1 + ;s ! ;s does: 1234 982 250 2 ;s ! ;s col: col: var: 1234 982 250 2 + ;s ! ;s col: col: 1229 0 1229 0 @local0 col: 1223 7 772 444 ;s lit cells 1221 276 541 404 ! ;s col: var: 1221 1205 0 16 dup >r col: col: 1220 1220 0 0 count ;s con: col: dup >r 1220 1220 0 0 count ;s con: col: dup 1220 1220 0 0 count ;s con: col: 1220 1220 0 0 >r ;s count ;s con: col: 1220 1220 0 0 ;s count ;s con: col: dup 1220 1220 0 0 ;s count ;s con: col: 1220 1220 0 0 ;s con: col: dup >r write-file 1220 1220 0 0 ;s con: col: dup >r 1220 1220 0 0 ;s con: col: dup 1218 1218 0 0 swap ! ;s user: @ con: 1218 1218 0 0 swap ! ;s user: @ 1218 1218 0 0 con: swap ! ;s user: @ 1218 1218 0 0 ;s user: @ con: col: col: 1218 1218 0 0 ;s user: @ con: col: 1218 1218 0 0 ;s user: @ con: 1218 1218 0 0 ! ;s user: @ con: col: 1218 1218 0 0 ! ;s user: @ con: 1217 0 0 1217 @ ;s ;s + ;s @ 1217 0 0 1217 ;s ;s + ;s @ 1217 0 0 1217 ;s + ;s @ 1216 1210 6 0 ;s defer: col: col: 1213 47 627 539 drop col: 1212 1212 0 0 var: @ col: var: @ 1212 1212 0 0 col: ?dup ?branch ;s var: @ 1212 1212 0 0 ?dup ?branch ;s var: @ col: 1212 1212 0 0 ?dup ?branch ;s var: @ 1212 1212 0 0 ?branch ;s var: @ col: var: 1212 1212 0 0 ?branch ;s var: @ col: 1212 1212 0 0 ?branch ;s var: @ 1212 1212 0 0 ;s var: @ col: var: @ 1210 1210 0 0 write-file col: ?dup ?branch ;s user: 1210 1210 0 0 write-file col: ?dup ?branch ;s col: 1210 1210 0 0 var: @ col: var: @ + 1210 1210 0 0 var: @ + ;s count lit 1210 1210 0 0 var: @ + ;s count 1210 1210 0 0 user: @ lit col: 1210 1210 0 0 lit and con: write-file col: ?dup 1210 1210 0 0 lit and con: write-file col: 1210 1210 0 0 lit and con: write-file 1210 1210 0 0 lit and con: 1210 1210 0 0 count lit and con: write-file col: 1210 1210 0 0 count lit and con: write-file 1210 1210 0 0 count lit and con: 1210 1210 0 0 col: var: @ + ;s count 1210 1210 0 0 col: ?dup ?branch ;s user: @ 1210 1210 0 0 and con: write-file col: ?dup ?branch 1210 1210 0 0 and con: write-file col: ?dup 1210 1210 0 0 and con: write-file col: 1210 1210 0 0 and con: write-file 1210 1210 0 0 and con: 1210 1210 0 0 @ col: var: @ + ;s 1210 1210 0 0 @ col: var: @ + 1210 1210 0 0 @ + ;s count lit and 1210 1210 0 0 @ + ;s count lit 1210 1210 0 0 @ + ;s count 1210 1210 0 0 ?dup ?branch ;s user: @ 1210 1210 0 0 ?branch ;s user: @ 1210 1210 0 0 ;s user: @ lit col: 1210 1210 0 0 ;s user: @ lit 1210 1210 0 0 ;s defer: col: col: user: @ 1210 1210 0 0 ;s defer: col: col: user: 1210 1210 0 0 ;s count lit and con: write-file 1210 1210 0 0 ;s count lit and con: 1210 1210 0 0 ;s count lit and 1210 1210 0 0 ;s count lit 1210 1210 0 0 + ;s count lit and con: 1210 1210 0 0 + ;s count lit and 1210 1210 0 0 + ;s count lit 1210 1210 0 0 + ;s count 1210 0 1210 0 lp+ ;s dup ?branch @local3 execute 1210 0 1210 0 dup ?branch @local3 execute col: >l 1210 0 1210 0 dup ?branch @local3 execute col: 1210 0 1210 0 dup ?branch @local3 execute 1210 0 1210 0 ?branch @local3 execute col: >l lp- 1210 0 1210 0 ?branch @local3 execute col: >l 1210 0 1210 0 ?branch @local3 execute col: 1210 0 1210 0 ?branch @local3 execute 1210 0 1210 0 ;s dup ?branch @local3 execute col: 1210 0 1210 0 ;s dup ?branch @local3 execute 1209 1128 27 54 ;s over col: 1208 774 309 125 user: @ dup 0> 0= ?branch 1208 774 309 125 user: @ dup 0> 0= 1208 774 309 125 user: @ dup 0> 1208 774 309 125 unloop lit branch ;s dup ?branch 1208 774 309 125 unloop lit branch ;s dup 1208 774 309 125 unloop lit branch ;s 1208 774 309 125 unloop lit branch 1208 774 309 125 unloop lit 1208 774 309 125 rdrop r> ?branch 1208 774 309 125 rdrop r> 1208 774 309 125 lit branch ;s dup ?branch 2drop 1208 774 309 125 lit branch ;s dup ?branch 1208 774 309 125 lit branch ;s dup 1208 774 309 125 lit branch ;s 1208 774 309 125 dup ?branch 2drop rdrop r> ?branch 1208 774 309 125 dup ?branch 2drop rdrop r> 1208 774 309 125 dup ?branch 2drop rdrop 1208 774 309 125 dup 0> 0= ?branch 1208 774 309 125 dup 0> 0= 1208 774 309 125 branch ;s dup ?branch 2drop rdrop 1208 774 309 125 branch ;s dup ?branch 2drop 1208 774 309 125 @ dup 0> 0= ?branch 1208 774 309 125 @ dup 0> 0= 1208 774 309 125 @ 0= ?branch user: @ dup 1208 774 309 125 ?branch user: @ dup 0> 0= 1208 774 309 125 ?branch user: @ dup 0> 1208 774 309 125 ?branch user: @ dup 1208 774 309 125 ?branch 2drop rdrop r> ?branch 1208 774 309 125 ?branch 2drop rdrop r> 1208 774 309 125 ;s dup ?branch 2drop rdrop r> 1208 774 309 125 ;s dup ?branch 2drop rdrop 1208 774 309 125 2drop rdrop r> ?branch 1208 774 309 125 2drop rdrop r> 1208 774 309 125 0> 0= ?branch 1208 774 309 125 0> 0= 1208 774 309 125 0= ?branch user: @ dup 0> 1208 774 309 125 0= ?branch user: @ dup 1206 774 308 124 um* d+ r> ;s (loop) unloop 1206 774 308 124 r> ;s (loop) unloop lit branch 1206 774 308 124 r> ;s (loop) unloop lit 1206 774 308 124 r> ;s (loop) unloop 1206 774 308 124 dup 0> 0= ?branch nip ;s 1206 774 308 124 dup 0> 0= ?branch nip 1206 774 308 124 d+ r> ;s (loop) unloop lit 1206 774 308 124 d+ r> ;s (loop) unloop 1206 774 308 124 @ dup 0> 0= ?branch nip 1206 774 308 124 ?branch nip ;s 1206 774 308 124 ;s (loop) unloop lit branch ;s 1206 774 308 124 ;s (loop) unloop lit branch 1206 774 308 124 ;s (loop) unloop lit 1206 774 308 124 0> 0= ?branch nip ;s 1206 774 308 124 0> 0= ?branch nip 1206 774 308 124 0= ?branch nip ;s 1206 774 308 124 (loop) unloop lit branch ;s dup 1206 774 308 124 (loop) unloop lit branch ;s 1206 774 308 124 (loop) unloop lit branch 1206 774 308 124 (loop) unloop lit 1206 1205 0 1 r> col: col: var: 1205 224 152 829 rdrop ;s ;s con: 1205 1205 0 0 xor r> col: col: var: @ 1205 1205 0 0 xor r> col: col: var: 1205 1205 0 0 xor r> col: col: 1205 1205 0 0 xor r> col: 1205 1205 0 0 xor r> 1205 1205 0 0 var: @ dup >r col: col: 1205 1205 0 0 var: @ dup >r col: 1205 1205 0 0 var: @ dup >r 1205 1205 0 0 var: @ + ;s c@ ;s 1205 1205 0 0 var: @ + ;s c@ 1205 1205 0 0 r> col: col: var: @ + 1205 1205 0 0 r> col: col: var: @ 1205 1205 0 0 lit col: var: @ dup >r 1205 1205 0 0 lit col: var: @ dup 1205 1205 0 0 dup >r col: col: var: @ 1205 1205 0 0 dup >r col: col: var: 1205 1205 0 0 col: var: @ dup >r col: 1205 1205 0 0 col: var: @ dup >r 1205 1205 0 0 col: var: @ + ;s c@ 1205 1205 0 0 c@ ;s xor r> col: col: 1205 1205 0 0 c@ ;s xor r> col: 1205 1205 0 0 c@ ;s xor r> 1205 1205 0 0 c@ ;s xor 1205 1205 0 0 @ dup >r col: col: var: 1205 1205 0 0 @ dup >r col: col: 1205 1205 0 0 @ dup >r col: 1205 1205 0 0 @ dup >r 1205 1205 0 0 @ + ;s c@ ;s xor 1205 1205 0 0 @ + ;s c@ ;s 1205 1205 0 0 @ + ;s c@ 1205 1205 0 0 >r col: col: var: @ + 1205 1205 0 0 >r col: col: var: @ 1205 1205 0 0 >r col: col: var: 1205 1205 0 0 ;s xor r> col: col: var: 1205 1205 0 0 ;s xor r> col: col: 1205 1205 0 0 ;s xor r> col: 1205 1205 0 0 ;s xor r> 1205 1205 0 0 ;s c@ ;s xor r> col: 1205 1205 0 0 ;s c@ ;s xor r> 1205 1205 0 0 ;s c@ ;s xor 1205 1205 0 0 ;s c@ ;s 1205 1205 0 0 + ;s c@ ;s xor r> 1205 1205 0 0 + ;s c@ ;s xor 1205 1205 0 0 + ;s c@ ;s 1201 212 16 973 ;s ?branch ;s 1200 1200 0 0 ?branch ;s defer: col: col: user: 1200 1200 0 0 ?branch ;s defer: col: col: 1200 0 1200 0 @local0 col: >l 1182 764 299 119 u< ?branch drop ;s user: col: 1182 764 299 119 u< ?branch drop ;s user: 1182 764 299 119 u< ?branch drop ;s 1182 764 299 119 u< ?branch drop 1182 764 299 119 lit u< ?branch drop ;s user: 1182 764 299 119 lit u< ?branch drop ;s 1182 764 299 119 lit u< ?branch drop 1182 764 299 119 dup lit u< ?branch drop ;s 1182 764 299 119 dup lit u< ?branch drop 1182 764 299 119 drop ;s user: col: con: swap 1182 764 299 119 drop ;s user: col: con: 1182 764 299 119 drop ;s user: col: 1182 764 299 119 ?branch drop ;s user: col: con: 1182 764 299 119 ?branch drop ;s user: col: 1182 764 299 119 ?branch drop ;s user: 1182 764 299 119 - dup lit u< ?branch drop 1181 258 650 273 (f83find) ;s ;s dup ?branch col: 1180 14 13 1153 ;s var: 2@ 1179 157 253 769 r@ col: 1178 586 452 140 con: ;s ;s 1177 232 541 404 ! ;s col: var: @ 1168 670 312 186 ;s ;s ;s ;s ;s branch 1163 0 1163 0 ;s @local3 1161 531 119 511 ;s lit col: >r 1155 1155 0 0 cell+ @ col: 1149 877 232 40 /does-handler 1149 1 0 1148 defer: (type) ;s var: 1149 1 0 1148 count defer: (type) ;s var: 1149 1 0 1148 ;s count defer: (type) ;s var: 1149 1 0 1148 (type) ;s var: 1148 0 0 1148 var: var: @ col: 1148 0 0 1148 var: var: @ 1148 0 0 1148 defer: (type) ;s var: 2@ defer: 1148 0 0 1148 defer: (type) ;s var: 2@ 1148 0 0 1148 count defer: (type) ;s var: 2@ 1148 0 0 1148 ;s var: 2@ defer: (type) col: 1148 0 0 1148 ;s var: 2@ defer: (type) 1148 0 0 1148 ;s var: 2@ defer: 1148 0 0 1148 (type) ;s var: 2@ defer: (type) 1148 0 0 1148 (type) ;s var: 2@ defer: 1148 0 0 1148 (type) ;s var: 2@ 1145 0 1145 0 defer: (type) ;s lp+ ;s 1145 0 1145 0 defer: (type) ;s lp+ 1145 0 1145 0 count defer: (type) ;s lp+ ;s 1145 0 1145 0 count defer: (type) ;s lp+ 1145 0 1145 0 ;s count defer: (type) ;s lp+ 1145 0 1145 0 (type) ;s lp+ ;s 1145 0 1145 0 (type) ;s lp+ 1143 870 152 121 @ ;s ;s var: 1143 279 638 226 ;s col: lit col: user: @ 1143 279 638 226 ;s col: lit col: user: 1143 279 638 226 ;s ;s col: lit col: user: 1138 627 412 99 nip nip execute col: col: col: 1138 627 412 99 nip execute col: col: col: 1138 0 0 1138 var: @ over - ;s var: 1138 0 0 1138 over - ;s var: 2! ;s 1138 0 0 1138 over - ;s var: 2! 1138 0 0 1138 over - ;s var: 1138 0 0 1138 @ over - ;s var: 2! 1138 0 0 1138 @ over - ;s var: 1138 0 0 1138 - ;s var: 2! ;s lit 1138 0 0 1138 - ;s var: 2! ;s 1138 0 0 1138 - ;s var: 2! 1138 0 0 1138 - ;s var: 1137 1116 21 0 ?branch dup col: 1133 172 253 708 code-address! ;s ;s col: 1133 172 253 708 ;s code-address! ;s ;s col: 1133 172 253 708 ! ;s code-address! ;s ;s col: 1130 476 28 626 ?branch col: col: r> 1126 726 203 197 - con: 1124 873 218 33 user: @ ;s does-code! ;s ;s 1124 873 218 33 user: @ ;s does-code! ;s 1124 873 218 33 user: @ ;s does-code! 1124 873 218 33 r> /does-handler + col: col: user: 1124 873 218 33 r> /does-handler + col: col: 1124 873 218 33 r> /does-handler + col: 1124 873 218 33 r> /does-handler + 1124 873 218 33 r> /does-handler 1124 873 218 33 does-code! ;s ;s 1124 873 218 33 does-code! ;s 1124 873 218 33 does-code! 1124 873 218 33 col: user: @ ;s does-code! ;s 1124 873 218 33 col: user: @ ;s does-code! 1124 873 218 33 col: r> /does-handler + col: col: 1124 873 218 33 col: r> /does-handler + col: 1124 873 218 33 col: r> /does-handler + 1124 873 218 33 col: r> /does-handler 1124 873 218 33 col: col: user: @ ;s does-code! 1124 873 218 33 @ ;s does-code! ;s ;s 1124 873 218 33 @ ;s does-code! ;s 1124 873 218 33 @ ;s does-code! 1124 873 218 33 ;s does-code! ;s ;s 1124 873 218 33 ;s does-code! ;s 1124 873 218 33 ;s does-code! 1124 873 218 33 /does-handler + col: col: user: @ 1124 873 218 33 /does-handler + col: col: user: 1124 873 218 33 /does-handler + col: col: 1124 873 218 33 /does-handler + col: 1124 873 218 33 /does-handler + 1124 873 218 33 + col: col: user: @ ;s 1124 873 218 33 + col: col: user: @ 1124 873 218 33 + col: col: user: 1120 580 425 115 con: ;s ;s ;s 1120 0 1120 0 col: >l >l >l lp- @local1 1120 0 1120 0 >l >l lp- @local1 1120 0 1120 0 >l >l >l lp- @local1 1116 465 27 624 ?branch col: col: r> r> dup 1116 465 27 624 ?branch col: col: r> r> 1111 838 152 121 dup col: dup 1111 838 152 121 <> and 1111 838 152 121 ;s ;s var: @ ?branch 1110 1110 0 0 cell+ ;s @ execute col: col: 1110 1110 0 0 ;s @ execute col: col: 1108 687 398 23 ;s ;s ;s branch ;s 1108 582 303 223 col: lit col: >r defer: col: 1108 582 303 223 col: lit col: >r defer: 1105 745 360 0 over col: cell+ 1104 1067 29 8 ! ;s var: @ 1099 651 315 133 branch ;s branch 1097 0 0 1097 ;s ;s does: @ 1097 0 0 1097 ;s ;s does: 1091 792 0 299 ;s ;s col: col: var: 1090 1090 0 0 ;s ;s var: ! 1089 0 1089 0 ?branch @local0 1088 792 0 296 ;s ;s col: col: var: @ 1085 0 1085 0 @local1 @local0 1082 19 23 1040 execute var: 1077 1077 0 0 2drop ;s ;s ;s ;s col: 1076 446 349 281 ;s lit var: 1076 446 349 281 ! ;s lit var: 1076 1022 1 53 drop ;s branch 1075 1075 0 0 user: @ 0= col: col: r> 1075 1075 0 0 user: @ 0= col: col: 1075 1075 0 0 user: @ 0= col: 1075 1075 0 0 col: user: @ 0= col: col: 1075 1075 0 0 col: user: @ 0= col: 1075 1075 0 0 col: user: @ 0= 1075 1075 0 0 col: col: user: @ 0= col: 1075 1075 0 0 col: col: user: @ 0= 1075 1075 0 0 @ 0= col: col: r> r> 1075 1075 0 0 @ 0= col: col: r> 1075 1075 0 0 @ 0= col: col: 1075 1075 0 0 @ 0= col: 1075 1071 0 4 @ ;s @ ;s ;s col: 1075 1071 0 4 @ ;s ;s col: dup count 1075 1071 0 4 @ ;s ;s col: dup 1075 1071 0 4 ;s col: dup count 1075 1071 0 4 ;s @ ;s ;s col: dup 1075 1071 0 4 ;s @ ;s ;s col: 1075 1071 0 4 ;s ;s col: dup count 1069 4 7 1058 cr ;s 1069 1069 0 0 ;s col: dup count lit col: 1069 1069 0 0 ;s col: dup count lit 1069 1069 0 0 ;s ;s col: dup count lit 1068 1068 0 0 col: con: col: col: col: 1065 0 1065 0 @ @local1 col: >l 1065 0 1065 0 @ @local1 col: 1063 595 316 152 dup ?branch ;s ;s 1063 595 316 152 ;s dup ?branch ;s ;s 1063 595 316 152 ;s ;s dup ?branch ;s ;s 1062 10 34 1018 +! ;s ;s 1058 1058 0 0 ! col: con: col: col: col: 1058 1058 0 0 ! col: con: col: col: 1058 1058 0 0 ! col: con: col: 1058 1058 0 0 ! col: con: 1055 217 191 647 count col: col: 1052 736 58 258 ;s +! ;s ! ;s con: 1052 736 58 258 ;s ! ;s con: col: col: 1052 736 58 258 ;s ! ;s con: col: 1052 736 58 258 ;s ! ;s con: 1052 736 58 258 +! ;s ! ;s con: col: 1052 736 58 258 +! ;s ! ;s con: 1052 736 58 258 ! ;s con: col: col: 1052 736 58 258 ! ;s con: col: 1052 190 158 704 ;s 0= ?branch ;s 1047 599 315 133 branch ;s branch col: 1047 446 320 281 lit var: ! ;s 1047 446 320 281 ;s lit var: ! ;s 1047 446 320 281 ;s lit var: ! 1047 446 320 281 ! ;s lit var: ! ;s 1047 446 320 281 ! ;s lit var: ! 1045 402 320 323 ;s col: var: col: con: 1044 321 262 461 ;s ;s ;s col: var: col: 1040 867 44 129 user: @ col: col: 1039 595 316 128 dup ?branch ;s ;s dup ?branch 1039 595 316 128 dup ?branch ;s ;s dup 1039 595 316 128 ;s dup ?branch ;s ;s dup 1037 750 0 287 ;s col: var: @ var: 1034 593 316 125 dup ?branch drop 2dup 1034 593 316 125 drop 2dup 1034 593 316 125 ?branch drop 2dup 1034 593 316 125 ?branch ;s ;s dup ?branch drop 1034 593 316 125 ;s dup ?branch drop 2dup 1034 593 316 125 ;s ;s dup ?branch drop 2dup 1031 272 246 513 var: ! ;s ;s col: col: 1028 750 124 154 ;s col: var: @ ;s 1027 736 1 290 col: var: ! ;s ;s 1027 593 309 125 branch ;s branch col: sp@ user: 1027 593 309 125 branch ;s branch col: sp@ 1026 1026 0 0 swap lit (+loop) con: * swap 1026 1026 0 0 swap lit (+loop) con: * 1026 1026 0 0 swap lit (+loop) con: 1026 1026 0 0 lit (+loop) con: * swap con: 1026 1026 0 0 lit (+loop) con: * swap 1026 1026 0 0 lit (+loop) con: * 1026 1026 0 0 lit (+loop) con: 1026 1026 0 0 c@ + swap lit (+loop) con: 1026 1026 0 0 + swap lit (+loop) con: * 1026 1026 0 0 + swap lit (+loop) con: 1026 1026 0 0 (+loop) con: * swap con: um* 1026 1026 0 0 (+loop) con: * swap con: 1026 1026 0 0 (+loop) con: * swap 1026 1026 0 0 (+loop) con: * 1026 1026 0 0 (+loop) con: 1023 736 0 287 var: ! ;s var: 1023 736 0 287 col: var: ! ;s ;s col: 1023 736 0 287 ! ;s ;s col: col: var: 1022 0 0 1022 ;s does: @ col: var: col: 1022 0 0 1022 ;s does: @ col: var: 1022 0 0 1022 ;s does: @ col: 1021 0 1021 0 field: @ @local1 1020 423 366 231 ;s drop 1020 0 1020 0 lp+2 ;s lp+ branch >l lp- 1020 0 1020 0 lp+2 ;s lp+ branch >l 1020 0 1020 0 lp+2 ;s lp+ branch 1018 0 1018 0 execute col: >l >l >l 1017 1007 10 0 0= ?branch 2drop 1016 0 510 506 lit col: >r col: 1013 0 1013 0 execute col: >l lp- col: col: 1013 0 1013 0 execute col: >l lp- col: 1013 0 1013 0 @local3 execute col: >l lp- col: 1012 985 26 1 ?branch 2drop col: 1009 750 259 0 ;s ;s user: ! 1009 0 0 1009 defer: (type) ;s r@ 1009 0 0 1009 count defer: (type) ;s r@ 1009 0 0 1009 ;s count defer: (type) ;s r@ 1009 0 0 1009 (type) ;s r@ 1005 368 343 294 ;s col: r> dup cell+ >r 1005 368 343 294 ;s col: r> dup cell+ 1005 368 343 294 ;s col: r> dup 1003 402 320 281 ;s col: var: col: con: swap 1002 0 0 1002 defer: (type) ;s r@ does: @ 1002 0 0 1002 defer: (type) ;s r@ does: 1002 0 0 1002 count defer: (type) ;s r@ does: 1002 0 0 1002 ;s r@ does: @ + ;s 1002 0 0 1002 ;s r@ does: @ + 1002 0 0 1002 ;s r@ does: @ 1002 0 0 1002 ;s r@ does: 1002 0 0 1002 (type) ;s r@ does: @ + 1002 0 0 1002 (type) ;s r@ does: @ 1002 0 0 1002 (type) ;s r@ does: 1001 86 0 915 @ ! ;s ;s 1001 86 0 915 @ ! ;s 1000 859 1 140 ;s (loop) unloop ;s col: 1000 859 1 140 (loop) unloop ;s col: 1000 60 2 938 ;s ?branch ;s col: 997 0 997 0 drop ;s ;s ;s ;s lp+ 997 0 997 0 >l @local1 997 0 997 0 >l >l @local1 997 0 997 0 ;s ;s lp+ ;s 997 0 997 0 ;s ;s lp+ 997 0 997 0 ;s ;s ;s lp+ ;s 997 0 997 0 ;s ;s ;s lp+ 997 0 997 0 ;s ;s ;s ;s lp+ ;s 997 0 997 0 ;s ;s ;s ;s lp+ 995 0 995 0 ;s ?branch @local0 994 600 288 106 2drop con: ;s 991 0 12 979 defer: (type) ;s ;s 991 0 12 979 (type) ;s ;s 987 0 0 987 does: @ + ;s 2@ var: 987 0 0 987 @ + ;s 2@ var: @ 987 0 0 987 @ + ;s 2@ var: 987 0 0 987 ;s execute 987 0 0 987 ;s 2@ var: @ col: col: 987 0 0 987 ;s 2@ var: @ col: 987 0 0 987 ;s 2@ var: @ 987 0 0 987 ;s 2@ defer: (type) col: col: 987 0 0 987 2@ var: @ col: col: dup 987 0 0 987 2@ var: @ col: col: 987 0 0 987 2@ var: @ col: 987 0 0 987 2@ var: @ 987 0 0 987 + ;s 2@ var: @ col: 987 0 0 987 + ;s 2@ var: @ 985 0 6 979 defer: (type) ;s ;s col: col: 985 0 6 979 defer: (type) ;s ;s col: 985 0 6 979 (type) ;s ;s col: col: r> 985 0 6 979 (type) ;s ;s col: col: 985 0 6 979 (type) ;s ;s col: 984 573 281 130 ;s ;s ;s dup ?branch ;s 984 0 984 0 lp+ ;s dup ?branch @local3 @local# 984 0 984 0 execute col: >l >l >l lp- 984 0 984 0 dup ?branch @local3 @local# @local# execute 984 0 984 0 dup ?branch @local3 @local# @local# 984 0 984 0 dup ?branch @local3 @local# 984 0 984 0 @local3 @local# @local# execute col: >l 984 0 984 0 @local3 @local# @local# execute col: 984 0 984 0 @local3 @local# @local# execute 984 0 984 0 @local3 @local# @local# 984 0 984 0 @local3 @local# 984 0 984 0 @local# execute col: >l >l >l 984 0 984 0 ?branch @local3 @local# @local# execute col: 984 0 984 0 ?branch @local3 @local# @local# execute 984 0 984 0 ?branch @local3 @local# @local# 984 0 984 0 ?branch @local3 @local# 984 0 984 0 ;s dup ?branch @local3 @local# @local# 984 0 984 0 ;s dup ?branch @local3 @local# 982 0 982 0 lp- @local1 does: @ + @ 982 0 982 0 lp- @local1 does: @ + 982 0 982 0 lp- @local1 does: @ 982 0 982 0 lp- @local1 does: 982 0 982 0 col: >l lp- @local1 does: @ 982 0 982 0 col: >l lp- @local1 does: 982 0 982 0 >l lp- @local1 does: @ + 982 0 982 0 >l lp- @local1 does: @ 982 0 982 0 >l lp- @local1 does: 981 730 218 33 does-code! ;s ;s ;s 981 730 218 33 @ ;s does-code! ;s ;s ;s 981 730 218 33 ;s does-code! ;s ;s ;s 980 980 0 0 user: ! ;s 0= col: col: 980 980 0 0 user: ! ;s 0= col: 980 980 0 0 user: ! ;s 0= 980 980 0 0 rdrop ;s branch user: @ con: 980 980 0 0 rdrop ;s branch user: @ 980 980 0 0 rdrop ;s branch user: 980 980 0 0 lit user: ! ;s 0= col: 980 980 0 0 lit user: ! ;s 0= 980 980 0 0 dup c@ 0= ?branch 2drop col: 980 980 0 0 dup c@ 0= ?branch 2drop 980 980 0 0 c@ 0= ?branch 2drop col: user: 980 980 0 0 c@ 0= ?branch 2drop col: 980 980 0 0 c@ 0= ?branch 2drop 980 980 0 0 branch user: @ con: col: col: 980 980 0 0 branch user: @ con: col: 980 980 0 0 branch user: @ con: 980 980 0 0 branch user: @ 980 980 0 0 branch user: 980 980 0 0 ?branch rdrop ;s branch user: @ 980 980 0 0 ?branch rdrop ;s branch user: 980 980 0 0 ?branch 2drop col: user: @ ?branch 980 980 0 0 ?branch 2drop col: user: @ 980 980 0 0 ?branch 2drop col: user: 980 980 0 0 >r ?branch rdrop ;s branch user: 980 980 0 0 ;s dup c@ 0= ?branch 2drop 980 980 0 0 ;s branch user: @ con: col: 980 980 0 0 ;s branch user: @ con: 980 980 0 0 ;s branch user: @ 980 980 0 0 ;s branch user: 980 980 0 0 2drop col: user: @ ?branch col: 980 980 0 0 2drop col: user: @ ?branch 980 980 0 0 2drop col: user: @ 980 980 0 0 2drop col: user: 980 980 0 0 0= ?branch 2drop col: user: @ 980 980 0 0 0= ?branch 2drop col: user: 980 980 0 0 0= ?branch 2drop col: 980 980 0 0 ! lit user: ! ;s 0= 980 980 0 0 ! ;s 0= col: col: r> 980 980 0 0 ! ;s 0= col: col: 980 980 0 0 ! ;s 0= col: 980 0 0 980 r@ does: @ + ;s 2@ 979 836 63 80 ;s - 977 269 0 708 con: + ;s 977 269 0 708 con: + 976 976 0 0 ;s swap user: ! 976 976 0 0 ;s swap user: 976 21 21 934 ;s ! ;s ;s var: 975 0 975 0 ;s @local0 973 0 973 0 @local1 >l 967 0 967 0 @local0 col: >l >l @local0 >l 967 0 967 0 @local0 col: >l >l @local0 967 0 967 0 @local0 col: >l >l 967 0 191 776 unloop ;s lit col: 967 0 191 776 unloop ;s lit 966 0 392 574 lit defer: (emit) 966 0 392 574 lit defer: 966 0 392 574 defer: (emit) 966 0 392 574 (emit) 965 748 217 0 col: user: @ col: 965 0 0 965 col: >r r@ does: @ + 965 0 0 965 col: >r r@ does: @ 965 0 0 965 col: >r r@ does: 965 0 0 965 >r r@ does: @ + ;s 965 0 0 965 >r r@ does: @ + 965 0 0 965 >r r@ does: @ 965 0 0 965 >r r@ does: 964 964 0 0 ;s ;s swap user: ! 964 964 0 0 ;s ;s swap user: 961 961 0 0 dup col: ;s @ con: 961 961 0 0 dup col: ;s @ 961 960 1 0 lit col: dup 960 941 13 6 ! user: @ 960 573 281 106 unloop 2drop con: ;s ;s ;s 960 573 281 106 unloop 2drop con: ;s ;s 960 573 281 106 unloop 2drop con: ;s 960 573 281 106 unloop 2drop con: 960 573 281 106 lit (+loop) unloop 2drop con: ;s 960 573 281 106 lit (+loop) unloop 2drop con: 960 573 281 106 lit (+loop) unloop 2drop 960 573 281 106 drop branch lit (+loop) unloop 2drop 960 573 281 106 drop branch lit (+loop) unloop 960 573 281 106 con: ;s ;s ;s dup ?branch 960 573 281 106 con: ;s ;s ;s dup 960 573 281 106 branch lit (+loop) unloop 2drop con: 960 573 281 106 branch lit (+loop) unloop 2drop 960 573 281 106 branch lit (+loop) unloop 960 573 281 106 ?branch drop branch lit (+loop) unloop 960 573 281 106 2drop con: ;s ;s ;s dup 960 573 281 106 2drop con: ;s ;s ;s 960 573 281 106 2drop con: ;s ;s 960 573 281 106 (+loop) unloop 2drop con: ;s ;s 960 573 281 106 (+loop) unloop 2drop con: ;s 960 573 281 106 (+loop) unloop 2drop con: 960 573 281 106 (+loop) unloop 2drop 958 0 958 0 lit col: >l >l >l 956 562 392 2 ;s ;s ;s ;s branch ;s 956 317 367 272 drop ;s ;s col: 954 954 0 0 lit col: dup @ con: = 954 954 0 0 lit col: dup @ con: 954 954 0 0 lit col: dup @ 953 7 7 939 ;s ! ;s ;s dup 951 0 951 0 ?branch @local2 951 0 0 951 ;s ;s does: @ col: var: 951 0 0 951 ;s ;s does: @ col: 950 0 0 950 @ does: @ col: var: col: 950 0 0 950 @ does: @ col: var: 950 0 0 950 @ does: @ col: 949 814 69 66 +! ;s ! ;s ;s col: 947 800 133 14 @ var: ! ;s 947 800 133 14 @ var: ! 947 0 945 2 (loop) var: 945 0 945 0 cells + ;s ! (loop) var: 945 0 945 0 ?branch @local1 @local0 945 0 945 0 ;s ! (loop) var: @local1 field: 945 0 945 0 ;s ! (loop) var: @local1 945 0 945 0 ;s ! (loop) var: 945 0 945 0 + ;s ! (loop) var: @local1 945 0 945 0 + ;s ! (loop) var: 945 0 945 0 (loop) var: @local1 field: i col: 945 0 945 0 (loop) var: @local1 field: i 945 0 945 0 (loop) var: @local1 field: 945 0 945 0 (loop) var: @local1 945 0 945 0 ! (loop) var: @local1 field: i 945 0 945 0 ! (loop) var: @local1 field: 945 0 945 0 ! (loop) var: @local1 945 0 945 0 ! (loop) var: 943 799 78 66 ;s user: ! ;s 941 843 45 53 - col: col: 938 0 0 938 swap (?do) i col: 938 0 0 938 swap (?do) i 938 0 0 938 (?do) i col: dup does: @ 938 0 0 938 (?do) i col: dup does: 938 0 0 938 (?do) i col: dup 936 337 324 275 ;s ;s col: r> dup cell+ 936 337 324 275 ;s ;s col: r> dup 935 875 34 26 ;s ;s ;s lit 934 933 1 0 ?branch ;s dup ?branch 934 933 1 0 ?branch ;s dup 933 933 0 0 dup ?branch ;s dup ?branch ;s 933 933 0 0 dup ?branch ;s dup ?branch 933 933 0 0 dup ?branch ;s dup 933 933 0 0 ?branch ;s dup ?branch ;s 933 933 0 0 ;s dup ?branch ;s dup ?branch 933 933 0 0 ;s dup ?branch ;s dup 933 933 0 0 ;s ;s dup ?branch ;s dup 933 794 133 6 cells + ;s @ var: ! 933 794 133 6 ;s @ var: ! ;s 933 794 133 6 ;s @ var: ! 933 794 133 6 + ;s @ var: ! ;s 933 794 133 6 + ;s @ var: ! 933 372 327 234 nip nip execute col: lit 933 372 327 234 nip execute col: lit 933 372 327 234 ?branch nip nip execute col: lit 933 0 0 933 lit (s+loop) dup i con: col: 933 0 0 933 lit (s+loop) dup i con: 933 0 0 933 lit (s+loop) dup i 933 0 0 933 lit (s+loop) dup 933 0 0 933 lit (s+loop) 933 0 0 933 dup ?branch ;s ?branch lit (s+loop) 933 0 0 933 dup ?branch ;s ?branch lit 933 0 0 933 ?branch lit (s+loop) dup i con: 933 0 0 933 ?branch lit (s+loop) dup i 933 0 0 933 ?branch lit (s+loop) dup 933 0 0 933 ?branch lit (s+loop) 933 0 0 933 ?branch ;s ?branch lit (s+loop) dup 933 0 0 933 ?branch ;s ?branch lit (s+loop) 933 0 0 933 ?branch ;s ?branch lit 933 0 0 933 ;s dup ?branch ;s ?branch lit 933 0 0 933 ;s ?branch lit (s+loop) dup i 933 0 0 933 ;s ?branch lit (s+loop) dup 933 0 0 933 ;s ?branch lit (s+loop) 933 0 0 933 (s+loop) dup i con: col: col: 933 0 0 933 (s+loop) dup i con: col: 933 0 0 933 (s+loop) dup i con: 933 0 0 933 (s+loop) dup i 933 0 0 933 (s+loop) dup 933 0 0 933 (s+loop) 932 736 196 0 swap ! col: 932 341 293 298 ;s ;s col: var: col: con: 932 0 932 0 @local1 con: 931 0 931 0 lp+2 branch >l lp- @local1 col: 931 0 931 0 lp+2 branch >l lp- @local1 931 0 931 0 lp+2 branch >l lp- 931 0 931 0 lp+2 branch >l 931 0 931 0 lp+2 branch 931 0 931 0 lp+!# ;s ?branch @local1 @local0 col: 931 0 931 0 lp+!# ;s ?branch @local1 @local0 931 0 931 0 lp+!# ;s ?branch @local0 931 0 931 0 drop con: lp+!# ;s ?branch @local0 931 0 931 0 con: lp+!# ;s ?branch @local1 @local0 931 0 931 0 con: lp+!# ;s ?branch @local0 931 0 931 0 @local1 @local0 col: >l >l @local0 931 0 931 0 @local1 @local0 col: >l >l 931 0 931 0 @local1 @local0 col: >l 931 0 931 0 @local1 @local0 col: 931 0 931 0 ?branch @local1 @local0 col: >l >l 931 0 931 0 ?branch @local1 @local0 col: >l 931 0 931 0 ?branch @local1 @local0 col: 931 0 931 0 ;s ?branch @local1 @local0 col: >l 931 0 931 0 ;s ?branch @local1 @local0 col: 931 0 931 0 ;s ?branch @local1 @local0 928 875 28 25 ;s ;s ;s lit col: 928 327 320 281 swap ! ;s lit var: ! 928 327 320 281 swap ! ;s lit var: 928 327 320 281 lit var: ! ;s ;s 928 327 320 281 con: swap ! ;s lit var: 928 327 320 281 ;s lit var: ! ;s ;s 928 3 769 156 cells col: 928 0 928 0 ;s @local2 927 0 927 0 >l >l >l >l 926 0 926 0 @local1 con: = 923 923 0 0 execute col: col: user: @ 0= 923 158 113 652 ;s ;s 0= ?branch ;s 923 0 923 0 lp+ ;s dup ?branch 2drop lp+!# 923 0 923 0 dup ?branch 2drop lp+!# ;s 923 0 923 0 dup ?branch 2drop lp+!# 923 0 923 0 @local1 field: @ @local1 923 0 923 0 ?branch 2drop lp+!# ;s 923 0 923 0 ?branch 2drop lp+!# 923 0 923 0 ;s dup ?branch 2drop lp+!# ;s 923 0 923 0 ;s dup ?branch 2drop lp+!# 923 0 923 0 2drop lp+!# ;s 923 0 923 0 2drop lp+!# 922 172 57 693 code-address! ;s ;s col: col: 922 172 57 693 ;s code-address! ;s ;s col: col: 922 1 767 154 cells col: col: user: @ ;s 922 1 767 154 cells col: col: user: @ 922 1 767 154 cells col: col: user: 922 1 767 154 cells col: col: 921 1 767 153 lit cells col: col: user: @ 921 1 767 153 lit cells col: col: user: 921 1 767 153 lit cells col: col: 921 1 767 153 lit cells col: 921 1 767 153 ;s lit cells col: col: user: 921 1 767 153 ;s lit cells col: col: 921 1 767 153 ;s lit cells col: 920 920 0 0 count ;s con: write-file col: ?dup 920 920 0 0 count ;s con: write-file col: 920 920 0 0 count ;s con: write-file 920 920 0 0 >r ;s count ;s con: write-file 920 920 0 0 ;s count ;s con: write-file col: 920 920 0 0 ;s count ;s con: write-file 920 313 338 269 branch drop ;s ;s col: 920 11 0 909 col: col: var: col: 919 821 45 53 ;s - col: col: 919 821 45 53 ;s - col: 919 290 397 232 lit col: user: @ swap - 919 290 397 232 lit col: user: @ swap 918 821 45 52 ;s - col: col: col: 918 821 45 52 - col: col: col: 918 21 21 876 ;s ;s ! ;s ;s var: 918 0 918 0 lp+ ;s @local2 917 917 0 0 col: col: var: @ 1- dup 917 917 0 0 col: col: var: @ 1- 916 496 300 120 user: +! ;s 2drop ;s 916 496 300 120 +! ;s 2drop ;s 915 867 17 31 ;s col: r> /does-handler + col: 915 867 17 31 ;s col: r> /does-handler + 915 867 17 31 ;s col: r> /does-handler 915 496 299 120 1+ user: +! ;s 2drop ;s 915 0 0 915 var: col: lit swap +! ;s 915 0 0 915 var: col: lit swap +! 915 0 0 915 var: col: lit swap 915 0 0 915 var: col: lit 915 0 0 915 var: col: con: over +! @ 915 0 0 915 var: col: con: over +! 915 0 0 915 var: col: con: over 915 0 0 915 swap +! ;s ;s 915 0 0 915 swap +! ;s 915 0 0 915 swap +! 915 0 0 915 over +! @ ! ;s ;s 915 0 0 915 over +! @ ! ;s 915 0 0 915 over +! @ ! 915 0 0 915 lit swap +! ;s ;s 915 0 0 915 lit swap +! ;s 915 0 0 915 lit swap +! 915 0 0 915 con: over +! @ ! ;s 915 0 0 915 con: over +! @ ! 915 0 0 915 con: over +! @ 915 0 0 915 con: over +! 915 0 0 915 con: over 915 0 0 915 col: var: col: lit swap +! 915 0 0 915 col: var: col: lit swap 915 0 0 915 col: var: col: lit 915 0 0 915 col: var: col: con: over +! 915 0 0 915 col: var: col: con: over 915 0 0 915 col: lit swap +! ;s ;s 915 0 0 915 col: lit swap +! ;s 915 0 0 915 col: lit swap +! 915 0 0 915 col: con: over +! @ ! 915 0 0 915 col: con: over +! @ 915 0 0 915 col: con: over +! 915 0 0 915 col: con: over 915 0 0 915 +! @ ! ;s ;s 915 0 0 915 +! @ ! ;s 915 0 0 915 +! @ ! 914 0 914 0 ;s lp+ ;s @local2 913 23 218 672 ! ;s ;s col: dup col: 913 23 218 672 ! ;s ;s col: dup 913 0 201 712 ?branch execute 912 527 62 323 swap ! ;s col: 912 0 912 0 @local1 >l lp- @local1 912 0 912 0 @local1 >l lp- 910 0 910 0 defer: (type) ;s lp+ ;s lp+ 910 0 910 0 (type) ;s lp+ ;s lp+ branch 910 0 910 0 (type) ;s lp+ ;s lp+ 909 736 44 129 user: @ col: col: col: user: 909 736 44 129 user: @ col: col: col: 908 0 173 735 c! ;s (loop) unloop ;s lit 908 0 173 735 ;s (loop) unloop ;s lit col: 908 0 173 735 ;s (loop) unloop ;s lit 908 0 173 735 (loop) unloop ;s lit col: 908 0 173 735 (loop) unloop ;s lit 908 0 0 908 ;s ?branch ;s col: col: var: 908 0 0 908 ;s ?branch ;s col: col: 908 0 0 908 ;s ;s ?branch ;s col: col: 908 0 0 908 ;s ;s ?branch ;s col: 908 0 0 908 ;s ;s ?branch ;s 908 0 0 908 0= ;s ;s ?branch ;s col: 908 0 0 908 0= ;s ;s ?branch ;s 908 0 0 908 0= 0= ;s ;s ?branch ;s 907 0 114 793 defer: (type) ;s lit 907 0 114 793 count defer: (type) ;s lit 907 0 114 793 ;s count defer: (type) ;s lit 907 0 114 793 (type) ;s lit 904 313 322 269 ?branch branch drop ;s ;s col: 904 0 904 0 lp- @local1 con: = ?branch 904 0 904 0 lp- @local1 con: = 904 0 904 0 lp- @local1 con: 904 0 904 0 @local1 con: = ?branch 904 0 904 0 >l lp- @local1 con: = ?branch 904 0 904 0 >l lp- @local1 con: = 904 0 904 0 >l lp- @local1 con: 904 0 904 0 >l >l lp- @local1 con: = 904 0 904 0 >l >l lp- @local1 con: 904 0 904 0 >l >l >l lp- @local1 con: 903 1 41 861 ;s 2! 901 0 901 0 @local2 @local1 900 0 253 647 r> does: 894 857 4 33 col: con: col: col: defer: 892 0 892 0 lp+2 ;s 0= ?branch 892 0 892 0 lp+2 ;s 0= 892 0 892 0 con: lp+2 ;s 0= ?branch 892 0 892 0 con: lp+2 ;s 0= 892 0 892 0 @local2 @local1 col: >l >l @local0 892 0 892 0 @local2 @local1 col: >l >l 892 0 892 0 @local2 @local1 col: >l 892 0 892 0 @local2 @local1 col: 892 0 892 0 ?branch @local2 @local1 col: >l >l 892 0 892 0 ?branch @local2 @local1 col: >l 892 0 892 0 ?branch @local2 @local1 col: 892 0 892 0 ?branch @local2 @local1 892 0 0 892 2dup col: lit 892 0 0 892 +! ;s ;s ;s 891 0 0 891 swap +! ;s ;s ;s 891 0 0 891 lit swap +! ;s ;s ;s 890 0 890 0 @ ;s @local1 col: col: col: 890 0 890 0 @ ;s @local1 col: col: 890 0 890 0 @ ;s @local1 col: 890 0 890 0 @ ;s @ ;s @local1 col: 890 0 890 0 ;s @local1 col: col: col: user: 890 0 890 0 ;s @local1 col: col: col: 890 0 890 0 ;s @local1 col: col: 890 0 890 0 ;s @ ;s @local1 col: col: 890 0 890 0 ;s @ ;s @local1 col: 890 0 890 0 ;s +! ;s ! ;s lp+ 890 0 890 0 ;s ! ;s lp+ ;s 890 0 890 0 ;s ! ;s lp+ 890 0 890 0 +! ;s ! ;s lp+ ;s 890 0 890 0 +! ;s ! ;s lp+ 890 0 890 0 ! ;s lp+ ;s 890 0 890 0 ! ;s lp+ 889 419 184 286 ! ;s ;s ;s branch 889 0 889 0 @local3 col: 887 887 0 0 ;s @ execute col: col: user: 885 875 0 10 con: <> ?branch 884 857 4 23 col: con: col: col: defer: col: 884 760 124 0 drop user: @ 884 149 84 651 ;s 0= ?branch ;s col: 884 149 84 651 0= ?branch ;s col: 884 11 0 873 col: col: var: col: con: 882 882 0 0 dup col: col: col: var: @ 882 882 0 0 dup col: col: col: var: 881 51 829 1 = ?branch lit 880 0 880 0 >l @local1 col: >l lp- 880 0 880 0 >l @local1 col: >l 880 0 880 0 >l @local1 col: 880 0 880 0 >l >l @local1 col: >l lp- 880 0 880 0 >l >l @local1 col: >l 880 0 880 0 >l >l @local1 col: 880 0 0 880 ;s ! does: @ 880 0 0 880 ;s ! does: 880 0 0 880 + ;s ! does: @ 880 0 0 880 + ;s ! does: 880 0 0 880 ! does: @ 880 0 0 880 ! does: 878 878 0 0 cell+ ;s ! 877 0 877 0 @local1 >l lp- @local1 col: >l 877 0 877 0 @local1 >l lp- @local1 col: 875 875 0 0 col: dup col: col: col: var: 875 875 0 0 col: ;s @ con: <> ?branch 875 875 0 0 col: ;s @ con: <> 875 875 0 0 @ con: <> ?branch 875 875 0 0 @ con: <> 875 875 0 0 ;s @ con: <> ?branch 875 875 0 0 ;s @ con: <> 874 777 40 57 ! ;s ;s col: var: 874 750 124 0 ;s user: ! col: 874 750 124 0 ;s ;s user: ! col: 873 0 0 873 col: col: var: col: con: over 872 748 124 0 ! col: col: var: dup @ 872 748 124 0 ! col: col: var: dup 872 0 386 486 ?branch drop col: 870 0 870 0 field: @ @local1 col: >l 870 0 870 0 field: @ @local1 col: 869 93 634 142 col: lit over 869 869 0 0 ! user: @ col: 869 438 423 8 execute does: 866 855 1 10 ;s (loop) unloop ;s col: col: 866 855 1 10 (loop) unloop ;s col: col: 864 0 864 0 lp+ ;s @local3 862 0 215 647 lit ! ;s ;s 861 0 0 861 var: 2@ var: 2@ 861 0 0 861 var: 2@ var: 861 0 0 861 unloop ;s var: 861 0 0 861 col: var: 2@ var: 2@ 861 0 0 861 col: var: 2@ var: 861 0 0 861 ;s ?branch col: var: 861 0 0 861 ;s ;s ?branch col: var: 861 0 0 861 0= ;s ;s ?branch col: var: 860 128 501 231 ?branch col: r> dup cell+ >r 860 128 501 231 ?branch col: r> dup cell+ 860 128 501 231 ?branch col: r> dup 860 128 501 231 ?branch col: r> 858 858 0 0 dup col: cell+ ;s @ dup 858 858 0 0 dup col: cell+ ;s @ 858 858 0 0 dup col: cell+ ;s 858 858 0 0 dup col: cell+ 858 858 0 0 col: cell+ ;s @ dup 858 858 0 0 cell+ ;s @ dup 858 858 0 0 >r dup col: 858 858 0 0 ;s con: col: col: defer: col: 858 858 0 0 ;s con: col: col: defer: 858 842 15 1 dup ?branch dup 856 856 0 0 ;s ;s (loop) unloop ;s col: 856 477 236 143 execute col: lit col: >r defer: 856 477 236 143 execute col: lit col: >r 854 854 0 0 ;s ;s col: over 854 0 854 0 @local3 col: >l 853 853 0 0 unloop ;s col: col: col: var: 853 853 0 0 unloop ;s col: col: col: 853 853 0 0 swap ;s (?do) 853 853 0 0 over + swap ;s (?do) 853 853 0 0 col: over + swap ;s (?do) 853 853 0 0 c! ;s ;s col: over + 853 853 0 0 c! ;s ;s col: over 853 853 0 0 ;s col: over + swap ;s 853 853 0 0 ;s col: over + swap 853 853 0 0 ;s col: over + 853 853 0 0 ;s c! ;s ;s col: over 853 853 0 0 ;s ;s col: over + swap 853 853 0 0 ;s ;s col: over + 853 853 0 0 ;s (?do) 853 853 0 0 + swap ;s (?do) 853 821 2 30 col: lit user: ! 853 821 2 30 col: lit user: 853 431 309 113 ?branch col: over 853 307 289 257 drop ;s ;s col: r> dup 853 307 289 257 drop ;s ;s col: r> 852 852 0 0 swap ;s (?do) i c@ col: 852 852 0 0 swap ;s (?do) i c@ 852 852 0 0 swap ;s (?do) i 852 852 0 0 over + swap ;s (?do) i 852 852 0 0 ;s (?do) i c@ col: col: 852 852 0 0 ;s (?do) i c@ col: 852 852 0 0 ;s (?do) i c@ 852 852 0 0 ;s (?do) i 852 852 0 0 + swap ;s (?do) i c@ 852 852 0 0 + swap ;s (?do) i 852 852 0 0 (loop) unloop ;s col: col: col: 852 852 0 0 (?do) i c@ col: col: col: 852 852 0 0 (?do) i c@ col: col: 852 852 0 0 (?do) i c@ col: 852 852 0 0 (?do) i c@ 852 0 852 0 ;s lp+2 ;s 851 851 0 0 ;s ;s branch ;s user: @ 851 851 0 0 ;s ;s branch ;s user: 850 307 286 257 branch drop ;s ;s col: r> 849 0 849 0 lp+ ;s @local1 848 724 124 0 ?branch drop user: 848 212 440 196 swap c! ;s ;s col: lit 848 212 440 196 c! ;s ;s col: lit 847 847 0 0 lit and ;s lit (?do) unloop 847 847 0 0 lit (?do) unloop ;s 847 847 0 0 and ;s lit (?do) unloop ;s 847 847 0 0 and ;s lit (?do) unloop 847 847 0 0 ;s lit (?do) unloop ;s 847 847 0 0 ;s lit (?do) unloop 847 0 847 0 lp+ ;s col: 843 0 843 0 col: >l >l @local1 842 842 0 0 dup col: ;s @ con: = 842 842 0 0 col: ;s @ con: = 842 842 0 0 ;s @ con: = 839 750 29 60 lit col: col: col: col: user: 839 750 29 60 lit col: col: col: col: 838 0 191 647 xor swap c! ;s col: lit 838 0 191 647 xor swap c! ;s col: 838 0 191 647 var: count move lit lit ! 838 0 191 647 var: count move lit lit 838 0 191 647 var: count move lit 838 0 191 647 var: count move 838 0 191 647 var: count col: col: col: user: 838 0 191 647 var: count col: col: col: 838 0 191 647 var: count col: col: 838 0 191 647 var: count col: 838 0 191 647 var: c! var: count move lit 838 0 191 647 var: c! var: count move 838 0 191 647 var: c! var: count 838 0 191 647 var: c! var: 838 0 191 647 var: c! 838 0 191 647 unloop ;s lit col: user: @ 838 0 191 647 unloop ;s lit col: user: 838 0 191 647 swap c! ;s col: lit lit 838 0 191 647 swap c! ;s col: lit 838 0 191 647 swap c! ;s col: 838 0 191 647 move lit lit ! ;s 838 0 191 647 move lit lit ! 838 0 191 647 move lit lit 838 0 191 647 move lit 838 0 191 647 lit lit ! ;s ;s col: 838 0 191 647 lit lit ! ;s ;s 838 0 191 647 lit ! ;s ;s col: col: 838 0 191 647 lit ! ;s ;s col: 838 0 191 647 defer: defer: col: var: count col: 838 0 191 647 defer: defer: col: var: count 838 0 191 647 defer: defer: col: var: 838 0 191 647 defer: col: var: count col: col: 838 0 191 647 defer: col: var: count col: 838 0 191 647 defer: col: var: count 838 0 191 647 defer: col: var: 838 0 191 647 count move lit lit ! ;s 838 0 191 647 count move lit lit ! 838 0 191 647 count move lit lit 838 0 191 647 count move lit 838 0 191 647 count move 838 0 191 647 count col: col: col: user: @ 838 0 191 647 count col: col: col: user: 838 0 191 647 count col: col: col: 838 0 191 647 col: var: count col: col: col: 838 0 191 647 col: var: count col: col: 838 0 191 647 col: var: count col: 838 0 191 647 col: var: count 838 0 191 647 col: lit lit ! ;s ;s 838 0 191 647 col: lit lit ! ;s 838 0 191 647 col: defer: defer: col: var: count 838 0 191 647 col: defer: defer: col: var: 838 0 191 647 col: col: dup lit u> lit 838 0 191 647 col: col: dup lit u> 838 0 191 647 col: col: dup lit 838 0 191 647 col: col: defer: defer: col: var: 838 0 191 647 col: ?dup ?branch ;s ;s var: 838 0 191 647 c@ xor swap c! ;s col: 838 0 191 647 c! var: count move lit lit 838 0 191 647 c! var: count move lit 838 0 191 647 c! var: count move 838 0 191 647 c! var: count 838 0 191 647 c! var: 838 0 191 647 c! ;s col: lit lit ! 838 0 191 647 c! ;s col: lit lit 838 0 191 647 c! ;s col: lit 838 0 191 647 ?dup ?branch ;s ;s var: c! 838 0 191 647 ?dup ?branch ;s ;s var: 838 0 191 647 ?branch ;s ;s var: c! var: 838 0 191 647 ?branch ;s ;s var: c! 838 0 191 647 ?branch ;s ;s var: 838 0 191 647 ;s var: c! var: count move 838 0 191 647 ;s var: c! var: count 838 0 191 647 ;s var: c! var: 838 0 191 647 ;s var: c! 838 0 191 647 ;s col: lit lit ! ;s 838 0 191 647 ;s ;s var: c! var: count 838 0 191 647 ;s ;s var: c! var: 838 0 191 647 ;s ;s var: c! 838 0 191 647 ;s ! ;s ;s col: dup 837 459 13 365 execute col: col: var: 836 414 309 113 lit = dup >r ?branch col: 836 414 309 113 dup >r ?branch col: over c@ 836 414 309 113 dup >r ?branch col: over 836 414 309 113 dup >r ?branch col: 836 414 309 113 ?branch col: over c@ lit - 836 414 309 113 ?branch col: over c@ lit 836 414 309 113 ?branch col: over c@ 836 414 309 113 >r ?branch col: over c@ lit 836 414 309 113 >r ?branch col: over c@ 836 414 309 113 >r ?branch col: over 836 414 309 113 >r ?branch col: 836 414 309 113 = dup >r ?branch col: over 836 414 309 113 = dup >r ?branch col: 835 790 33 12 2* 833 789 33 11 2* cells 832 796 2 34 ! col: col: user: @ ;s 832 796 2 34 ! col: col: user: @ 832 796 2 34 ! col: col: user: 826 811 14 1 ;s ;s dup col: 823 0 823 0 ?branch @local1 field: 822 93 587 142 over 0<> ?branch 822 93 587 142 over 0<> 821 726 62 33 @ ?branch col: col: 821 0 821 0 over = ?branch lit 820 763 22 35 @ col: dup 820 745 67 8 ?branch var: col: con: swap ! 820 745 67 8 ?branch var: col: con: swap 820 745 67 8 ?branch var: col: con: 820 745 67 8 ?branch var: col: 819 295 273 251 lit var: ! ;s ;s col: 818 229 7 582 dup var: ! 815 815 0 0 dup ?branch dup col: 815 132 57 626 ;s ;s 0= ?branch ;s col: 811 0 811 0 col: >l >l >l >l 808 0 808 0 lp+!# ;s lp+ ;s 808 0 808 0 lp+!# ;s lp+ 806 0 132 674 lit (do) 803 505 6 292 con: swap ! ;s col: 803 505 6 292 col: con: swap ! ;s col: 803 388 302 113 ?branch r> user: 802 715 56 31 var: @ ?branch col: col: 802 387 302 113 rdrop r> ?branch r> user: ! 802 387 302 113 rdrop r> ?branch r> user: 802 387 302 113 rdrop r> ?branch r> 802 387 302 113 r> ?branch r> user: ! ;s 802 387 302 113 r> ?branch r> user: ! 802 387 302 113 r> ?branch r> user: 802 387 302 113 r> ?branch r> 802 387 302 113 ?branch r> user: ! ;s user: 802 387 302 113 ?branch r> user: ! ;s 802 387 302 113 ?branch r> user: ! 802 387 302 113 ?branch 2drop rdrop r> ?branch r> 802 387 302 113 2drop rdrop r> ?branch r> user: 802 387 302 113 2drop rdrop r> ?branch r> 802 0 802 0 lp+!# ;s lp+2 ;s 802 0 802 0 lp+!# ;s lp+2 801 0 801 0 @local2 col: 799 757 9 33 ! ;s ;s col: var: @ 798 774 19 5 2* cells + 798 754 17 27 dup ?branch drop r> 798 754 17 27 ?branch drop r> 797 0 797 0 ?branch @local1 field: @ 794 86 0 708 rdrop ;s con: 794 736 58 0 ;s +! ;s ! ;s var: 794 736 58 0 ;s ! ;s var: 794 736 58 0 +! ;s ! ;s var: 794 14 138 642 ! ;s ;s var: @ 789 789 0 0 ;s - col: col: col: var: 789 789 0 0 - col: col: col: var: @ 789 789 0 0 - col: col: col: var: 789 773 0 16 ! ;s col: col: col: 784 41 51 692 code-address! ;s ;s col: col: col: 784 290 262 232 col: lit col: user: @ swap 784 0 784 0 ?branch 2drop con: lp+2 ;s 0= 784 0 784 0 2drop con: lp+2 ;s 0= ?branch 784 0 784 0 2drop con: lp+2 ;s 0= 782 0 782 0 col: >l >l >l >l @local0 782 0 782 0 >l >l >l @local0 782 0 782 0 >l >l >l >l @local0 782 0 782 0 ;s lp+ ;s @local3 780 780 0 0 ;s var: @ dup 779 779 0 0 con: lshift ;s 779 779 0 0 con: lshift 779 779 0 0 col: var: @ var: @ 779 779 0 0 col: con: lshift ;s 779 779 0 0 col: con: lshift 779 1 7 771 ;s cr ;s 779 0 173 606 (loop) unloop ;s lit col: user: 778 394 178 206 ! ;s ;s ;s branch col: 777 760 6 11 var: 2@ drop 777 0 777 0 = ?branch @local2 776 753 9 14 @ var: ! ;s ;s 776 518 199 59 dup ?branch drop 2dup 2>r col: 776 518 199 59 dup ?branch drop 2dup 2>r 776 518 199 59 drop 2dup 2>r col: col: user: 776 518 199 59 drop 2dup 2>r col: col: 776 518 199 59 drop 2dup 2>r col: 776 518 199 59 drop 2dup 2>r 776 518 199 59 ?branch drop 2dup 2>r col: col: 776 518 199 59 ?branch drop 2dup 2>r col: 776 518 199 59 ?branch drop 2dup 2>r 776 518 199 59 ;s dup ?branch drop 2dup 2>r 776 518 199 59 2dup 2>r col: col: user: @ 776 518 199 59 2dup 2>r col: col: user: 776 518 199 59 2dup 2>r col: col: 776 518 199 59 2dup 2>r col: 776 518 199 59 2dup 2>r 776 518 199 59 2>r col: col: user: @ >r 776 518 199 59 2>r col: col: user: @ 776 518 199 59 2>r col: col: user: 776 518 199 59 2>r col: col: 776 518 199 59 2>r col: 776 518 199 59 2>r 776 129 519 128 ;s branch ;s ;s 776 0 776 0 @local3 col: >l lp- @local1 776 0 776 0 @local3 col: >l lp- 776 0 776 0 ?branch @local1 field: @ @local1 774 750 0 24 ;s ;s col: var: @ ;s 774 558 0 216 ;s ;s ;s ;s ;s col: 774 518 197 59 ?branch 2rdrop branch ;s branch col: 774 518 197 59 ?branch 2rdrop branch ;s branch 774 518 197 59 ?branch 2rdrop branch ;s 774 518 197 59 ?branch 2rdrop branch 774 518 197 59 ?branch 2rdrop 774 518 197 59 ;s ?branch 2rdrop branch ;s branch 774 518 197 59 ;s ?branch 2rdrop branch ;s 774 518 197 59 ;s ?branch 2rdrop branch 774 518 197 59 ;s ?branch 2rdrop 774 518 197 59 2rdrop branch ;s branch col: sp@ 774 518 197 59 2rdrop branch ;s branch col: 774 518 197 59 2rdrop branch ;s branch 774 518 197 59 2rdrop branch ;s 774 518 197 59 2rdrop branch 774 518 197 59 2rdrop 773 756 7 10 ;s ;s ;s col: var: @ 773 518 197 58 nip ;s ?branch 2rdrop branch ;s 773 518 197 58 nip ;s ?branch 2rdrop branch 773 518 197 58 nip ;s ?branch 2rdrop 773 518 197 58 nip ;s ?branch 773 518 197 58 ?branch nip ;s ?branch 2rdrop branch 773 518 197 58 ?branch nip ;s ?branch 2rdrop 773 518 197 58 ?branch nip ;s ?branch 773 518 197 58 0> 0= ?branch nip ;s ?branch 773 518 197 58 0= ?branch nip ;s ?branch 2rdrop 773 518 197 58 0= ?branch nip ;s ?branch 773 331 277 165 nip nip execute col: lit col: 773 331 277 165 nip execute col: lit col: 772 764 0 8 ! ;s ;s col: r> 772 750 22 0 ;s user: @ col: 772 1 0 771 defer: (type) ;s cr ;s 772 1 0 771 count defer: (type) ;s cr ;s 772 1 0 771 (type) ;s cr ;s 772 0 772 0 lp+2 ;s lit 772 0 772 0 lp+ ;s @local3 lit col: >l 772 0 772 0 lp+ ;s @local3 lit col: 772 0 772 0 lp+ ;s @local3 lit 772 0 772 0 lp+ ;s @local2 col: >l >l 772 0 772 0 lp+ ;s @local2 col: >l 772 0 772 0 lp+ ;s @local2 col: 772 0 772 0 lit col: >l >l >l >l 772 0 772 0 field: @ @local1 col: >l lp- 772 0 772 0 dup ?branch 2drop lp+!# ;s lp+2 772 0 772 0 @local3 lit col: >l >l >l 772 0 772 0 @local3 lit col: >l >l 772 0 772 0 @local3 lit col: >l 772 0 772 0 @local3 lit col: 772 0 772 0 @local3 lit 772 0 772 0 @local2 col: >l >l @local0 @local1 772 0 772 0 @local2 col: >l >l @local0 772 0 772 0 @local2 col: >l >l 772 0 772 0 @local2 col: >l 772 0 772 0 @local1 field: @ @local1 col: >l 772 0 772 0 @local1 field: @ @local1 col: 772 0 772 0 @ @local1 col: >l lp- col: 772 0 772 0 @ @local1 col: >l lp- 772 0 772 0 ?branch @local1 field: @ @local1 col: 772 0 772 0 ?branch 2drop lp+!# ;s lp+2 ;s 772 0 772 0 ?branch 2drop lp+!# ;s lp+2 772 0 772 0 >l >l >l @local0 >l lp- 772 0 772 0 >l >l >l @local0 >l 772 0 772 0 >l >l >l >l @local0 >l 772 0 772 0 ;s lp+ ;s @local2 col: >l 772 0 772 0 ;s lp+ ;s @local2 col: 772 0 772 0 ;s @local3 lit col: >l >l 772 0 772 0 ;s @local3 lit col: >l 772 0 772 0 ;s @local3 lit col: 772 0 772 0 ;s @local3 lit 772 0 772 0 ;s @local2 col: >l >l @local0 772 0 772 0 ;s @local2 col: >l >l 772 0 772 0 ;s @local2 col: >l 772 0 772 0 ;s @local2 col: 772 0 772 0 ;s ! ;s lp+ ;s @local2 772 0 772 0 2drop lp+!# ;s lp+2 ;s 772 0 772 0 2drop lp+!# ;s lp+2 772 0 772 0 ! ;s lp+ ;s @local2 col: 772 0 772 0 ! ;s lp+ ;s @local2 770 748 22 0 col: user: @ col: col: 770 739 24 7 lit <> 770 1 1 768 var: 2@ col: 770 0 770 0 col: >l >l @local1 col: >l 770 0 770 0 col: >l >l @local1 col: 769 769 0 0 @ dup ?branch dup col: 769 769 0 0 @ dup ?branch dup 769 276 260 233 noop ;s 768 768 0 0 var: @ ;s ;s var: 768 768 0 0 col: var: @ ;s ;s var: 767 0 0 767 swap - 1- dup ?branch 767 0 0 767 swap - 1- dup 767 0 0 767 swap - 1- 767 0 0 767 1- dup ?branch 767 0 0 767 - 1- dup ?branch 767 0 0 767 - 1- dup 767 0 0 767 - 1- 766 760 6 0 col: var: 2@ drop 766 760 6 0 @ 2* cells + 766 760 6 0 @ 2* cells 766 760 6 0 @ 2* 766 630 135 1 var: ! lit 766 0 766 0 lp- @local1 2@ 766 0 766 0 col: >l lp- @local1 2@ 766 0 766 0 @local1 2@ 766 0 766 0 >l lp- @local1 2@ 765 736 29 0 ! ;s var: @ col: 764 0 764 0 ;s lp+2 ;s lp+ 763 739 0 24 ;s ! con: 763 739 0 24 ! con: 762 759 3 0 ;s ;s ;s ;s lit 762 747 9 6 ;s @ var: ! ;s ;s 762 466 5 291 ?branch ;s lit 762 0 762 0 lp- @local1 con: = ?branch @local2 762 0 762 0 con: = ?branch @local2 @local1 col: 762 0 762 0 con: = ?branch @local2 @local1 762 0 762 0 con: = ?branch @local2 762 0 762 0 @local1 con: = ?branch @local2 @local1 762 0 762 0 @local1 con: = ?branch @local2 762 0 762 0 = ?branch @local2 @local1 col: >l 762 0 762 0 = ?branch @local2 @local1 col: 762 0 762 0 = ?branch @local2 @local1 761 761 0 0 user: ! ;s ;s 761 761 0 0 col: lit user: ! ;s 761 750 11 0 @ 0<> ?branch 760 760 0 0 var: 2@ drop user: @ 2* 760 760 0 0 var: 2@ drop user: @ 760 760 0 0 var: 2@ drop user: 760 760 0 0 user: @ 2* cells + ;s 760 760 0 0 user: @ 2* cells + 760 760 0 0 user: @ 2* cells 760 760 0 0 user: @ 2* 760 760 0 0 drop user: @ 2* cells + 760 760 0 0 drop user: @ 2* cells 760 760 0 0 drop user: @ 2* 760 760 0 0 col: var: 2@ drop user: @ 760 760 0 0 col: var: 2@ drop user: 760 760 0 0 cells + ;s 2@ 760 760 0 0 @ 2* cells + ;s 2@ 760 760 0 0 @ 2* cells + ;s 760 760 0 0 2@ drop user: @ 2* cells 760 760 0 0 2@ drop user: @ 2* 760 760 0 0 2@ drop user: @ 760 760 0 0 2@ drop user: 760 760 0 0 2* cells + ;s 2@ 760 760 0 0 2* cells + ;s 759 759 0 0 ;s ;s ;s ;s lit col: 758 736 22 0 col: user: @ col: col: col: 757 285 246 226 rdrop ;s ;s col: lit col: 757 285 246 226 rdrop ;s ;s col: lit 757 285 246 226 ?branch rdrop ;s ;s col: lit 756 756 0 0 over col: ;s @ con: <> 756 756 0 0 over col: ;s @ con: 756 756 0 0 over col: ;s @ 756 756 0 0 over col: ;s 756 756 0 0 lit and ;s lit (?do) con: 756 756 0 0 lit (?do) con: col: col: col: 756 756 0 0 lit (?do) con: col: col: 756 756 0 0 lit (?do) con: col: 756 756 0 0 lit (?do) con: 756 756 0 0 con: <> ?branch col: 756 756 0 0 col: over col: ;s @ con: 756 756 0 0 col: over col: ;s @ 756 756 0 0 col: over col: ;s 756 756 0 0 col: over col: 756 756 0 0 and ;s lit (?do) con: col: 756 756 0 0 and ;s lit (?do) con: 756 756 0 0 @ con: <> ?branch col: 756 756 0 0 ;s lit (?do) con: col: col: 756 756 0 0 ;s lit (?do) con: col: 756 756 0 0 ;s lit (?do) con: 756 756 0 0 ;s @ con: <> ?branch col: 756 756 0 0 (?do) con: col: col: col: var: 756 750 6 0 col: col: var: 2@ drop 756 750 6 0 col: col: var: 2@ 756 750 6 0 @ min 755 755 0 0 lit col: con: lshift ;s 755 755 0 0 lit col: con: lshift 755 755 0 0 lit col: con: 752 752 0 0 ;s ;s (loop) unloop ;s ;s 752 752 0 0 2drop ;s ;s ;s ;s lit 752 736 0 16 ;s col: defer: defer: col: col: 752 736 0 16 ;s col: defer: defer: col: 752 736 0 16 ;s col: defer: defer: 751 750 1 0 0<> ?branch col: col: 751 750 1 0 0<> ?branch col: 750 750 0 0 var: @ var: @ 0<> and 750 750 0 0 var: @ var: @ 0<> 750 750 0 0 var: @ dup 0> ?branch 750 750 0 0 var: @ dup 0> 750 750 0 0 var: @ ;s var: ! user: 750 750 0 0 var: @ ;s ;s var: ! 750 750 0 0 var: @ 0<> and ?branch 750 750 0 0 var: @ 0<> and 750 750 0 0 var: @ 0<> ?branch col: col: 750 750 0 0 var: @ 0<> ?branch col: 750 750 0 0 var: @ 0<> ?branch 750 750 0 0 var: 2@ d<> ?branch 750 750 0 0 var: 2@ d<> 750 750 0 0 var: ! user: @ col: con: 750 750 0 0 var: ! user: @ col: 750 750 0 0 var: ! user: @ 750 750 0 0 var: ! user: 750 750 0 0 user: @ min con: write-file col: 750 750 0 0 user: @ min con: write-file 750 750 0 0 user: @ min con: 750 750 0 0 user: @ min 750 750 0 0 user: @ lit col: col: col: 750 750 0 0 user: @ lit col: col: 750 750 0 0 user: @ col: lit user: ! 750 750 0 0 user: @ col: lit user: 750 750 0 0 user: @ col: lit 750 750 0 0 user: @ col: con: col: col: 750 750 0 0 user: @ col: con: col: 750 750 0 0 user: @ col: con: 750 750 0 0 user: @ ;s user: @ min 750 750 0 0 user: ! ;s user: @ lit 750 750 0 0 unloop ;s col: ;s var: @ 750 750 0 0 unloop ;s col: ;s var: 750 750 0 0 unloop ;s col: ;s 750 750 0 0 unloop ;s ;s user: ! col: 750 750 0 0 unloop ;s ;s user: ! 750 750 0 0 unloop ;s ;s user: 750 750 0 0 tuck - ;s con: write-file col: 750 750 0 0 tuck - ;s con: write-file 750 750 0 0 tuck - ;s con: 750 750 0 0 swap col: cell+ 750 750 0 0 swap ! ;s ;s col: var: 750 750 0 0 swap ! ;s ;s col: 750 750 0 0 min con: write-file col: ?dup ?branch 750 750 0 0 min con: write-file col: ?dup 750 750 0 0 min con: write-file col: 750 750 0 0 min con: write-file 750 750 0 0 min con: 750 750 0 0 lit user: ! ;s user: @ 750 750 0 0 lit user: ! ;s user: 750 750 0 0 dup col: ;s var: ! var: 750 750 0 0 dup col: ;s var: ! 750 750 0 0 dup col: ;s var: 750 750 0 0 dup @ tuck - ;s con: 750 750 0 0 dup 0> ?branch 750 750 0 0 d<> ?branch 750 750 0 0 d<> 750 750 0 0 con: swap ! ;s ;s col: 750 750 0 0 col: var: @ var: @ 0<> 750 750 0 0 col: var: @ 0<> ?branch col: 750 750 0 0 col: var: @ 0<> ?branch 750 750 0 0 col: var: @ 0<> 750 750 0 0 col: lit user: ! ;s user: 750 750 0 0 col: col: var: 2@ drop user: 750 750 0 0 col: col: col: col: var: @ 750 750 0 0 col: col: col: col: var: 750 750 0 0 col: ?dup ?branch ;s user: ! 750 750 0 0 col: ;s var: @ dup 0> 750 750 0 0 col: ;s var: @ dup 750 750 0 0 col: ;s var: @ 750 750 0 0 col: ;s var: ! var: @ 750 750 0 0 col: ;s var: ! var: 750 750 0 0 col: ;s var: ! 750 750 0 0 cells + ;s 2@ var: 2@ 750 750 0 0 cells + ;s 2@ var: 750 750 0 0 c! ;s ;s col: var: @ 750 750 0 0 c! ;s ;s col: var: 750 750 0 0 @ var: @ 0<> and ?branch 750 750 0 0 @ var: @ 0<> and 750 750 0 0 @ var: @ 0<> 750 750 0 0 @ tuck - ;s con: write-file 750 750 0 0 @ tuck - ;s con: 750 750 0 0 @ min con: write-file col: ?dup 750 750 0 0 @ min con: write-file col: 750 750 0 0 @ min con: write-file 750 750 0 0 @ min con: 750 750 0 0 @ lit col: col: col: col: 750 750 0 0 @ lit col: col: col: 750 750 0 0 @ lit col: col: 750 750 0 0 @ dup 0> ?branch 750 750 0 0 @ col: lit user: ! ;s 750 750 0 0 @ col: lit user: ! 750 750 0 0 @ col: lit user: 750 750 0 0 @ col: con: col: col: defer: 750 750 0 0 @ col: con: col: col: 750 750 0 0 @ col: con: col: 750 750 0 0 @ col: con: 750 750 0 0 @ ;s var: ! user: @ 750 750 0 0 @ ;s var: ! user: 750 750 0 0 @ ;s user: @ min con: 750 750 0 0 @ ;s user: @ min 750 750 0 0 @ ;s ;s var: ! var: 750 750 0 0 @ ;s ;s var: ! 750 750 0 0 @ 0<> and ?branch 750 750 0 0 @ 0<> and 750 750 0 0 @ 0<> ?branch col: col: var: 750 750 0 0 @ 0<> ?branch col: col: 750 750 0 0 @ 0<> ?branch col: 750 750 0 0 ?dup ?branch ;s user: @ col: 750 750 0 0 ?dup ?branch ;s user: ! ;s 750 750 0 0 ?dup ?branch ;s user: ! 750 750 0 0 ?branch col: col: var: 2@ drop 750 750 0 0 ?branch col: col: var: 2@ 750 750 0 0 ?branch ;s user: @ col: lit 750 750 0 0 ?branch ;s user: @ col: 750 750 0 0 ?branch ;s user: ! ;s ;s 750 750 0 0 ?branch ;s user: ! ;s 750 750 0 0 ?branch ;s user: ! 750 750 0 0 ;s var: @ dup 0> ?branch 750 750 0 0 ;s var: @ dup 0> 750 750 0 0 ;s var: ! user: @ col: 750 750 0 0 ;s var: ! user: @ 750 750 0 0 ;s var: ! user: 750 750 0 0 ;s user: @ min con: write-file 750 750 0 0 ;s user: @ min con: 750 750 0 0 ;s user: @ min 750 750 0 0 ;s user: @ lit col: col: 750 750 0 0 ;s user: @ col: lit user: 750 750 0 0 ;s user: @ col: lit 750 750 0 0 ;s user: ! col: col: var: 750 750 0 0 ;s user: ! col: col: 750 750 0 0 ;s user: ! ;s ;s 750 750 0 0 ;s col: var: @ var: @ 750 750 0 0 ;s col: var: @ ;s var: 750 750 0 0 ;s col: var: @ 0<> ?branch 750 750 0 0 ;s col: var: @ 0<> 750 750 0 0 ;s col: ?dup ?branch ;s user: 750 750 0 0 ;s col: ;s var: @ dup 750 750 0 0 ;s col: ;s var: @ 750 750 0 0 ;s col: ;s var: 750 750 0 0 ;s col: ;s 750 750 0 0 ;s c! ;s ;s col: var: 750 750 0 0 ;s ;s var: ! var: @ 750 750 0 0 ;s ;s var: ! var: 750 750 0 0 ;s ;s user: ! col: col: 750 750 0 0 ;s ;s col: var: @ var: 750 750 0 0 ;s ;s col: var: @ 0<> 750 750 0 0 ;s 2@ var: 2@ d<> ?branch 750 750 0 0 ;s 2@ var: 2@ d<> 750 750 0 0 ;s 2@ var: 2@ 750 750 0 0 2@ var: 2@ d<> ?branch 750 750 0 0 2@ var: 2@ d<> 750 750 0 0 2@ d<> ?branch 750 750 0 0 2@ d<> 750 750 0 0 2* cells + ;s 2@ var: 750 750 0 0 0<> ?branch col: col: var: 2@ 750 750 0 0 0<> ?branch col: col: var: 750 750 0 0 - ;s con: write-file col: ?dup 750 750 0 0 - ;s con: write-file col: 750 750 0 0 - ;s con: write-file 750 750 0 0 + ;s 2@ var: 2@ d<> 750 750 0 0 + ;s 2@ var: 2@ 750 750 0 0 ! user: @ col: con: col: 750 750 0 0 ! user: @ col: con: 750 750 0 0 ! ;s user: @ lit col: 750 750 0 0 ! ;s user: @ lit 748 748 0 0 var: @ dup 0> ?branch lit 748 748 0 0 lshift ;s - col: col: col: 748 748 0 0 lshift ;s - col: col: 748 748 0 0 lshift ;s - col: 748 748 0 0 lshift ;s - 748 748 0 0 lit col: con: lshift ;s - 748 748 0 0 dup 0> ?branch lit col: con: 748 748 0 0 dup 0> ?branch lit col: 748 748 0 0 dup 0> ?branch lit 748 748 0 0 con: lshift ;s - col: col: 748 748 0 0 con: lshift ;s - col: 748 748 0 0 con: lshift ;s - 748 748 0 0 col: con: lshift ;s - col: 748 748 0 0 col: con: lshift ;s - 748 748 0 0 @ dup 0> ?branch lit col: 748 748 0 0 @ dup 0> ?branch lit 748 748 0 0 ?branch lit col: con: lshift ;s 748 748 0 0 ?branch lit col: con: lshift 748 748 0 0 ?branch lit col: con: 748 748 0 0 0> ?branch lit col: con: lshift 748 748 0 0 0> ?branch lit col: con: 748 748 0 0 0> ?branch lit col: 748 748 0 0 0> ?branch lit 746 746 0 0 lit (?do) unloop ;s col: ;s 746 746 0 0 lit (?do) unloop ;s col: 746 746 0 0 ;s lit (?do) unloop ;s col: 746 746 0 0 (?do) unloop ;s col: ;s var: 746 746 0 0 (?do) unloop ;s col: ;s 745 745 0 0 ;s over col: cell+ 745 736 9 0 ;s ;s col: r> /does-handler + 745 736 9 0 ;s ;s col: r> /does-handler 744 272 246 226 swap ! ;s ;s defer: 744 272 246 226 con: swap ! ;s ;s defer: 744 272 246 226 ;s col: lit lit ! user: 744 272 246 226 ;s ;s col: lit lit ! 744 272 246 226 ;s ;s col: lit lit 744 272 246 226 ! ;s ;s defer: 743 7 28 708 ;s + swap 743 154 193 396 over lit 742 742 0 0 col: con: col: col: col: user: 740 740 0 0 var: 2@ d<> ?branch ;s defer: 740 740 0 0 var: 2@ d<> ?branch ;s 740 740 0 0 d<> ?branch ;s defer: col: col: 740 740 0 0 d<> ?branch ;s defer: col: 740 740 0 0 d<> ?branch ;s defer: 740 740 0 0 d<> ?branch ;s 740 740 0 0 2@ var: 2@ d<> ?branch ;s 740 740 0 0 2@ d<> ?branch ;s defer: col: 740 740 0 0 2@ d<> ?branch ;s defer: 740 740 0 0 2@ d<> ?branch ;s 740 736 0 4 var: ! col: col: user: @ 740 736 0 4 var: ! col: col: user: 740 717 17 6 dup ?branch rdrop 740 656 61 23 um* d+ r> ;s (loop) count 740 656 61 23 r> ;s (loop) count col: user: 740 656 61 23 r> ;s (loop) count col: 740 656 61 23 r> ;s (loop) count 740 656 61 23 d+ r> ;s (loop) count col: 740 656 61 23 d+ r> ;s (loop) count 740 656 61 23 ;s (loop) count col: user: @ 740 656 61 23 ;s (loop) count col: user: 740 656 61 23 ;s (loop) count col: 740 656 61 23 ;s (loop) count 740 656 61 23 (loop) count col: user: @ lit 740 656 61 23 (loop) count col: user: @ 740 656 61 23 (loop) count col: user: 740 656 61 23 (loop) count col: 740 656 61 23 (loop) count 740 0 0 740 ;s ;s + @ ;s col: 740 0 0 740 ;s + @ ;s col: col: 740 0 0 740 ;s + @ ;s col: 739 739 0 0 swap col: ;s ! ;s 739 739 0 0 swap col: ;s ! 739 739 0 0 swap col: ;s 739 739 0 0 r> ;s over col: cell+ ;s 739 739 0 0 r> ;s over col: cell+ 739 739 0 0 r> ;s over col: 739 739 0 0 r> ;s over 739 739 0 0 over col: cell+ ;s ! con: 739 739 0 0 over col: cell+ ;s ! 739 739 0 0 over col: cell+ ;s 739 739 0 0 dup ?branch drop r> ;s over 739 739 0 0 dup ?branch drop r> ;s 739 739 0 0 drop r> ;s over col: cell+ 739 739 0 0 drop r> ;s over col: 739 739 0 0 drop r> ;s over 739 739 0 0 con: swap col: ;s ! ;s 739 739 0 0 con: swap col: ;s ! 739 739 0 0 con: swap col: ;s 739 739 0 0 con: swap col: 739 739 0 0 con: <> ?branch col: >r dup 739 739 0 0 con: <> ?branch col: >r 739 739 0 0 col: cell+ ;s @ dup ?branch 739 739 0 0 col: cell+ ;s ! con: swap 739 739 0 0 col: cell+ ;s ! con: 739 739 0 0 col: cell+ ;s ! 739 739 0 0 col: >r dup col: cell+ ;s 739 739 0 0 col: >r dup col: cell+ 739 739 0 0 col: >r dup col: 739 739 0 0 col: ;s ! ;s 739 739 0 0 col: ;s ! 739 739 0 0 cell+ ;s @ dup ?branch 739 739 0 0 cell+ ;s ! con: swap col: 739 739 0 0 cell+ ;s ! con: swap 739 739 0 0 cell+ ;s ! con: 739 739 0 0 @ con: <> ?branch col: >r 739 739 0 0 ?branch drop r> ;s over col: 739 739 0 0 ?branch drop r> ;s over 739 739 0 0 ?branch drop r> ;s 739 739 0 0 ?branch col: >r dup col: cell+ 739 739 0 0 ?branch col: >r dup col: 739 739 0 0 ?branch col: >r dup 739 739 0 0 ?branch col: >r 739 739 0 0 >r dup col: cell+ ;s @ 739 739 0 0 >r dup col: cell+ ;s 739 739 0 0 >r dup col: cell+ 739 739 0 0 <> ?branch col: >r dup col: 739 739 0 0 <> ?branch col: >r dup 739 739 0 0 <> ?branch col: >r 739 739 0 0 ;s over col: cell+ ;s ! 739 739 0 0 ;s over col: cell+ ;s 739 739 0 0 ;s @ dup ?branch 739 739 0 0 ;s ! con: swap col: ;s 739 739 0 0 ;s ! con: swap col: 739 739 0 0 ;s ! con: swap 739 739 0 0 ! con: swap col: ;s ! 739 739 0 0 ! con: swap col: ;s 739 739 0 0 ! con: swap col: 739 739 0 0 ! con: swap 739 0 739 0 ! ;s lp+2 738 738 0 0 swap user: ! col: 738 738 0 0 ;s swap user: ! col: 738 738 0 0 ;s ;s swap user: ! col: 738 736 0 2 user: @ ;s @ ;s var: 738 736 0 2 @ ;s @ ;s var: 738 736 0 2 ;s @ ;s var: 737 736 1 0 ;s ! ;s ;s col: col: 737 736 0 1 @ ;s var: ! col: col: 737 736 0 1 @ ;s var: ! col: 737 736 0 1 ;s var: ! col: col: user: 737 152 191 394 over lit + = ?branch 737 152 191 394 over lit + = 737 152 191 394 over lit + 737 152 191 394 lit and + faligned over lit 737 152 191 394 lit and + faligned over 737 152 191 394 lit + = ?branch 737 152 191 394 lit + = 737 152 191 394 i - count lit and + 737 152 191 394 i - count lit and 737 152 191 394 i - count lit 737 152 191 394 i - count 737 152 191 394 faligned over lit + = ?branch 737 152 191 394 faligned over lit + = 737 152 191 394 faligned over lit + 737 152 191 394 faligned over lit 737 152 191 394 faligned over 737 152 191 394 dup i - count lit and 737 152 191 394 dup i - count lit 737 152 191 394 dup i - count 737 152 191 394 dup i - 737 152 191 394 count lit and + faligned over 737 152 191 394 and + faligned over lit + 737 152 191 394 and + faligned over lit 737 152 191 394 and + faligned over 737 152 191 394 - count lit and + faligned 737 152 191 394 - count lit and + 737 152 191 394 - count lit and 737 152 191 394 - count lit 737 152 191 394 - count 737 152 191 394 + faligned over lit + = 737 152 191 394 + faligned over lit + 737 152 191 394 + faligned over lit 737 152 191 394 + faligned over 737 152 191 394 + = ?branch 737 152 191 394 + = 736 736 0 0 var: @ col: var: ! ;s 736 736 0 0 var: @ col: var: ! 736 736 0 0 var: @ ;s var: ! col: 736 736 0 0 var: ! col: col: var: dup 736 736 0 0 var: ! col: col: var: 736 736 0 0 var: ! ;s var: @ col: 736 736 0 0 var: ! ;s var: @ 736 736 0 0 var: ! ;s ;s col: r> 736 736 0 0 var: ! ;s ;s col: defer: 736 736 0 0 user: @ ;s @ ;s tuck 736 736 0 0 unloop ;s ;s swap user: ! 736 736 0 0 unloop ;s ;s swap user: 736 736 0 0 unloop ;s ;s swap 736 736 0 0 tuck swap ! col: con: col: 736 736 0 0 tuck swap ! col: con: 736 736 0 0 tuck swap ! col: 736 736 0 0 tuck swap ! 736 736 0 0 tuck swap 736 736 0 0 swap user: ! col: col: var: 736 736 0 0 swap user: ! col: col: 736 736 0 0 swap col: cell+ ;s @ lit 736 736 0 0 swap col: cell+ ;s @ 736 736 0 0 swap col: cell+ ;s 736 736 0 0 swap ! col: con: col: col: 736 736 0 0 swap ! col: con: col: 736 736 0 0 swap ! col: con: 736 736 0 0 rdrop ;s var: ! ;s var: 736 736 0 0 lit <> and ;s ?branch drop 736 736 0 0 lit <> and ;s ?branch 736 736 0 0 lit <> and ;s 736 736 0 0 lit <> and 736 736 0 0 dup col: dup cell+ @ col: 736 736 0 0 dup col: dup cell+ @ 736 736 0 0 dup col: dup cell+ 736 736 0 0 dup cell+ @ col: dup col: 736 736 0 0 dup cell+ @ col: dup 736 736 0 0 dup cell+ @ col: 736 736 0 0 dup cell+ @ 736 736 0 0 dup ?branch dup col: dup cell+ 736 736 0 0 dup ?branch dup col: dup 736 736 0 0 drop ;s branch @ dup ?branch 736 736 0 0 drop ;s branch @ dup 736 736 0 0 drop ;s branch @ 736 736 0 0 con: = swap col: cell+ ;s 736 736 0 0 con: = swap col: cell+ 736 736 0 0 con: = swap col: 736 736 0 0 con: = swap 736 736 0 0 col: dup col: ;s @ con: 736 736 0 0 col: dup col: ;s @ 736 736 0 0 col: dup col: ;s 736 736 0 0 col: dup cell+ @ col: dup 736 736 0 0 col: dup cell+ @ col: 736 736 0 0 col: dup cell+ @ 736 736 0 0 col: dup cell+ 736 736 0 0 col: col: var: @ ;s var: 736 736 0 0 col: cell+ ;s @ lit <> 736 736 0 0 col: cell+ ;s @ lit 736 736 0 0 col: ;s @ con: = swap 736 736 0 0 code-address! ;s ;s var: @ ?branch 736 736 0 0 code-address! ;s ;s var: @ 736 736 0 0 code-address! ;s ;s var: 736 736 0 0 cell+ @ col: dup col: ;s 736 736 0 0 cell+ @ col: dup col: 736 736 0 0 cell+ @ col: dup 736 736 0 0 cell+ ;s @ lit <> and 736 736 0 0 cell+ ;s @ lit <> 736 736 0 0 cell+ ;s @ lit 736 736 0 0 and ;s ?branch drop ;s branch 736 736 0 0 and ;s ?branch drop ;s 736 736 0 0 and ;s ?branch drop 736 736 0 0 and ;s ?branch 736 736 0 0 @ var: ! ;s ;s col: 736 736 0 0 @ lit <> and ;s ?branch 736 736 0 0 @ lit <> and ;s 736 736 0 0 @ lit <> and 736 736 0 0 @ lit <> 736 736 0 0 @ dup ?branch dup col: dup 736 736 0 0 @ con: = swap col: cell+ 736 736 0 0 @ con: = swap col: 736 736 0 0 @ con: = swap 736 736 0 0 @ col: var: ! ;s ;s 736 736 0 0 @ col: var: ! ;s 736 736 0 0 @ col: var: ! 736 736 0 0 @ col: dup col: ;s @ 736 736 0 0 @ col: dup col: ;s 736 736 0 0 @ col: dup col: 736 736 0 0 @ ;s var: @ col: col: 736 736 0 0 @ ;s var: @ col: 736 736 0 0 @ ;s var: @ 736 736 0 0 @ ;s tuck swap ! col: 736 736 0 0 @ ;s tuck swap ! 736 736 0 0 @ ;s tuck swap 736 736 0 0 @ ;s tuck 736 736 0 0 @ ;s @ ;s var: @ 736 736 0 0 @ ;s @ ;s tuck swap 736 736 0 0 @ ;s @ ;s tuck 736 736 0 0 ?branch dup col: dup cell+ @ 736 736 0 0 ?branch dup col: dup cell+ 736 736 0 0 ?branch dup col: dup 736 736 0 0 ?branch drop ;s branch @ dup 736 736 0 0 ?branch drop ;s branch @ 736 736 0 0 ?branch drop ;s branch 736 736 0 0 = swap col: cell+ ;s @ 736 736 0 0 = swap col: cell+ ;s 736 736 0 0 = swap col: cell+ 736 736 0 0 = swap col: 736 736 0 0 = swap 736 736 0 0 <> and ;s ?branch drop ;s 736 736 0 0 <> and ;s ?branch drop 736 736 0 0 <> and ;s ?branch 736 736 0 0 <> and ;s 736 736 0 0 ;s var: @ col: var: ! 736 736 0 0 ;s var: @ ?branch col: 736 736 0 0 ;s var: ! col: col: var: 736 736 0 0 ;s var: ! ;s var: @ 736 736 0 0 ;s var: ! ;s var: 736 736 0 0 ;s tuck swap ! col: con: 736 736 0 0 ;s tuck swap ! col: 736 736 0 0 ;s tuck swap ! 736 736 0 0 ;s tuck swap 736 736 0 0 ;s swap user: ! col: col: 736 736 0 0 ;s col: col: var: @ 1- 736 736 0 0 ;s code-address! ;s ;s var: @ 736 736 0 0 ;s code-address! ;s ;s var: 736 736 0 0 ;s @ lit <> and ;s 736 736 0 0 ;s @ lit <> and 736 736 0 0 ;s @ lit <> 736 736 0 0 ;s @ lit 736 736 0 0 ;s @ con: = swap col: 736 736 0 0 ;s @ con: = swap 736 736 0 0 ;s @ ;s var: @ col: 736 736 0 0 ;s @ ;s var: @ 736 736 0 0 ;s @ ;s tuck swap ! 736 736 0 0 ;s @ ;s tuck swap 736 736 0 0 ;s @ ;s tuck 736 736 0 0 ;s ?branch drop ;s branch @ 736 736 0 0 ;s ?branch drop ;s branch 736 736 0 0 ;s ?branch drop ;s 736 736 0 0 ;s ;s var: @ ?branch col: 736 736 0 0 ;s ;s col: defer: defer: col: 736 736 0 0 ;s ;s col: defer: defer: 736 736 0 0 ;s ! ;s var: ! col: 736 736 0 0 ;s ! ;s var: ! 736 736 0 0 +! ;s ! ;s var: ! 736 736 0 0 ! ;s var: @ col: var: 736 736 0 0 ! ;s var: ! col: col: 736 736 0 0 ! ;s var: ! col: 736 736 0 0 ! ;s var: ! 736 736 0 0 ! ;s con: col: col: defer: 736 736 0 0 ! ;s code-address! ;s ;s var: 736 736 0 0 ! ;s ;s col: r> /does-handler 736 736 0 0 ! ;s ;s col: defer: defer: 736 0 11 725 execute col: >r 735 735 0 0 branch @ dup ?branch dup col: 735 735 0 0 branch @ dup ?branch dup 735 735 0 0 ;s branch @ dup ?branch dup 735 0 735 0 ;s ?branch @local1 col: 732 0 0 732 @ ;s ;s + ;s c@ 732 0 0 732 ;s ;s + ;s c@ 732 0 0 732 ;s + ;s c@ 732 0 0 732 ! ;s ;s does: @ 732 0 0 732 ! ;s ;s does: 730 0 730 0 ?branch @local0 @local1 col: >l >l 730 0 730 0 ?branch @local0 @local1 col: >l 730 0 730 0 ?branch @local0 @local1 col: 730 0 730 0 ?branch @local0 @local1 730 0 730 0 ;s lp+2 ;s lp+ branch >l 730 0 730 0 ;s lp+2 ;s lp+ branch 729 0 729 0 col: 0= ;s ?branch @local1 col: 729 0 729 0 col: 0= ;s ?branch @local1 729 0 729 0 ?branch @local1 col: col: col: user: 729 0 729 0 ?branch @local1 col: col: col: 729 0 729 0 ?branch @local1 col: col: 729 0 729 0 ;s lp+2 branch >l lp- @local1 729 0 729 0 ;s lp+2 branch >l lp- 729 0 729 0 ;s lp+2 branch >l 729 0 729 0 ;s lp+2 branch 729 0 729 0 ;s lp+ ;s col: 729 0 729 0 ;s col: 0= ;s ?branch @local1 729 0 729 0 ;s ?branch @local1 col: col: col: 729 0 729 0 ;s ?branch @local1 col: col: 729 0 729 0 ;s +! ;s ! ;s lp+2 729 0 729 0 ;s ! ;s lp+2 branch >l 729 0 729 0 ;s ! ;s lp+2 branch 729 0 729 0 ;s ! ;s lp+2 729 0 729 0 0= ;s ?branch @local1 col: col: 729 0 729 0 0= ;s ?branch @local1 col: 729 0 729 0 0= ;s ?branch @local1 729 0 729 0 +! ;s ! ;s lp+2 branch 729 0 729 0 +! ;s ! ;s lp+2 729 0 729 0 ! ;s lp+2 branch >l lp- 729 0 729 0 ! ;s lp+2 branch >l 729 0 729 0 ! ;s lp+2 branch 726 0 726 0 user: @ ;s +! ;s @local0 726 0 726 0 lp- @local1 ?branch drop lit col: 726 0 726 0 lp- @local1 ?branch drop lit 726 0 726 0 lp+2 ;s lit cells col: col: 726 0 726 0 lp+2 ;s lit cells col: 726 0 726 0 lp+2 ;s lit cells 726 0 726 0 lp+!# ;s ?branch @local0 @local1 col: 726 0 726 0 lp+!# ;s ?branch @local0 @local1 726 0 726 0 drop lp+2 ;s lit cells col: 726 0 726 0 drop lp+2 ;s lit cells 726 0 726 0 drop lp+2 ;s lit 726 0 726 0 drop lp+2 ;s 726 0 726 0 drop lp+2 726 0 726 0 drop lit col: col: col: user: 726 0 726 0 drop lit col: col: col: 726 0 726 0 drop lit col: col: 726 0 726 0 con: lp+!# ;s ?branch @local0 @local1 726 0 726 0 @local1 col: >l >l @local1 col: 726 0 726 0 @local1 col: >l >l @local1 726 0 726 0 @local1 ?branch drop lit col: col: 726 0 726 0 @local1 ?branch drop lit col: 726 0 726 0 @local1 ?branch drop lit 726 0 726 0 @local0 @local1 col: >l >l @local1 726 0 726 0 @ ;s @local1 >l lp- @local1 726 0 726 0 @ ;s @local1 >l lp- 726 0 726 0 @ ;s @local1 >l 726 0 726 0 @ ;s @ ;s @local1 >l 726 0 726 0 @ ;s +! ;s @local0 >l 726 0 726 0 @ ;s +! ;s @local0 726 0 726 0 ?branch-lp+!# drop lp+2 ;s lit cells 726 0 726 0 ?branch-lp+!# drop lp+2 ;s lit 726 0 726 0 ?branch-lp+!# drop lp+2 ;s 726 0 726 0 ?branch-lp+!# drop lp+2 726 0 726 0 ?branch-lp+!# drop 726 0 726 0 ?branch drop lit col: col: col: 726 0 726 0 ?branch drop lit col: col: 726 0 726 0 >l lp- @local1 ?branch drop lit 726 0 726 0 >l @local1 col: >l lp- col: 726 0 726 0 ;s lp+!# ;s lp+ ;s 726 0 726 0 ;s lp+!# ;s lp+ 726 0 726 0 ;s lp+!# ;s 726 0 726 0 ;s lp+!# 726 0 726 0 ;s @local1 >l lp- @local1 col: 726 0 726 0 ;s @local1 >l lp- @local1 726 0 726 0 ;s @local1 >l lp- 726 0 726 0 ;s @local1 >l 726 0 726 0 ;s @local0 >l lp- @local1 col: 726 0 726 0 ;s @local0 >l lp- @local1 726 0 726 0 ;s @local0 >l lp- 726 0 726 0 ;s @local0 >l 726 0 726 0 ;s @ ;s @local1 >l lp- 726 0 726 0 ;s @ ;s @local1 >l 726 0 726 0 ;s ?branch @local0 @local1 col: >l 726 0 726 0 ;s ?branch @local0 @local1 col: 726 0 726 0 ;s ?branch @local0 @local1 726 0 726 0 ;s 0= ?branch-lp+!# drop lp+2 ;s 726 0 726 0 ;s 0= ?branch-lp+!# drop lp+2 726 0 726 0 ;s 0= ?branch-lp+!# drop 726 0 726 0 ;s +! ;s @local0 >l lp- 726 0 726 0 ;s +! ;s @local0 >l 726 0 726 0 ;s +! ;s @local0 726 0 726 0 ;s +! ;s ! ;s lp+!# 726 0 726 0 ;s ! ;s lp+!# ;s lp+ 726 0 726 0 ;s ! ;s lp+!# ;s 726 0 726 0 ;s ! ;s lp+!# 726 0 726 0 ;s ! ;s 0= ?branch-lp+!# drop 726 0 726 0 0= ?branch-lp+!# drop lp+2 ;s lit 726 0 726 0 0= ?branch-lp+!# drop lp+2 ;s 726 0 726 0 0= ?branch-lp+!# drop lp+2 726 0 726 0 0= ?branch-lp+!# drop 726 0 726 0 +! ;s @local0 >l lp- @local1 726 0 726 0 +! ;s @local0 >l lp- 726 0 726 0 +! ;s @local0 >l 726 0 726 0 +! ;s @local0 726 0 726 0 +! ;s ! ;s lp+!# ;s 726 0 726 0 +! ;s ! ;s lp+!# 726 0 726 0 ! ;s lp+!# ;s lp+ ;s 726 0 726 0 ! ;s lp+!# ;s lp+ 726 0 726 0 ! ;s lp+!# ;s 726 0 726 0 ! ;s lp+!# 726 0 726 0 ! ;s 0= ?branch-lp+!# drop lp+2 726 0 726 0 ! ;s 0= ?branch-lp+!# drop 725 725 0 0 dup ?branch ;s ?branch drop 725 725 0 0 ?branch ;s dup ?branch ;s ?branch 725 725 0 0 ?branch ;s ?branch drop 725 725 0 0 ;s dup ?branch ;s ?branch drop 724 724 0 0 user: ! col: user: @ col: 724 724 0 0 user: ! col: user: @ 724 724 0 0 user: ! col: user: 724 724 0 0 dup ?branch ;s ?branch drop user: 724 724 0 0 drop user: ! col: user: @ 724 724 0 0 drop user: ! col: user: 724 724 0 0 drop user: ! col: 724 724 0 0 drop user: ! 724 724 0 0 ?branch drop user: ! col: user: 724 724 0 0 ?branch drop user: ! col: 724 724 0 0 ?branch drop user: ! 724 724 0 0 ?branch ;s ?branch drop user: ! 724 724 0 0 ?branch ;s ?branch drop user: 724 724 0 0 ;s ?branch drop user: ! col: 724 724 0 0 ;s ?branch drop user: ! 724 724 0 0 ;s ?branch drop user: 724 724 0 0 ! col: user: @ col: col: 724 724 0 0 ! col: user: @ col: 724 724 0 0 ! col: user: @ 724 724 0 0 ! col: user: 724 226 282 216 nip nip execute col: defer: defer: 724 226 282 216 nip execute col: defer: defer: col: 724 226 282 216 nip execute col: defer: defer: 724 226 282 216 execute col: defer: defer: col: col: 724 226 282 216 execute col: defer: defer: col: 724 226 282 216 execute col: defer: defer: 724 0 724 0 lp+!# ;s lp+2 ;s lp+ 722 1 3 718 (+loop) i col: 722 1 3 718 (+loop) i 717 0 0 717 con: (+loop) i col: 717 0 0 717 con: (+loop) i 717 0 0 717 ;s con: (+loop) i col: 717 0 0 717 ;s con: (+loop) i 716 0 0 716 con: (+loop) unloop ;s var: 716 0 0 716 ;s con: (+loop) unloop ;s var: 716 0 0 716 (+loop) unloop ;s var: 715 0 0 715 ;s ?branch branch 714 579 135 0 ! var: col: con: swap ! 714 579 135 0 ! var: col: con: swap 714 579 135 0 ! var: col: con: 714 579 135 0 ! var: col: 714 420 63 231 swap col: col: 713 0 5 708 ?branch execute var: 713 0 0 713 @ ! ;s ;s does: @ 713 0 0 713 @ ! ;s ;s does: 713 0 0 713 +! @ ! ;s ;s does: 712 0 0 712 lit and ?branch ;s ;s ?branch 712 0 0 712 and ?branch ;s ;s ?branch execute 712 0 0 712 and ?branch ;s ;s ?branch 712 0 0 712 ?branch ;s ;s ?branch execute 712 0 0 712 ?branch ;s ;s ?branch 712 0 0 712 ;s ?branch execute 712 0 0 712 ;s ;s ?branch execute 711 8 19 684 var: @ lit 708 0 0 708 var: @ over - ;s lit 708 0 0 708 rdrop ;s con: (+loop) 708 0 0 708 rdrop ;s ;s con: (+loop) 708 0 0 708 pick does: @ + ;s 2! 708 0 0 708 pick does: @ + ;s 708 0 0 708 pick does: @ + 708 0 0 708 pick does: @ 708 0 0 708 pick does: 708 0 0 708 over - ;s lit pick does: 708 0 0 708 over - ;s lit pick 708 0 0 708 over - ;s lit 708 0 0 708 lit pick does: @ + ;s 708 0 0 708 lit pick does: @ + 708 0 0 708 lit pick does: @ 708 0 0 708 lit pick does: 708 0 0 708 i col: >r swap dup r@ 708 0 0 708 i col: >r swap dup 708 0 0 708 i col: >r swap 708 0 0 708 i col: >r 708 0 0 708 dup does: @ + ;s @ 708 0 0 708 does: @ + @ ;s execute 708 0 0 708 does: @ + ;s 2! con: 708 0 0 708 does: @ + ;s 2! 708 0 0 708 con: + ;s lit col: col: 708 0 0 708 con: + ;s lit col: 708 0 0 708 con: + ;s lit 708 0 0 708 col: >r swap dup r@ does: 708 0 0 708 col: >r swap dup r@ 708 0 0 708 col: >r swap dup 708 0 0 708 col: >r swap 708 0 0 708 @ over - ;s lit pick 708 0 0 708 @ over - ;s lit 708 0 0 708 @ ;s execute col: >r 708 0 0 708 @ ;s execute col: 708 0 0 708 @ ;s execute 708 0 0 708 @ ;s + swap dup r@ 708 0 0 708 @ ;s + swap dup 708 0 0 708 @ ;s + swap 708 0 0 708 @ ;s + rdrop ;s con: 708 0 0 708 @ ;s + rdrop ;s 708 0 0 708 @ ;s + rdrop 708 0 0 708 @ + @ ;s execute col: 708 0 0 708 @ + @ ;s execute 708 0 0 708 @ + @ ;s + swap 708 0 0 708 @ + @ ;s + rdrop 708 0 0 708 @ + ;s 2! con: + 708 0 0 708 @ + ;s 2! con: 708 0 0 708 @ + ;s 2! 708 0 0 708 ?branch branch lit col: col: var: 708 0 0 708 ?branch branch lit col: col: 708 0 0 708 ?branch branch lit col: 708 0 0 708 ?branch branch lit 708 0 0 708 ?branch ;s ;s ?branch execute var: 708 0 0 708 >r swap dup r@ does: @ 708 0 0 708 >r swap dup r@ does: 708 0 0 708 >r swap dup r@ 708 0 0 708 >r swap dup 708 0 0 708 ;s lit pick does: @ + 708 0 0 708 ;s lit pick does: @ 708 0 0 708 ;s lit pick does: 708 0 0 708 ;s execute col: >r 708 0 0 708 ;s execute col: 708 0 0 708 ;s ?branch execute var: 708 0 0 708 ;s ?branch branch lit col: col: 708 0 0 708 ;s ?branch branch lit col: 708 0 0 708 ;s ?branch branch lit 708 0 0 708 ;s ;s con: (+loop) 708 0 0 708 ;s ;s ?branch execute var: 708 0 0 708 ;s ;s ?branch branch lit col: 708 0 0 708 ;s ;s ?branch branch lit 708 0 0 708 ;s ;s ?branch branch 708 0 0 708 ;s 2! con: + ;s lit 708 0 0 708 ;s 2! con: + ;s 708 0 0 708 ;s 2! con: + 708 0 0 708 ;s 2! con: 708 0 0 708 ;s + swap dup r@ does: 708 0 0 708 ;s + swap dup r@ 708 0 0 708 ;s + swap dup 708 0 0 708 ;s + rdrop ;s con: (+loop) 708 0 0 708 ;s + rdrop ;s con: 708 0 0 708 ;s + rdrop ;s 708 0 0 708 ;s + rdrop 708 0 0 708 2! con: + ;s lit col: 708 0 0 708 2! con: + ;s lit 708 0 0 708 2! con: + ;s 708 0 0 708 2! con: + 708 0 0 708 2! con: 708 0 0 708 0= ;s ;s ?branch branch lit 708 0 0 708 0= ;s ;s ?branch branch 708 0 0 708 0= 0= ;s ;s ?branch branch 708 0 0 708 - ;s lit pick does: @ 708 0 0 708 - ;s lit pick does: 708 0 0 708 - ;s lit pick 708 0 0 708 - ;s lit 708 0 0 708 + swap dup r@ does: @ 708 0 0 708 + swap dup r@ does: 708 0 0 708 + swap dup r@ 708 0 0 708 + swap dup 708 0 0 708 + rdrop ;s con: (+loop) 708 0 0 708 + rdrop ;s con: 708 0 0 708 + rdrop ;s 708 0 0 708 + rdrop 708 0 0 708 + @ ;s execute col: >r 708 0 0 708 + @ ;s execute col: 708 0 0 708 + @ ;s execute 708 0 0 708 + @ ;s + swap dup 708 0 0 708 + @ ;s + swap 708 0 0 708 + @ ;s + rdrop ;s 708 0 0 708 + @ ;s + rdrop 708 0 0 708 + ;s lit col: col: var: 708 0 0 708 + ;s lit col: col: 708 0 0 708 + ;s lit col: 708 0 0 708 + ;s lit 708 0 0 708 + ;s 2! con: + ;s 708 0 0 708 + ;s 2! con: + 708 0 0 708 + ;s 2! con: 708 0 0 708 + ;s 2! 707 692 14 1 ;s ;s ;s dup col: 706 706 0 0 cell+ ;s @ dup ?branch drop 706 706 0 0 @ dup ?branch drop r> ;s 706 706 0 0 @ dup ?branch drop r> 706 706 0 0 ;s @ dup ?branch drop r> 706 706 0 0 ;s @ dup ?branch drop 703 172 294 237 con: @ col: 703 172 294 237 con: @ 703 0 0 703 unloop ;s col: var: 695 16 25 654 (?do) dup 694 0 694 0 lp+!# ;s lp+2 ;s lp+ branch 694 0 694 0 lp+!# ;s lp+ ;s @local3 lit 694 0 694 0 lp+!# ;s lp+ ;s @local3 694 0 694 0 ;s lp+!# ;s lp+ ;s @local3 694 0 694 0 ;s lp+ ;s @local3 lit col: 694 0 694 0 ;s lp+ ;s @local3 lit 694 0 694 0 2drop lp+!# ;s lp+2 ;s lp+ 694 0 0 694 cr rdrop ;s ;s con: (+loop) 694 0 0 694 cr rdrop ;s ;s con: 694 0 0 694 cr rdrop ;s ;s 694 0 0 694 cr rdrop ;s 694 0 0 694 cr rdrop 694 0 0 694 ;s cr rdrop ;s ;s con: 694 0 0 694 ;s cr rdrop ;s ;s 694 0 0 694 ;s cr rdrop ;s 694 0 0 694 ;s cr rdrop 693 693 0 0 ;s dup col: ;s 693 0 0 693 execute col: >r r@ 693 0 0 693 @ ;s execute col: >r r@ 693 0 0 693 ;s execute col: >r r@ 692 692 0 0 var: @ ?branch col: col: user: 692 692 0 0 @ ?branch col: col: user: @ 692 692 0 0 @ ?branch col: col: user: 692 692 0 0 ?branch col: col: user: @ ;s 692 692 0 0 ?branch col: col: user: @ 692 692 0 0 ?branch col: col: user: 692 692 0 0 ;s var: @ ?branch col: col: 690 27 15 648 unloop ;s dup 688 32 14 642 ;s ;s var: @ col: col: 688 32 14 642 ;s ;s var: @ col: 681 4 2 675 (loop) unloop drop 680 17 663 0 ?branch lit cells 680 17 663 0 = ?branch lit cells 679 14 50 615 >r con: 678 0 454 224 = ?branch drop con: 677 1 0 676 ;s 0= ?branch col: 676 0 29 647 defer: (type) col: lit 676 0 29 647 ;s defer: (type) col: 676 0 29 647 (type) col: lit 676 0 0 676 ;s ;s 0= ?branch col: col: 676 0 0 676 ;s ;s 0= ?branch col: 676 0 0 676 ;s 0= ?branch col: col: var: 676 0 0 676 ;s 0= ?branch col: col: 676 0 0 676 0= ?branch col: col: var: @ 676 0 0 676 0= ?branch col: col: var: 676 0 0 676 0= ;s ;s 0= ?branch col: 675 443 180 52 <> col: col: r> r> dup 675 443 180 52 <> col: col: r> r> 675 443 180 52 <> col: col: r> 675 443 180 52 <> col: col: 675 443 180 52 <> col: 673 0 0 673 var: @ lit (do) 673 0 0 673 @ lit (do) 672 0 672 0 lp+2 ;s 0= ?branch @local1 field: 672 0 672 0 lp+2 ;s 0= ?branch @local1 672 0 672 0 con: lp+2 ;s 0= ?branch @local1 672 0 672 0 ;s 0= ?branch @local1 field: @ 672 0 672 0 ;s 0= ?branch @local1 field: 672 0 672 0 ;s 0= ?branch @local1 672 0 672 0 0= ?branch @local1 field: @ @local1 672 0 672 0 0= ?branch @local1 field: @ 672 0 672 0 0= ?branch @local1 field: 672 0 672 0 0= ?branch @local1 670 670 0 0 ;s (loop) unloop ;s ;s user: 670 670 0 0 (loop) unloop ;s ;s user: ! 670 670 0 0 (loop) unloop ;s ;s user: 670 14 14 642 ;s ! ;s ;s var: @ 670 14 14 642 ! ;s ;s var: @ col: 666 21 18 627 var: ;s 666 0 0 666 ;s +! ;s ! ;s cell+ 666 0 0 666 ;s ! ;s cell+ 666 0 0 666 +! ;s ! ;s cell+ 666 0 0 666 ! ;s cell+ 665 651 13 1 / ;s 664 0 191 473 drop col: col: 663 0 663 0 over = ?branch lit cells over 663 0 663 0 over = ?branch lit cells 663 0 663 0 lit cells over = ?branch 663 0 663 0 lit cells over = 663 0 663 0 lit cells over 663 0 663 0 cells over = ?branch 663 0 663 0 cells over = 663 0 663 0 ?branch lit cells over = ?branch 663 0 663 0 ?branch lit cells over = 663 0 663 0 ?branch lit cells over 663 0 663 0 = ?branch lit cells over = 663 0 663 0 = ?branch lit cells over 662 650 12 0 user: @ swap - con: / 662 650 12 0 user: @ swap - con: 662 650 12 0 swap - con: / ;s 662 650 12 0 swap - con: / 662 650 12 0 swap - con: 662 650 12 0 sp@ user: @ swap - con: 662 650 12 0 sp@ user: @ swap - 662 650 12 0 sp@ user: @ swap 662 650 12 0 con: / ;s 662 650 12 0 col: sp@ user: @ swap - 662 650 12 0 col: sp@ user: @ swap 662 650 12 0 @ swap - con: / ;s 662 650 12 0 @ swap - con: / 662 650 12 0 @ swap - con: 662 650 12 0 ;s col: sp@ user: @ swap 662 650 12 0 ;s col: sp@ user: @ 662 650 12 0 ;s col: sp@ user: 662 650 12 0 ;s col: sp@ 662 650 12 0 - con: / ;s 662 650 12 0 - con: / 658 230 423 5 nip nip execute does: 658 230 423 5 nip execute does: 658 230 423 5 ?branch nip nip execute does: 657 10 0 647 ;s 2@ 2dup 657 10 0 647 2@ 2dup 657 10 0 647 + ;s 2@ 2dup 655 165 293 197 = ?branch con: 654 17 0 637 drop swap 653 213 244 196 con: col: lit 653 0 0 653 var: @ lit (do) >r over 653 0 0 653 var: @ lit (do) >r 653 0 0 653 unloop drop 2drop 653 0 0 653 swap r> (loop) unloop drop 2drop 653 0 0 653 swap r> (loop) unloop drop 653 0 0 653 swap r> (loop) unloop 653 0 0 653 swap cell+ swap r> (loop) unloop 653 0 0 653 r> (loop) unloop drop 2drop 653 0 0 653 r> (loop) unloop drop 653 0 0 653 r> (loop) unloop 653 0 0 653 lit (do) >r over @ over 653 0 0 653 lit (do) >r over @ 653 0 0 653 lit (do) >r over 653 0 0 653 lit (do) >r 653 0 0 653 cell+ swap r> (loop) unloop drop 653 0 0 653 cell+ swap r> (loop) unloop 653 0 0 653 @ lit (do) >r over @ 653 0 0 653 @ lit (do) >r over 653 0 0 653 @ lit (do) >r 653 0 0 653 (loop) unloop drop 2drop 653 0 0 653 (do) >r over @ over @ 653 0 0 653 (do) >r over @ over 653 0 0 653 (do) >r over @ 653 0 0 653 (do) >r over 653 0 0 653 (do) >r 652 212 244 196 con: col: lit lit ! user: 652 212 244 196 con: col: lit lit ! 652 212 244 196 con: col: lit lit 652 212 244 196 code-address! ;s con: col: lit lit 652 212 244 196 code-address! ;s con: col: lit 652 212 244 196 code-address! ;s con: col: 652 212 244 196 code-address! ;s con: 652 212 244 196 c! ;s ;s col: lit >code-address 652 212 244 196 ;s con: col: lit lit ! 652 212 244 196 ;s con: col: lit lit 652 212 244 196 ;s con: col: lit 652 212 244 196 ;s code-address! ;s con: col: lit 652 212 244 196 ;s code-address! ;s con: col: 652 212 244 196 ;s code-address! ;s con: 652 212 244 196 ;s ! ;s code-address! ;s con: 652 212 244 196 ! ;s code-address! ;s con: col: 652 212 244 196 ! ;s code-address! ;s con: 651 644 0 7 var: cell+ 650 650 0 0 ;s ;s col: sp@ user: @ 650 650 0 0 ;s ;s col: sp@ user: 650 650 0 0 ;s ;s col: sp@ 650 150 206 294 +! ;s ! ;s ;s ;s 650 1 1 648 2@ col: col: 649 631 0 18 ?branch col: var: col: 647 0 0 647 var: nip unloop ;s dup r> 647 0 0 647 var: nip unloop ;s dup 647 0 0 647 var: nip unloop ;s 647 0 0 647 var: nip unloop 647 0 0 647 var: nip 647 0 0 647 unloop drop ;s ;s defer: (type) 647 0 0 647 unloop drop ;s ;s defer: 647 0 0 647 unloop ;s dup r> does: @ 647 0 0 647 unloop ;s dup r> does: 647 0 0 647 unloop ;s dup r> 647 0 0 647 swap (?do) dup i con: col: 647 0 0 647 swap (?do) dup i con: 647 0 0 647 swap (?do) dup i 647 0 0 647 swap (?do) dup 647 0 0 647 r> does: @ + ;s ! 647 0 0 647 r> does: @ + ;s 647 0 0 647 r> does: @ + 647 0 0 647 r> does: @ 647 0 0 647 nip unloop ;s dup r> does: 647 0 0 647 nip unloop ;s dup r> 647 0 0 647 nip unloop ;s dup 647 0 0 647 move lit lit ! ;s dup 647 0 0 647 lit swap (?do) dup i con: 647 0 0 647 lit swap (?do) dup i 647 0 0 647 lit swap (?do) dup 647 0 0 647 lit swap (?do) 647 0 0 647 lit lit ! ;s dup col: 647 0 0 647 lit lit ! ;s dup 647 0 0 647 lit ! ;s dup col: col: 647 0 0 647 lit ! ;s dup col: 647 0 0 647 lit ! ;s dup 647 0 0 647 execute var: nip unloop ;s dup 647 0 0 647 execute var: nip unloop ;s 647 0 0 647 execute var: nip unloop 647 0 0 647 execute var: nip 647 0 0 647 dup r> does: @ + ;s 647 0 0 647 dup r> does: @ + 647 0 0 647 dup r> does: @ 647 0 0 647 dup r> does: 647 0 0 647 dup col: col: defer: defer: col: 647 0 0 647 dup col: col: defer: defer: 647 0 0 647 dup col: col: defer: 647 0 0 647 dup ?branch ;s ?branch dup does: 647 0 0 647 dup ?branch ;s ?branch dup 647 0 0 647 dup >r does: @ + ;s 647 0 0 647 dup >r does: @ + 647 0 0 647 dup >r does: @ 647 0 0 647 dup >r does: 647 0 0 647 drop ;s ;s defer: (type) col: 647 0 0 647 drop ;s ;s defer: (type) 647 0 0 647 drop ;s ;s defer: 647 0 0 647 does: @ + ;s 2@ col: 647 0 0 647 does: @ + ;s 2@ 2dup 647 0 0 647 does: @ + ;s ! does: 647 0 0 647 defer: (type) col: lit does: swap 647 0 0 647 defer: (type) col: lit does: 647 0 0 647 defer: (type) ;s cr ;s con: 647 0 0 647 cr ;s con: (+loop) 647 0 0 647 cr ;s con: 647 0 0 647 col: lit swap (?do) dup i 647 0 0 647 col: lit swap (?do) dup 647 0 0 647 col: lit swap (?do) 647 0 0 647 @ + ;s 2@ col: col: 647 0 0 647 @ + ;s 2@ col: 647 0 0 647 @ + ;s 2@ 2dup col: 647 0 0 647 @ + ;s 2@ 2dup 647 0 0 647 @ + ;s ! does: @ 647 0 0 647 @ + ;s ! does: 647 0 0 647 ?branch execute var: nip unloop ;s 647 0 0 647 ?branch execute var: nip unloop 647 0 0 647 ?branch execute var: nip 647 0 0 647 ?branch dup does: @ + ;s 647 0 0 647 ?branch dup does: @ + 647 0 0 647 ?branch dup does: @ 647 0 0 647 ?branch dup does: 647 0 0 647 ?branch ;s ?branch dup does: @ 647 0 0 647 ?branch ;s ?branch dup does: 647 0 0 647 ?branch ;s ?branch dup 647 0 0 647 >r does: @ + ;s 2@ 647 0 0 647 >r does: @ + ;s 647 0 0 647 >r does: @ + 647 0 0 647 >r does: @ 647 0 0 647 >r does: 647 0 0 647 ;s dup r> does: @ + 647 0 0 647 ;s dup r> does: @ 647 0 0 647 ;s dup r> does: 647 0 0 647 ;s dup r> 647 0 0 647 ;s dup col: col: defer: defer: 647 0 0 647 ;s dup col: col: defer: 647 0 0 647 ;s dup ?branch ;s ?branch dup 647 0 0 647 ;s dup >r does: @ + 647 0 0 647 ;s dup >r does: @ 647 0 0 647 ;s dup >r does: 647 0 0 647 ;s dup >r 647 0 0 647 ;s defer: (type) col: col: r> 647 0 0 647 ;s defer: (type) col: col: 647 0 0 647 ;s cr ;s con: (+loop) 647 0 0 647 ;s cr ;s con: 647 0 0 647 ;s ?branch execute var: nip unloop 647 0 0 647 ;s ?branch execute var: nip 647 0 0 647 ;s ?branch dup does: @ + 647 0 0 647 ;s ?branch dup does: @ 647 0 0 647 ;s ?branch dup does: 647 0 0 647 ;s ;s dup >r does: @ 647 0 0 647 ;s ;s dup >r does: 647 0 0 647 ;s ;s dup >r 647 0 0 647 ;s ;s defer: (type) col: col: 647 0 0 647 ;s ;s defer: (type) col: 647 0 0 647 ;s ;s defer: (type) 647 0 0 647 ;s ;s ?branch execute var: nip 647 0 0 647 ;s 2@ defer: (type) col: lit 647 0 0 647 ;s 2@ col: col: dup lit 647 0 0 647 ;s 2@ col: col: dup 647 0 0 647 ;s 2@ col: col: 647 0 0 647 ;s 2@ col: 647 0 0 647 ;s 2@ 2dup col: lit swap 647 0 0 647 ;s 2@ 2dup col: lit 647 0 0 647 ;s 2@ 2dup col: 647 0 0 647 ;s ! does: @ + ;s 647 0 0 647 ;s ! does: @ + 647 0 0 647 ;s ! ;s ;s dup >r 647 0 0 647 2dup col: lit swap (?do) dup 647 0 0 647 2dup col: lit swap (?do) 647 0 0 647 2dup col: lit swap 647 0 0 647 2@ defer: (type) col: lit does: 647 0 0 647 2@ defer: (type) col: lit 647 0 0 647 2@ col: col: dup lit u> 647 0 0 647 2@ col: col: dup lit 647 0 0 647 2@ col: col: dup 647 0 0 647 2@ 2dup col: lit swap (?do) 647 0 0 647 2@ 2dup col: lit swap 647 0 0 647 2@ 2dup col: lit 647 0 0 647 2@ 2dup col: 647 0 0 647 +! ;s ! ;s ;s dup 647 0 0 647 + ;s 2@ col: col: dup 647 0 0 647 + ;s 2@ col: col: 647 0 0 647 + ;s 2@ col: 647 0 0 647 + ;s 2@ 2dup col: lit 647 0 0 647 + ;s 2@ 2dup col: 647 0 0 647 + ;s ! does: @ + 647 0 0 647 (type) col: lit does: swap lit 647 0 0 647 (type) col: lit does: swap 647 0 0 647 (type) col: lit does: 647 0 0 647 (type) ;s cr ;s con: (+loop) 647 0 0 647 (type) ;s cr ;s con: 647 0 0 647 (?do) dup i con: col: col: 647 0 0 647 (?do) dup i con: col: 647 0 0 647 (?do) dup i con: 647 0 0 647 (?do) dup i 647 0 0 647 (+loop) unloop drop ;s ;s defer: 647 0 0 647 ! does: @ + ;s 2@ 647 0 0 647 ! does: @ + ;s 647 0 0 647 ! does: @ + 647 0 0 647 ! ;s dup col: col: defer: 647 0 0 647 ! ;s dup col: col: 647 0 0 647 ! ;s dup col: 647 0 0 647 ! ;s ;s dup >r does: 647 0 0 647 ! ;s ;s dup >r 646 226 300 120 2drop ;s ;s branch 642 493 141 8 nip nip execute col: col: user: 642 493 141 8 nip execute col: col: user: @ 642 493 141 8 nip execute col: col: user: 637 315 97 225 ;s ! ;s ;s ;s branch 637 0 0 637 var: 2@ col: drop swap - 637 0 0 637 var: 2@ col: drop swap 637 0 0 637 var: 2@ col: drop 637 0 0 637 drop swap - 1- dup ?branch 637 0 0 637 drop swap - 1- dup 637 0 0 637 drop swap - 1- 637 0 0 637 drop swap - 637 0 0 637 col: drop swap - 1- dup 637 0 0 637 col: drop swap - 1- 637 0 0 637 col: drop swap - 637 0 0 637 col: drop swap 637 0 0 637 2@ col: drop swap - 1- 637 0 0 637 2@ col: drop swap - 637 0 0 637 2@ col: drop swap 637 0 0 637 2@ col: drop 635 0 0 635 does: @ + ;s @ var: 635 0 0 635 @ var: 2@ col: 635 0 0 635 @ var: 2@ 635 0 0 635 @ + ;s @ var: 2@ 635 0 0 635 @ + ;s @ var: 635 0 0 635 ;s @ var: 2@ col: 635 0 0 635 ;s @ var: 2@ 635 0 0 635 + ;s @ var: 2@ col: 635 0 0 635 + ;s @ var: 2@ 634 276 125 233 noop col: 634 276 125 233 defer: noop col: 634 276 125 233 defer: noop ;s 634 0 634 0 @local3 col: >l lp- @local1 2@ 634 0 0 634 ;s col: col: var: col: con: 634 0 0 634 ;s col: col: var: col: 633 166 242 225 col: con: @ col: 633 166 242 225 col: con: @ 631 631 0 0 var: @ ?branch col: var: col: 631 631 0 0 var: @ ?branch col: var: 631 631 0 0 var: ! var: @ ?branch col: 631 631 0 0 @ ?branch col: var: col: con: 631 631 0 0 @ ?branch col: var: col: 631 631 0 0 @ ?branch col: var: 631 631 0 0 ?branch col: var: col: con: swap 631 631 0 0 ?branch col: var: col: con: 631 631 0 0 ;s dup col: ;s var: ! 631 631 0 0 ;s dup col: ;s var: 631 631 0 0 ! var: @ ?branch col: var: 631 631 0 0 ! var: @ ?branch col: 630 630 0 0 var: @ ?branch lit var: ! 630 630 0 0 var: @ ?branch lit var: 630 630 0 0 var: @ ?branch lit 630 630 0 0 var: ! var: @ ?branch lit 630 630 0 0 var: ! lit col: var: @ 630 630 0 0 var: ! lit col: var: 630 630 0 0 var: ! lit col: 630 630 0 0 lit var: ! lit col: var: 630 630 0 0 lit var: ! lit col: 630 630 0 0 lit var: ! lit 630 630 0 0 @ ?branch lit var: ! lit 630 630 0 0 @ ?branch lit var: ! 630 630 0 0 @ ?branch lit var: 630 630 0 0 @ ?branch lit 630 630 0 0 ?branch lit var: ! lit col: 630 630 0 0 ?branch lit var: ! lit 630 630 0 0 ?branch lit var: ! 630 630 0 0 ! var: @ ?branch lit var: 630 630 0 0 ! var: @ ?branch lit 630 630 0 0 ! lit col: var: @ dup 630 630 0 0 ! lit col: var: @ 630 630 0 0 ! lit col: var: 628 628 0 0 lit col: col: col: var: @ 628 628 0 0 lit col: col: col: var: 628 628 0 0 ;s lit col: col: col: var: 620 0 114 506 defer: (type) ;s lit col: 620 0 114 506 count defer: (type) ;s lit col: 620 0 114 506 (type) ;s lit col: 617 517 100 0 ;s lit col: >r defer: col: 617 517 100 0 ;s lit col: >r defer: 616 616 0 0 ;s (loop) unloop ;s ;s swap 616 616 0 0 (loop) unloop ;s ;s swap user: 616 616 0 0 (loop) unloop ;s ;s swap 616 24 13 579 ;s col: var: 2@ 615 273 115 227 ;s defer: noop 613 206 407 0 nip nip execute does: @ 613 206 407 0 nip execute does: @ 613 206 407 0 execute does: @ 613 206 407 0 ?branch nip nip execute does: @ 612 272 114 226 swap ! ;s ;s defer: noop 612 272 114 226 noop col: col: col: r> r> 612 272 114 226 noop col: col: col: r> 612 272 114 226 noop col: col: col: 612 272 114 226 noop col: col: 612 272 114 226 defer: noop col: col: col: r> 612 272 114 226 defer: noop col: col: col: 612 272 114 226 defer: noop col: col: 612 272 114 226 col: defer: noop col: col: col: 612 272 114 226 col: defer: noop col: col: 612 272 114 226 col: defer: noop col: 612 272 114 226 col: defer: noop 612 272 114 226 ;s defer: noop ;s 612 272 114 226 ;s ;s defer: noop ;s 612 272 114 226 ;s ;s defer: noop 612 272 114 226 ! ;s ;s defer: noop ;s 612 272 114 226 ! ;s ;s defer: noop 611 0 0 611 ;s 0= ?branch ;s col: col: 611 0 0 611 0= ?branch ;s col: col: 610 302 168 140 - swap 610 258 125 227 noop ;s ;s 610 258 125 227 defer: noop ;s ;s 609 322 0 287 execute col: col: col: col: 609 0 0 609 branch ;s col: col: 608 0 0 608 @ ;s col: col: var: col: 608 0 0 608 @ ;s col: col: var: 608 0 0 608 + @ ;s col: col: var: 607 125 255 227 user: @ ?branch col: r> dup 607 125 255 227 user: @ ?branch col: r> 607 125 255 227 col: user: @ ?branch col: r> 607 125 255 227 @ ?branch col: r> dup cell+ 607 125 255 227 @ ?branch col: r> dup 607 125 255 227 @ ?branch col: r> 601 181 300 120 user: +! ;s 2drop ;s ;s 601 181 300 120 ;s 2drop ;s ;s 601 181 300 120 +! ;s 2drop ;s ;s 600 0 0 600 col: >r con: 599 76 326 197 lit con: 599 0 0 599 unloop drop 2drop ;s ;s 599 0 0 599 unloop drop 2drop ;s 599 0 0 599 rot rot r> var: @ lit 599 0 0 599 rot rot r> var: @ 599 0 0 599 rot rot r> var: 599 0 0 599 rot rot r> 599 0 0 599 rot r> var: @ lit (do) 599 0 0 599 rot r> var: @ lit 599 0 0 599 rot r> var: @ 599 0 0 599 rot r> var: 599 0 0 599 rot r> 599 0 0 599 r> var: @ lit (do) >r 599 0 0 599 r> var: @ lit (do) 599 0 0 599 r> var: @ lit 599 0 0 599 r> (loop) unloop drop 2drop ;s 599 0 0 599 lit col: >r con: rot rot 599 0 0 599 lit col: >r con: rot 599 0 0 599 lit col: >r con: 599 0 0 599 drop 2drop ;s ;s 599 0 0 599 drop 2drop ;s 599 0 0 599 con: rot rot r> var: @ 599 0 0 599 con: rot rot r> var: 599 0 0 599 con: rot rot r> 599 0 0 599 col: lit col: >r con: rot 599 0 0 599 col: lit col: >r con: 599 0 0 599 col: >r con: rot rot r> 599 0 0 599 col: >r con: rot rot 599 0 0 599 col: >r con: rot 599 0 0 599 >r con: rot rot r> var: 599 0 0 599 >r con: rot rot r> 599 0 0 599 >r con: rot rot 599 0 0 599 >r con: rot 599 0 0 599 (loop) unloop drop 2drop ;s ;s 599 0 0 599 (loop) unloop drop 2drop ;s 598 278 302 18 @ user: 596 397 72 127 (?do) unloop ;s ;s 595 460 135 0 user: ! var: 595 15 0 580 ;s branch ;s col: 588 254 114 220 ;s defer: noop ;s ;s 588 254 114 220 ;s ;s defer: noop ;s ;s 586 0 0 586 ! ;s ;s does: @ col: 584 3 4 577 @ col: lit lit 583 448 92 43 >r user: @ >r 582 78 305 199 ?branch i 580 77 305 198 = ?branch i 580 0 0 580 ;s branch ;s col: col: 579 150 225 204 sp@ cell+ dup cell+ rot move 579 150 225 204 sp@ cell+ dup cell+ rot 579 150 225 204 sp@ cell+ dup cell+ 579 150 225 204 sp@ cell+ dup 579 150 225 204 sp@ cell+ 579 150 225 204 rot move drop r> ;s 579 150 225 204 rot move drop r> 579 150 225 204 rot move drop 579 150 225 204 rot move 579 150 225 204 r@ col: dup 1+ pick >r 579 150 225 204 r@ col: dup 1+ pick 579 150 225 204 r@ col: dup 1+ 579 150 225 204 r@ col: dup 579 150 225 204 pick >r cells sp@ cell+ dup 579 150 225 204 pick >r cells sp@ cell+ 579 150 225 204 pick >r cells sp@ 579 150 225 204 pick >r cells 579 150 225 204 pick >r 579 150 225 204 move drop r> ;s 579 150 225 204 move drop r> 579 150 225 204 move drop 579 150 225 204 dup cell+ rot move drop r> 579 150 225 204 dup cell+ rot move drop 579 150 225 204 dup cell+ rot move 579 150 225 204 dup cell+ rot 579 150 225 204 dup 1+ pick >r cells sp@ 579 150 225 204 dup 1+ pick >r cells 579 150 225 204 dup 1+ pick >r 579 150 225 204 dup 1+ pick 579 150 225 204 dup 1+ 579 150 225 204 col: dup 1+ pick >r cells 579 150 225 204 col: dup 1+ pick >r 579 150 225 204 col: dup 1+ pick 579 150 225 204 col: dup 1+ 579 150 225 204 cells sp@ cell+ dup cell+ rot 579 150 225 204 cells sp@ cell+ dup cell+ 579 150 225 204 cells sp@ cell+ dup 579 150 225 204 cells sp@ cell+ 579 150 225 204 cells sp@ 579 150 225 204 cell+ rot move drop r> ;s 579 150 225 204 cell+ rot move drop r> 579 150 225 204 cell+ rot move drop 579 150 225 204 cell+ rot move 579 150 225 204 cell+ rot 579 150 225 204 cell+ dup cell+ rot move drop 579 150 225 204 cell+ dup cell+ rot move 579 150 225 204 cell+ dup cell+ rot 579 150 225 204 cell+ dup cell+ 579 150 225 204 >r cells sp@ cell+ dup cell+ 579 150 225 204 >r cells sp@ cell+ dup 579 150 225 204 >r cells sp@ cell+ 579 150 225 204 >r cells sp@ 579 150 225 204 >r cells 579 150 225 204 1+ pick >r cells sp@ cell+ 579 150 225 204 1+ pick >r cells sp@ 579 150 225 204 1+ pick >r cells 579 150 225 204 1+ pick >r 579 150 225 204 1+ pick 577 1 1 575 var: 2! var: 577 1 1 575 2! var: 576 2 0 574 col: var: ;s 574 0 0 574 var: var: @ col: swap (?do) 574 0 0 574 var: var: @ col: swap 574 0 0 574 var: var: @ col: lit lit 574 0 0 574 var: var: @ col: lit 574 0 0 574 var: @ var: (?do) 574 0 0 574 var: @ col: swap (?do) 574 0 0 574 var: @ col: swap 574 0 0 574 var: @ col: lit lit 2swap 574 0 0 574 var: @ col: lit lit 574 0 0 574 var: ;s lit col: col: var: 574 0 0 574 var: ;s lit col: col: 574 0 0 574 var: ;s lit col: 574 0 0 574 var: ;s lit 574 0 0 574 var: (?do) 574 0 0 574 unloop ;s var: 2! 574 0 0 574 unloop ;s col: var: 2@ var: 574 0 0 574 unloop ;s col: var: 2@ 574 0 0 574 swap >r ;s count ;s var: 574 0 0 574 lit lit 2swap swap (?do) 574 0 0 574 lit lit 2swap swap 574 0 0 574 lit @ execute col: col: 574 0 0 574 lit 2swap swap (?do) 574 0 0 574 lit 2swap swap 574 0 0 574 defer: (type) ;s cr col: var: 574 0 0 574 cr col: var: 574 0 0 574 count ;s var: 2! 574 0 0 574 count ;s var: 574 0 0 574 col: var: @ var: (?do) 574 0 0 574 col: var: ;s lit col: col: 574 0 0 574 col: var: ;s lit col: 574 0 0 574 col: var: ;s lit 574 0 0 574 col: swap (?do) 574 0 0 574 col: lit lit 2swap swap (?do) 574 0 0 574 col: lit lit 2swap swap 574 0 0 574 col: lit lit 2swap 574 0 0 574 @ var: (?do) 574 0 0 574 @ col: swap (?do) 574 0 0 574 @ col: swap 574 0 0 574 @ col: lit lit 2swap swap 574 0 0 574 @ col: lit lit 2swap 574 0 0 574 ?branch col: var: ! ;s 574 0 0 574 ?branch col: var: ! 574 0 0 574 >r ;s count ;s var: 2! 574 0 0 574 >r ;s count ;s var: 574 0 0 574 ;s var: var: @ col: swap 574 0 0 574 ;s var: var: @ col: 574 0 0 574 ;s var: var: @ 574 0 0 574 ;s var: var: 574 0 0 574 ;s cr col: var: 574 0 0 574 ;s count ;s var: 2! 574 0 0 574 ;s count ;s var: 574 0 0 574 ;s col: var: 2@ var: 2@ 574 0 0 574 ;s col: var: 2@ var: 574 0 0 574 ;s ?branch col: var: ! ;s 574 0 0 574 ;s ?branch col: var: ! 574 0 0 574 ;s ;s ?branch col: var: ! 574 0 0 574 2swap swap (?do) 574 0 0 574 2swap swap 574 0 0 574 0= and ?branch 574 0 0 574 0= and 574 0 0 574 0= ?branch ;s col: col: var: 574 0 0 574 0= ;s ;s 0= ?branch ;s 574 0 0 574 (type) ;s cr col: var: 573 56 435 82 branch ;s ;s ;s 573 0 573 0 execute col: >l lp- @local1 573 0 573 0 @local3 execute col: >l lp- @local1 571 460 0 111 and ?branch col: col: r> r> 571 460 0 111 and ?branch col: col: r> 571 460 0 111 and ?branch col: col: 571 460 0 111 and ?branch col: 568 151 230 187 col: dup con: 567 147 300 120 ;s 2drop ;s ;s branch col: 567 147 300 120 ;s 2drop ;s ;s branch 567 147 300 120 2drop ;s ;s branch col: sp@ 567 147 300 120 2drop ;s ;s branch col: 567 147 300 120 +! ;s 2drop ;s ;s branch 566 0 566 0 lp+ ;s does: @ + @ 566 0 566 0 lp+ ;s does: @ + 566 0 566 0 lp+ ;s does: @ 566 0 566 0 lp+ ;s does: 566 0 566 0 ;s does: @ + @ ;s 566 0 566 0 ;s does: @ + @ 566 0 566 0 ;s does: @ + 564 468 27 69 col: col: user: @ ?branch 562 289 152 121 over - swap 562 289 152 121 ;s over - swap 562 289 152 121 ;s over - 562 138 220 204 @ ;s over 561 60 471 30 @ ;s col: lit 561 138 220 203 user: @ ;s @ ;s over 561 138 220 203 @ ;s @ ;s over 561 138 220 203 ;s @ ;s over 559 536 17 6 dup ?branch rdrop ;s 558 216 0 342 @ execute col: col: var: 558 169 0 389 @ ;s ;s lit col: col: 555 50 435 70 branch ;s ;s ;s branch 551 0 0 551 r@ col: >r r@ does: @ 551 0 0 551 r@ col: >r r@ does: 551 0 0 551 r@ col: >r r@ 551 0 0 551 r@ col: >r 549 0 0 549 ?branch does: @ 549 0 0 549 ?branch does: 548 331 91 126 rdrop ;s ;s ;s 548 331 91 126 ?branch rdrop ;s ;s ;s 548 331 91 126 >r ?branch rdrop ;s ;s ;s 548 0 548 0 lp- @local1 2@ drop lp+ ;s 548 0 548 0 lp- @local1 2@ drop lp+ 548 0 548 0 lp- @local1 2@ drop 548 0 548 0 lp+ ;s lp+ ;s 548 0 548 0 drop lp+ ;s 548 0 548 0 drop lp+ 548 0 548 0 col: >l lp- @local1 2@ drop 548 0 548 0 @local1 2@ drop lp+ ;s 548 0 548 0 @local1 2@ drop lp+ 548 0 548 0 @local1 2@ drop 548 0 548 0 >l lp- @local1 2@ drop lp+ 548 0 548 0 >l lp- @local1 2@ drop 548 0 548 0 2@ drop lp+ ;s 548 0 548 0 2@ drop lp+ 546 432 78 36 user: @ >r user: @ 546 432 78 36 @ >r user: @ 546 255 44 247 drop branch ;s 544 216 125 203 noop ;s ;s branch col: sp@ 544 216 125 203 noop ;s ;s branch col: 544 216 125 203 noop ;s ;s branch 544 216 125 203 defer: noop ;s ;s branch col: 544 216 125 203 defer: noop ;s ;s branch 543 4 12 527 ;s r> col: 542 37 435 70 branch ;s ;s ;s branch col: 541 364 111 66 nip ;s dup 541 162 236 143 nip execute col: lit col: >r 540 234 54 252 ;s dup 0= 538 0 538 0 lp+ ;s @local1 col: 536 0 536 0 lit over = ?branch lit cells 536 0 536 0 lit over = ?branch lit 534 224 114 196 nip nip execute col: defer: noop 534 224 114 196 nip execute col: defer: noop col: 534 224 114 196 nip execute col: defer: noop 534 224 114 196 execute col: defer: noop col: col: 534 224 114 196 execute col: defer: noop col: 534 224 114 196 execute col: defer: noop 530 460 0 70 0<> and ?branch col: col: r> 530 460 0 70 0<> and ?branch col: col: 530 460 0 70 0<> and ?branch col: 529 529 0 0 ;s ;s ;s branch ;s user: 528 426 72 30 user: ! r> user: ! 528 426 72 30 user: ! r> user: 528 426 72 30 user: ! r> 528 426 72 30 r> user: ! r> user: ! 528 426 72 30 r> user: ! r> user: 528 426 72 30 r> user: ! r> 528 426 72 30 ! r> user: ! 528 426 72 30 ! r> user: 527 179 185 163 ;s ;s ;s col: lit lit 526 4 12 510 ;s r> col: >r 526 102 399 25 ;s ;s branch ;s ;s 525 0 509 16 >r col: col: col: 524 0 509 15 col: >r col: col: 523 523 0 0 does-code! ;s ;s ;s dup col: 523 523 0 0 does-code! ;s ;s ;s dup 523 523 0 0 ;s does-code! ;s ;s ;s dup 523 523 0 0 ;s ;s dup col: ;s var: 523 523 0 0 ;s ;s dup col: ;s 523 523 0 0 ;s ;s ;s dup col: ;s 522 521 1 0 r> ?branch user: +! ;s 522 521 1 0 r> ?branch user: +! 522 521 1 0 r> ?branch user: 522 521 1 0 over - dup r> ?branch user: 522 521 1 0 dup r> ?branch user: +! ;s 522 521 1 0 dup r> ?branch user: +! 522 521 1 0 dup r> ?branch user: 522 521 1 0 dup ?branch rdrop ;s >r over 522 521 1 0 dup ?branch rdrop ;s >r 522 521 1 0 ?branch user: +! ;s 522 521 1 0 ?branch user: +! 522 521 1 0 - dup r> ?branch user: +! 522 521 1 0 - dup r> ?branch user: 522 212 114 196 ;s defer: noop ;s ;s branch 521 385 54 82 0= ?branch ;s ;s 518 0 12 506 r> col: >r tuck dabs col: 518 0 12 506 r> col: >r tuck dabs 518 0 12 506 r> col: >r tuck 518 0 12 506 lit col: >r col: dup 0< 518 0 12 506 lit col: >r col: dup 518 0 12 506 dup 0< ;s r> col: >r 518 0 12 506 dup 0< ;s r> col: 518 0 12 506 drop ;s defer: (type) ;s ;s 518 0 12 506 col: dup 0< ;s r> col: 518 0 12 506 ;s r> col: >r tuck dabs 518 0 12 506 ;s r> col: >r tuck 518 0 12 506 ;s defer: (type) ;s ;s 518 0 12 506 0< ;s r> col: >r tuck 518 0 12 506 0< ;s r> col: >r 518 0 12 506 0< ;s r> col: 513 63 91 359 ;s rdrop 513 0 513 0 ;s @local1 col: >l lp- 513 0 513 0 ;s @local1 col: >l 512 91 398 23 ;s ;s ;s branch ;s ;s 512 0 6 506 ;s lit col: >r col: dup 512 0 6 506 ;s lit col: >r col: 512 0 6 506 ;s defer: (type) ;s ;s col: 509 0 509 0 col: >r col: col: col: 509 0 509 0 ;s @local1 col: field: @ ;s 509 0 509 0 ;s @local1 col: field: @ 509 0 509 0 ;s @local1 col: field: 507 103 206 198 - unloop ;s 507 103 206 198 - unloop 507 0 0 507 does: @ does: @ col: var: 507 0 0 507 does: @ does: @ col: 507 0 0 507 does: @ does: @ 507 0 0 507 does: @ does: 507 0 0 507 @ ;s + @ execute 507 0 0 507 @ ;s + @ 507 0 0 507 ;s ;s + @ ;s + 507 0 0 507 ;s + @ execute 507 0 0 507 ;s + @ ;s + @ 507 0 0 507 ;s + @ ;s + 507 0 0 507 + @ execute 507 0 0 507 + @ ;s + @ execute 507 0 0 507 + @ ;s + @ 506 468 27 11 execute col: col: user: @ ?branch 506 455 35 16 drop ;s ;s ;s branch col: 506 455 35 16 drop ;s ;s ;s branch 506 0 506 0 ;s ;s lp+ ;s lp+ 506 0 506 0 ;s ;s ;s lp+ ;s lp+ 506 0 0 506 defer: (type) ;s lit col: >r 506 0 0 506 (type) ;s lit col: >r col: 506 0 0 506 (type) ;s lit col: >r 505 216 0 289 dup var: ! col: 505 134 198 173 @ col: col: user: @ 505 134 198 173 @ col: col: user: 505 0 0 505 @ var: 2@ col: drop swap 505 0 0 505 @ var: 2@ col: drop 505 0 0 505 ;s @ var: 2@ col: drop 504 134 197 173 con: @ col: col: user: @ 504 134 197 173 con: @ col: col: user: 504 134 197 173 con: @ col: col: 504 134 197 173 col: con: @ col: col: user: 504 134 197 173 col: con: @ col: col: 504 134 197 173 @ col: col: user: @ ;s 501 323 163 15 user: ! user: 498 0 498 0 lit col: lit col: >r col: 498 0 498 0 lit col: lit col: >r 498 0 498 0 lit col: lit col: 498 0 498 0 lit col: >r col: col: col: 498 0 498 0 lit col: >r col: col: 498 0 498 0 col: lit col: lit col: >r 498 0 498 0 col: lit col: lit col: 498 0 498 0 col: lit col: lit 498 0 498 0 col: lit col: >r col: col: 498 0 498 0 col: lit col: >r col: 498 0 498 0 col: >r col: col: col: col: 498 0 498 0 >r col: col: col: col: user: 498 0 498 0 >r col: col: col: col: 497 224 152 121 ?branch rdrop ;s ;s con: 497 224 152 121 >r ?branch rdrop ;s ;s con: 495 296 72 127 swap (?do) unloop ;s ;s 494 0 494 0 lp+ ;s @local1 col: field: @ 494 0 494 0 lp+ ;s @local1 col: field: 491 415 9 67 ;s col: col: col: col: 489 13 12 464 or col: 489 0 0 489 and ?branch ;s col: 488 139 192 157 col: col: r> dup cell+ >r 488 139 192 157 col: col: r> dup cell+ 488 139 192 157 col: col: r> dup 486 0 0 486 ;s cell+ swap cell+ swap r> 486 0 0 486 ;s cell+ swap cell+ swap 486 0 0 486 ;s cell+ swap cell+ 486 0 0 486 ;s cell+ swap 486 0 0 486 ;s ! ;s cell+ swap cell+ 486 0 0 486 ;s ! ;s cell+ swap 486 0 0 486 +! ;s ! ;s cell+ swap 486 0 0 486 ! ;s cell+ swap cell+ swap 486 0 0 486 ! ;s cell+ swap cell+ 486 0 0 486 ! ;s cell+ swap 484 76 191 217 (do) dup 481 156 169 156 nip branch dup @ dup ?branch 481 156 169 156 nip branch dup @ dup 481 156 169 156 nip branch dup @ 481 156 169 156 nip branch dup 481 156 169 156 nip branch 481 156 169 156 dup @ dup ?branch nip branch 481 156 169 156 dup @ dup ?branch nip 481 156 169 156 dup ?branch nip branch dup @ 481 156 169 156 dup ?branch nip branch dup 481 156 169 156 dup ?branch nip branch 481 156 169 156 branch dup @ dup ?branch 481 156 169 156 branch dup @ dup 481 156 169 156 branch dup @ 481 156 169 156 @ dup ?branch nip branch dup 481 156 169 156 @ dup ?branch nip branch 481 156 169 156 @ dup ?branch nip 481 156 169 156 ?branch nip branch dup @ dup 481 156 169 156 ?branch nip branch dup @ 481 156 169 156 ?branch nip branch dup 481 156 169 156 ?branch nip branch 480 368 84 28 execute col: dup 479 315 19 145 ;s ;s drop 479 21 431 27 ;s branch ;s ;s ;s 479 0 87 392 ;s con: col: col: col: user: 479 0 87 392 ;s con: col: col: col: 478 0 0 478 con: (+loop) i col: dup does: 478 0 0 478 con: (+loop) i col: dup 478 0 0 478 ;s con: (+loop) i col: dup 478 0 0 478 (+loop) i col: dup does: @ 478 0 0 478 (+loop) i col: dup does: 478 0 0 478 (+loop) i col: dup 475 455 14 6 user: ! drop ;s ;s ;s 475 455 14 6 ! drop ;s ;s ;s branch 475 455 14 6 ! drop ;s ;s ;s 475 368 84 23 nip nip execute col: dup 475 368 84 23 nip execute col: dup 475 368 84 23 ?branch nip nip execute col: dup 474 454 14 6 col: col: user: @ ?branch defer: 473 80 275 118 ! ;s ;s ;s ;s ;s 473 0 0 473 swap - 1- dup ?branch drop 473 0 0 473 dup ?branch drop col: col: r> 473 0 0 473 dup ?branch drop col: col: 473 0 0 473 dup ?branch drop col: 473 0 0 473 drop col: col: r> r> dup 473 0 0 473 drop col: col: r> r> 473 0 0 473 drop col: col: r> 473 0 0 473 count defer: (type) ;s ;s col: 473 0 0 473 count defer: (type) ;s ;s 473 0 0 473 ?branch drop col: col: r> r> 473 0 0 473 ?branch drop col: col: r> 473 0 0 473 ?branch drop col: col: 473 0 0 473 ;s count defer: (type) ;s ;s 473 0 0 473 1- dup ?branch drop col: col: 473 0 0 473 1- dup ?branch drop col: 473 0 0 473 1- dup ?branch drop 473 0 0 473 - 1- dup ?branch drop col: 473 0 0 473 - 1- dup ?branch drop 472 50 75 347 >r r@ col: 472 0 472 0 ;s lp+ ;s @local1 470 470 0 0 ;s col: ?dup ?branch ;s col: 469 389 27 53 ;s ;s over col: 469 0 469 0 @ ;s col: lit col: lit 469 0 469 0 @ ;s col: lit col: 469 0 469 0 @ + @ ;s col: lit 469 0 469 0 ;s col: lit col: lit col: 469 0 469 0 ;s col: lit col: lit 469 0 469 0 + @ ;s col: lit col: 469 0 469 0 + @ ;s col: lit 469 0 0 469 var: @ var: (?do) i col: 469 0 0 469 var: @ var: (?do) i 469 0 0 469 var: @ col: swap (?do) i 469 0 0 469 var: (?do) i col: dup does: 469 0 0 469 var: (?do) i col: dup 469 0 0 469 var: (?do) i col: 469 0 0 469 var: (?do) i 469 0 0 469 swap (?do) i col: dup does: 469 0 0 469 swap (?do) i col: dup 469 0 0 469 swap (?do) i col: >r swap 469 0 0 469 swap (?do) i col: >r 469 0 0 469 rdrop ;s con: (+loop) unloop ;s 469 0 0 469 rdrop ;s con: (+loop) unloop 469 0 0 469 rdrop ;s ;s con: (+loop) unloop 469 0 0 469 lit lit 2swap swap (?do) i 469 0 0 469 lit 2swap swap (?do) i col: 469 0 0 469 lit 2swap swap (?do) i 469 0 0 469 con: (+loop) unloop ;s var: 2! 469 0 0 469 con: (+loop) unloop ;s col: var: 469 0 0 469 con: (+loop) unloop ;s col: 469 0 0 469 col: var: @ var: (?do) i 469 0 0 469 col: swap (?do) i col: dup 469 0 0 469 col: swap (?do) i col: 469 0 0 469 col: swap (?do) i 469 0 0 469 @ var: (?do) i col: dup 469 0 0 469 @ var: (?do) i col: 469 0 0 469 @ var: (?do) i 469 0 0 469 @ col: swap (?do) i col: 469 0 0 469 @ col: swap (?do) i 469 0 0 469 ;s con: (+loop) unloop ;s col: 469 0 0 469 ;s ;s con: (+loop) unloop ;s 469 0 0 469 ;s ;s con: (+loop) unloop 469 0 0 469 2swap swap (?do) i col: >r 469 0 0 469 2swap swap (?do) i col: 469 0 0 469 2swap swap (?do) i 469 0 0 469 + rdrop ;s con: (+loop) unloop 469 0 0 469 (?do) i col: >r swap dup 469 0 0 469 (?do) i col: >r swap 469 0 0 469 (?do) i col: >r 469 0 0 469 (+loop) unloop ;s var: 2! 469 0 0 469 (+loop) unloop ;s col: var: 2@ 469 0 0 469 (+loop) unloop ;s col: var: 469 0 0 469 (+loop) unloop ;s col: 467 56 408 3 col: lit col: user: @ dup 467 21 431 15 ;s branch ;s ;s ;s branch 464 95 48 321 execute col: col: col: r> 464 76 191 197 over lit + = ?branch i 464 76 191 197 lit con: (do) dup i - 464 76 191 197 lit con: (do) dup i 464 76 191 197 lit con: (do) dup 464 76 191 197 lit con: (do) 464 76 191 197 lit col: lit con: (do) dup 464 76 191 197 lit col: lit con: (do) 464 76 191 197 lit col: lit con: 464 76 191 197 lit + = ?branch i - 464 76 191 197 lit + = ?branch i 464 76 191 197 i - con: - unloop ;s 464 76 191 197 i - con: - unloop 464 76 191 197 i - con: - 464 76 191 197 i - con: 464 76 191 197 con: - unloop ;s ;s ;s 464 76 191 197 con: - unloop ;s ;s 464 76 191 197 con: - unloop ;s 464 76 191 197 con: - unloop 464 76 191 197 con: (do) dup i - count 464 76 191 197 con: (do) dup i - 464 76 191 197 con: (do) dup i 464 76 191 197 con: (do) dup 464 76 191 197 con: (do) 464 76 191 197 col: lit con: (do) dup i 464 76 191 197 col: lit con: (do) dup 464 76 191 197 col: lit con: (do) 464 76 191 197 col: lit con: 464 76 191 197 ?branch i - con: - unloop 464 76 191 197 ?branch i - con: - 464 76 191 197 ?branch i - con: 464 76 191 197 ?branch i - 464 76 191 197 = ?branch i - con: - 464 76 191 197 = ?branch i - con: 464 76 191 197 = ?branch i - 464 76 191 197 - unloop ;s ;s ;s dup 464 76 191 197 - unloop ;s ;s ;s 464 76 191 197 - unloop ;s ;s 464 76 191 197 - con: - unloop ;s ;s 464 76 191 197 - con: - unloop ;s 464 76 191 197 - con: - unloop 464 76 191 197 - con: - 464 76 191 197 + = ?branch i - con: 464 76 191 197 + = ?branch i - 464 76 191 197 + = ?branch i 464 76 191 197 (do) dup i - count lit 464 76 191 197 (do) dup i - count 464 76 191 197 (do) dup i - 464 76 191 197 (do) dup i 464 430 0 34 execute col: col: var: @ 463 7 164 292 field: @ col: 463 158 27 278 ?branch ;s col: var: 462 93 227 142 over 0<> ?branch faligned nip ;s 462 93 227 142 over 0<> ?branch faligned nip 462 93 227 142 over 0<> ?branch faligned 462 93 227 142 lit over 0<> ?branch 462 93 227 142 lit over 0<> 462 93 227 142 faligned nip ;s 462 93 227 142 faligned nip 462 93 227 142 col: lit over 0<> ?branch 462 93 227 142 col: lit over 0<> 462 93 227 142 ?branch faligned nip ;s 462 93 227 142 ?branch faligned nip 462 93 227 142 ?branch faligned 462 93 227 142 0<> ?branch faligned nip ;s 462 93 227 142 0<> ?branch faligned nip 462 93 227 142 0<> ?branch faligned 460 460 0 0 write-file col: ?dup ?branch ;s lit 460 460 0 0 var: @ 0<> and ?branch col: 460 460 0 0 user: @ lit col: >r defer: 460 460 0 0 user: @ lit col: >r 460 460 0 0 user: @ ;s user: @ /string 460 460 0 0 user: @ /string con: col: dup 460 460 0 0 user: @ /string con: col: 460 460 0 0 user: @ /string con: 460 460 0 0 user: +! ;s con: write-file col: 460 460 0 0 user: +! ;s con: write-file 460 460 0 0 user: +! ;s con: 460 460 0 0 user: +! ;s 2drop lit col: 460 460 0 0 user: +! ;s 2drop lit 460 460 0 0 user: +! ;s 2drop col: defer: 460 460 0 0 user: +! ;s 2drop col: 460 460 0 0 user: ! var: col: con: swap 460 460 0 0 user: ! var: col: con: 460 460 0 0 user: ! var: col: 460 460 0 0 user: ! drop ;s user: ! 460 460 0 0 user: ! drop ;s user: 460 460 0 0 drop ;s user: ! var: col: 460 460 0 0 drop ;s user: ! var: 460 460 0 0 drop ;s user: ! 460 460 0 0 col: ?dup ?branch ;s lit col: 460 460 0 0 col: ?dup ?branch ;s lit 460 460 0 0 col: ?dup ?branch ;s defer: col: 460 460 0 0 col: ?dup ?branch ;s defer: 460 460 0 0 @ lit col: >r defer: col: 460 460 0 0 @ lit col: >r defer: 460 460 0 0 @ lit col: >r 460 460 0 0 @ ;s user: @ /string con: 460 460 0 0 @ ;s user: @ /string 460 460 0 0 @ 0<> and ?branch col: col: 460 460 0 0 @ 0<> and ?branch col: 460 460 0 0 @ /string con: col: dup >r 460 460 0 0 @ /string con: col: dup 460 460 0 0 @ /string con: col: 460 460 0 0 @ /string con: 460 460 0 0 ?dup ?branch ;s user: @ lit 460 460 0 0 ?dup ?branch ;s lit col: >r 460 460 0 0 ?dup ?branch ;s lit col: 460 460 0 0 ?dup ?branch ;s lit 460 460 0 0 ?dup ?branch ;s defer: col: col: 460 460 0 0 ?dup ?branch ;s defer: col: 460 460 0 0 ?dup ?branch ;s defer: 460 460 0 0 ?branch ;s user: @ lit col: 460 460 0 0 ?branch ;s user: @ lit 460 460 0 0 ?branch ;s lit col: >r defer: 460 460 0 0 ?branch ;s lit col: >r 460 460 0 0 ?branch ;s lit col: 460 460 0 0 ;s user: @ lit col: >r 460 460 0 0 ;s user: @ /string con: col: 460 460 0 0 ;s user: @ /string con: 460 460 0 0 ;s user: @ /string 460 460 0 0 ;s user: ! var: col: con: 460 460 0 0 ;s user: ! var: col: 460 460 0 0 ;s user: ! var: 460 460 0 0 ;s user: ! drop ;s user: 460 460 0 0 ;s col: ?dup ?branch ;s defer: 460 460 0 0 ;s 2drop lit col: >r defer: 460 460 0 0 ;s 2drop lit col: >r 460 460 0 0 ;s 2drop lit col: 460 460 0 0 ;s 2drop lit 460 460 0 0 ;s 2drop col: defer: col: col: 460 460 0 0 ;s 2drop col: defer: col: 460 460 0 0 ;s 2drop col: defer: 460 460 0 0 ;s 2drop col: 460 460 0 0 2drop lit col: >r defer: col: 460 460 0 0 2drop lit col: >r defer: 460 460 0 0 2drop lit col: >r 460 460 0 0 2drop lit col: 460 460 0 0 2drop col: defer: col: col: user: 460 460 0 0 2drop col: defer: col: col: 460 460 0 0 2drop col: defer: col: 460 460 0 0 2drop col: defer: 460 460 0 0 /string con: col: dup >r write-file 460 460 0 0 /string con: col: dup >r 460 460 0 0 /string con: col: dup 460 460 0 0 /string con: col: 460 460 0 0 /string con: 460 460 0 0 +! ;s con: write-file col: ?dup 460 460 0 0 +! ;s con: write-file col: 460 460 0 0 +! ;s con: write-file 460 460 0 0 +! ;s con: 460 460 0 0 +! ;s 2drop lit col: >r 460 460 0 0 +! ;s 2drop lit col: 460 460 0 0 +! ;s 2drop lit 460 460 0 0 +! ;s 2drop col: defer: col: 460 460 0 0 +! ;s 2drop col: defer: 460 460 0 0 +! ;s 2drop col: 460 460 0 0 ! drop ;s user: ! var: 460 460 0 0 ! drop ;s user: ! 460 460 0 0 ! drop ;s user: 459 0 0 459 r@ execute or col: col: col: 459 0 0 459 r@ execute or col: col: 459 0 0 459 r@ execute or col: 459 0 0 459 r@ execute or 459 0 0 459 over @ r@ execute or col: 459 0 0 459 over @ r@ execute or 459 0 0 459 or col: col: col: user: @ 459 0 0 459 or col: col: col: user: 459 0 0 459 or col: col: col: 459 0 0 459 or col: col: 459 0 0 459 execute or col: col: col: user: 459 0 0 459 execute or col: col: col: 459 0 0 459 execute or col: col: 459 0 0 459 execute or col: 459 0 0 459 execute or 459 0 0 459 @ r@ execute or col: col: 459 0 0 459 @ r@ execute or col: 459 0 0 459 @ r@ execute or 459 0 0 459 @ over @ r@ execute or 457 455 1 1 swap ! ;s col: col: 457 455 1 1 con: swap ! ;s col: col: 456 0 0 456 @ ;s + @ execute col: 456 0 0 456 ;s + @ execute col: 456 0 0 456 + @ execute col: 455 360 65 30 user: @ >r user: @ >r 455 360 65 30 @ >r user: @ >r user: 455 360 65 30 @ >r user: @ >r 455 360 65 30 >r user: @ >r user: @ 455 360 65 30 >r user: @ >r user: 454 292 76 86 faligned swap (?do) unloop ;s 454 292 76 86 faligned swap (?do) unloop 454 292 76 86 dup faligned swap (?do) unloop ;s 454 292 76 86 dup faligned swap (?do) unloop 454 292 76 86 ;s dup faligned swap (?do) unloop 454 0 454 0 dup ?branch @local3 = ?branch drop 454 0 454 0 drop con: lp+2 ;s 454 0 454 0 drop con: lp+2 454 0 454 0 @local3 = ?branch drop con: lp+2 454 0 454 0 @local3 = ?branch drop con: 454 0 454 0 @local3 = ?branch drop 454 0 454 0 ?branch drop con: lp+2 ;s 454 0 454 0 ?branch drop con: lp+2 454 0 454 0 ?branch @local3 = ?branch drop con: 454 0 454 0 ?branch @local3 = ?branch drop 454 0 454 0 = ?branch drop con: lp+2 ;s 454 0 454 0 = ?branch drop con: lp+2 452 0 452 0 ;s @local1 col: >l lp- @local1 451 118 179 154 col: col: col: con: 450 212 26 212 ?dup ?branch col: 449 36 68 345 c! ;s col: col: col: user: 449 36 68 345 c! ;s col: col: col: 449 0 0 449 cr ;s con: (+loop) unloop ;s 449 0 0 449 cr ;s con: (+loop) unloop 449 0 0 449 ;s cr ;s con: (+loop) unloop 448 0 448 0 lit col: >l >l @local0 448 0 448 0 ;s col: >l 444 6 412 26 ?branch over col: 443 443 0 0 ;s ;s ;s lit col: col: 443 0 0 443 ;s @ does: @ col: var: 443 0 0 443 ;s @ does: @ col: 443 0 0 443 ;s ;s + ;s @ does: 443 0 0 443 ;s + ;s @ does: @ 443 0 0 443 ;s + ;s @ does: 443 0 0 443 + ;s @ does: @ col: 441 441 0 0 col: col: col: col: col: var: 441 441 0 0 col: col: col: col: col: 441 0 441 0 ;s col: >l lp- 440 355 60 25 user: ! r> user: ! r> 440 355 60 25 ! r> user: ! r> user: 440 355 60 25 ! r> user: ! r> 436 178 155 103 user: ! ;s col: var: @ 436 178 155 103 user: ! ;s col: var: 436 178 155 103 min user: ! ;s col: var: 436 178 155 103 ;s col: var: @ col: col: 436 178 155 103 ;s col: var: @ col: 436 178 155 103 ! ;s col: var: @ col: 435 106 187 142 @ ?branch con: 433 256 111 66 nip ;s dup ?branch 433 256 111 66 ?branch nip ;s dup ?branch 433 256 111 66 ?branch nip ;s dup 433 256 111 66 0> 0= ?branch nip ;s dup 433 256 111 66 0= ?branch nip ;s dup ?branch 433 256 111 66 0= ?branch nip ;s dup 432 0 432 0 ;s ;s lp+ ;s col: 432 0 432 0 ;s ;s ;s lp+ ;s col: 429 35 55 339 dup aligned swap (?do) con: col: 429 35 55 339 dup aligned swap (?do) con: 429 35 55 339 aligned swap (?do) con: col: col: 429 35 55 339 aligned swap (?do) con: col: 429 35 55 339 aligned swap (?do) con: 429 35 55 339 ;s dup aligned swap (?do) con: 429 124 144 161 nip nip execute col: col: defer: 429 124 144 161 nip execute col: col: defer: 429 124 144 161 execute col: col: defer: 429 0 0 429 defer: (type) ;s cr rdrop ;s 429 0 0 429 defer: (type) ;s cr rdrop 429 0 0 429 count defer: (type) ;s cr rdrop 429 0 0 429 (type) ;s cr rdrop ;s ;s 429 0 0 429 (type) ;s cr rdrop ;s 429 0 0 429 (type) ;s cr rdrop 428 71 13 344 ?branch r@ 428 428 0 0 dup 0< ?branch 428 0 428 0 lit col: >l >l @local0 >l 427 0 364 63 branch over 426 6 129 291 ! dup 426 5 62 359 unloop ;s ;s col: 426 0 426 0 ?branch lp+2 424 74 44 306 con: branch 422 0 135 287 var: ! ;s lit 422 0 135 287 col: var: var: 421 22 15 384 col: does: 421 0 0 421 c@ col: var: col: lit swap 421 0 0 421 c@ col: var: col: lit 421 0 0 421 c@ col: var: col: 421 0 0 421 c@ col: var: 421 0 0 421 @ 0= ?branch does: @ 421 0 0 421 @ 0= ?branch does: 421 0 0 421 ;s c@ col: var: col: lit 421 0 0 421 ;s c@ col: var: col: 421 0 0 421 ;s c@ col: var: 421 0 0 421 ;s c@ col: 421 0 0 421 ;s @ 0= ?branch does: @ 421 0 0 421 ;s @ 0= ?branch does: 421 0 0 421 ;s @ 0= ?branch 421 0 0 421 ;s @ 0= 421 0 0 421 ;s ;s + ;s c@ col: 421 0 0 421 ;s ;s + ;s @ 0= 421 0 0 421 ;s + ;s c@ col: var: 421 0 0 421 ;s + ;s c@ col: 421 0 0 421 ;s + ;s @ 0= ?branch 421 0 0 421 ;s + ;s @ 0= 421 0 0 421 0= ?branch does: @ 421 0 0 421 0= ?branch does: 421 0 0 421 + ;s c@ col: var: col: 421 0 0 421 + ;s c@ col: var: 421 0 0 421 + ;s c@ col: 421 0 0 421 + ;s @ 0= ?branch does: 421 0 0 421 + ;s @ 0= ?branch 421 0 0 421 + ;s @ 0= 420 172 248 0 ;s col: var: @ 1- dup 420 172 248 0 ;s col: var: @ 1- 419 388 23 8 c! ;s ;s ;s 419 298 0 121 ;s ;s ;s drop 415 135 145 135 col: dup @ dup ?branch nip 415 135 145 135 branch dup @ dup ?branch drop 414 73 285 56 ! branch ;s ;s 414 0 414 0 lp+ ;s dup ?branch 2drop lp+2 414 0 414 0 dup ?branch 2drop lp+2 ;s 414 0 414 0 dup ?branch 2drop lp+2 414 0 414 0 ?branch 2drop lp+2 ;s 414 0 414 0 ?branch 2drop lp+2 414 0 414 0 ;s dup ?branch 2drop lp+2 ;s 414 0 414 0 ;s dup ?branch 2drop lp+2 414 0 414 0 2drop lp+2 ;s 414 0 414 0 2drop lp+2 414 0 0 414 unloop drop 2drop ;s ;s ?branch 414 0 0 414 execute col: >r r@ does: @ 414 0 0 414 execute col: >r r@ does: 414 0 0 414 drop 2drop ;s ;s ?branch 414 0 0 414 ;s execute col: >r r@ does: 414 0 0 414 2drop ;s ;s ?branch 413 0 412 1 nip ;s ;s 412 267 137 8 rdrop ;s ;s lit 412 267 137 8 ?branch rdrop ;s ;s lit 412 267 137 8 >r ?branch rdrop ;s ;s lit 412 0 412 0 nip nip ;s ;s dup ?branch 412 0 412 0 nip nip ;s ;s dup 412 0 412 0 nip nip ;s ;s 412 0 412 0 nip nip ;s 412 0 412 0 nip ;s ;s dup ?branch col: 412 0 412 0 nip ;s ;s dup ?branch 412 0 412 0 nip ;s ;s dup 412 0 412 0 dup ?branch nip nip ;s ;s 412 0 412 0 dup ?branch nip nip ;s 412 0 412 0 ?branch nip nip ;s ;s dup 412 0 412 0 ?branch nip nip ;s ;s 412 0 412 0 ?branch nip nip ;s 412 0 412 0 ;s dup ?branch nip nip ;s 411 0 124 287 ! col: var: ! ;s 411 0 124 287 ! col: var: ! 410 0 410 0 lp+ ;s col: col: r> r> 410 0 410 0 lp+ ;s col: col: r> 410 0 410 0 lp+ ;s col: col: 408 408 0 0 swap ! ;s col: col: col: 408 408 0 0 ! ;s col: col: col: col: 408 0 408 0 user: @ swap - ;s col: 408 0 408 0 user: @ swap - ;s 408 0 408 0 swap - ;s col: 408 0 408 0 swap - ;s 408 0 408 0 col: user: @ swap - ;s 408 0 408 0 @ swap - ;s col: 408 0 408 0 @ swap - ;s 408 0 408 0 0> ?branch nip nip execute does: 408 0 408 0 - ;s col: 407 0 407 0 swap - ;s col: lit over 407 0 407 0 swap - ;s col: lit 407 0 407 0 nip nip execute does: @ col: 407 0 407 0 nip execute does: @ col: user: 407 0 407 0 nip execute does: @ col: 407 0 407 0 execute does: @ col: user: @ 407 0 407 0 execute does: @ col: user: 407 0 407 0 execute does: @ col: 407 0 407 0 does: @ col: user: @ swap 407 0 407 0 does: @ col: user: @ 407 0 407 0 does: @ col: user: 407 0 407 0 col: lit over = ?branch 407 0 407 0 col: lit over = 407 0 407 0 @ swap - ;s col: lit 407 0 407 0 @ col: user: @ swap - 407 0 407 0 @ col: user: @ swap 407 0 407 0 @ col: user: @ 407 0 407 0 @ col: user: 407 0 407 0 ;s col: lit over = ?branch 407 0 407 0 ;s col: lit over = 407 0 407 0 ;s col: lit over 407 0 407 0 - ;s col: lit over = 407 0 407 0 - ;s col: lit over 407 0 407 0 - ;s col: lit 406 406 0 0 r> col: >r dup ?branch rdrop 406 406 0 0 col: >r dup ?branch rdrop ;s 406 406 0 0 col: >r dup ?branch rdrop 406 406 0 0 >r dup ?branch rdrop ;s >r 406 406 0 0 >r dup ?branch rdrop ;s 406 406 0 0 >r dup ?branch rdrop 406 387 7 12 rdrop r> ?branch dnegate r> user: 406 387 7 12 rdrop r> ?branch dnegate r> 406 387 7 12 rdrop r> ?branch dnegate 406 387 7 12 r> ?branch dnegate r> user: ! 406 387 7 12 r> ?branch dnegate r> user: 406 387 7 12 r> ?branch dnegate r> 406 387 7 12 r> ?branch dnegate 406 387 7 12 lit = dup >r ?branch lit 406 387 7 12 lit /string col: over c@ lit 406 387 7 12 lit /string col: over c@ 406 387 7 12 lit /string col: over 406 387 7 12 lit /string col: 406 387 7 12 dup >r ?branch lit /string col: 406 387 7 12 dup >r ?branch lit /string 406 387 7 12 dup >r ?branch lit 406 387 7 12 dnegate r> user: ! ;s user: 406 387 7 12 dnegate r> user: ! ;s 406 387 7 12 dnegate r> user: ! 406 387 7 12 dnegate r> user: 406 387 7 12 dnegate r> 406 387 7 12 dnegate 406 387 7 12 ?branch lit /string col: over c@ 406 387 7 12 ?branch lit /string col: over 406 387 7 12 ?branch lit /string col: 406 387 7 12 ?branch dnegate r> user: ! ;s 406 387 7 12 ?branch dnegate r> user: ! 406 387 7 12 ?branch dnegate r> user: 406 387 7 12 ?branch dnegate r> 406 387 7 12 ?branch dnegate 406 387 7 12 ?branch 2drop rdrop r> ?branch dnegate 406 387 7 12 >r ?branch lit /string col: over 406 387 7 12 >r ?branch lit /string col: 406 387 7 12 >r ?branch lit /string 406 387 7 12 >r ?branch lit 406 387 7 12 = dup >r ?branch lit /string 406 387 7 12 = dup >r ?branch lit 406 387 7 12 2drop rdrop r> ?branch dnegate r> 406 387 7 12 2drop rdrop r> ?branch dnegate 406 387 7 12 /string col: over c@ lit - 406 387 7 12 /string col: over c@ lit 406 387 7 12 /string col: over c@ 406 387 7 12 /string col: over 406 387 7 12 /string col: 406 349 22 35 var: @ ?branch var: @ 406 349 22 35 var: @ ?branch var: 406 349 22 35 @ ?branch var: @ 406 349 22 35 @ ?branch var: 405 200 88 117 col: col: defer: defer: col: col: 405 199 201 5 ;s branch dup 402 0 0 402 ?branch does: @ col: var: col: 402 0 0 402 ?branch does: @ col: var: 402 0 0 402 ?branch does: @ col: 401 60 285 56 branch ;s ;s col: 401 60 285 56 ! branch ;s ;s col: 401 6 0 395 ?branch lit @ 399 6 391 2 drop col: r> 398 55 265 78 con: ! 397 56 285 56 var: @ ! branch ;s ;s 397 56 285 56 field: @ execute col: col: user: 397 56 285 56 execute col: col: user: @ ?dup 397 56 285 56 col: @ (f83find) ;s ;s var: 397 56 285 56 @ (f83find) ;s ;s var: @ 397 56 285 56 @ (f83find) ;s ;s var: 397 56 285 56 @ ! branch ;s ;s col: 397 56 285 56 @ ! branch ;s ;s 397 56 285 56 (f83find) ;s ;s var: @ and 397 56 285 56 (f83find) ;s ;s var: @ 397 56 285 56 (f83find) ;s ;s var: 397 0 397 0 ;s @local1 field: 395 292 58 45 faligned swap (?do) unloop ;s ;s 394 7 95 292 field: @ col: col: 393 120 152 121 @ ;s ;s var: @ 393 100 150 143 ;s r@ col: 393 0 393 0 ;s lp+ ;s lp+ ;s 392 6 380 6 ?branch ;s >body 392 6 380 6 ;s >body 392 6 380 6 0= ?branch ;s >body 392 0 392 0 lit defer: (emit) ;s 392 0 392 0 drop lp+ ;s does: @ + 392 0 392 0 drop lp+ ;s does: @ 392 0 392 0 drop lp+ ;s does: 392 0 392 0 defer: (emit) ;s 392 0 392 0 col: lit defer: (emit) ;s 392 0 392 0 col: lit defer: (emit) 392 0 392 0 col: lit defer: 392 0 392 0 @local1 2@ drop lp+ ;s does: 392 0 392 0 2@ drop lp+ ;s does: @ 392 0 392 0 2@ drop lp+ ;s does: 392 0 392 0 (emit) ;s 390 0 0 390 @ ;s ;s + ;s c! 390 0 0 390 ;s ;s + ;s c! 390 0 0 390 ;s + ;s c! 389 0 0 389 ?branch col: col: var: @ over 389 0 0 389 ;s ;s lit col: col: var: 387 0 0 387 ?branch lit @ execute col: 387 0 0 387 ?branch lit @ execute 387 0 0 387 ;s ?branch lit @ execute col: 387 0 0 387 ;s ?branch lit @ execute 387 0 0 387 ;s ?branch lit @ 387 0 0 387 ;s ;s ?branch lit @ execute 387 0 0 387 ;s ;s ?branch lit @ 387 0 0 387 0= ;s ;s ?branch lit @ 386 386 0 0 lit cells + 386 2 0 384 col: does: @ 386 100 150 136 rot move drop r> ;s r@ 386 100 150 136 r> ;s r@ col: dup 1+ 386 100 150 136 r> ;s r@ col: dup 386 100 150 136 r> ;s r@ col: 386 100 150 136 r> ;s r@ 386 100 150 136 move drop r> ;s r@ col: 386 100 150 136 move drop r> ;s r@ 386 100 150 136 drop r> ;s r@ col: dup 386 100 150 136 drop r> ;s r@ col: 386 100 150 136 drop r> ;s r@ 386 100 150 136 ;s r@ col: dup 1+ pick 386 100 150 136 ;s r@ col: dup 1+ 386 100 150 136 ;s r@ col: dup 386 0 386 0 over = ?branch drop col: r> 386 0 386 0 over = ?branch drop col: 386 0 386 0 over = ?branch drop 386 0 386 0 drop col: r> dup cell+ >r 386 0 386 0 drop col: r> dup cell+ 386 0 386 0 drop col: r> dup 386 0 386 0 ?branch drop col: r> dup cell+ 386 0 386 0 ?branch drop col: r> dup 386 0 386 0 ?branch drop col: r> 386 0 386 0 = ?branch drop col: r> dup 386 0 386 0 = ?branch drop col: r> 386 0 386 0 = ?branch drop col: 386 0 386 0 ;s ;s branch ;s ;s ;s 384 131 0 253 ?branch ;s col: var: @ 383 352 20 11 ;s ! ;s ;s branch 383 22 55 306 var: over 382 51 280 51 branch ;s ;s col: lit 382 51 280 51 ! branch ;s ;s col: lit 382 381 1 0 r> ?branch user: +! ;s 2drop 382 381 1 0 ?branch user: +! ;s 2drop 381 206 113 62 ! ;s ;s branch col: sp@ 381 206 113 62 ! ;s ;s branch col: 380 0 380 0 ;s lp+ ;s col: col: r> 380 0 380 0 ;s lp+ ;s col: col: 377 255 44 78 ;s drop branch ;s 377 255 44 78 ;s drop branch 377 114 32 231 ;s swap col: col: 376 0 376 0 lp- @local1 ?branch @local1 @local3 execute 376 0 376 0 @local1 @local3 execute col: >l lp- 376 0 376 0 @local1 @local3 execute col: >l 376 0 376 0 @local1 @local3 execute col: 376 0 376 0 @local1 @local3 execute 376 0 376 0 @local1 ?branch @local1 @local3 execute col: 376 0 376 0 @local1 ?branch @local1 @local3 execute 376 0 376 0 ?branch @local1 @local3 execute col: >l 376 0 376 0 ?branch @local1 @local3 execute col: 376 0 376 0 ?branch @local1 @local3 execute 375 26 30 319 >= 375 102 152 121 var: @ ?branch con: 375 102 152 121 swap con: <> and col: col: 375 102 152 121 swap con: <> and col: 375 102 152 121 swap con: <> and 375 102 152 121 swap con: <> 375 102 152 121 rdrop ;s ;s con: = ?branch 375 102 152 121 rdrop ;s ;s con: = 375 102 152 121 over - swap ! ;s 375 102 152 121 over - swap ! 375 102 152 121 dup con: <> swap con: <> 375 102 152 121 dup con: <> swap con: 375 102 152 121 dup con: <> swap 375 102 152 121 dup con: <> 375 102 152 121 dup col: dup con: <> swap 375 102 152 121 dup col: dup con: <> 375 102 152 121 dup col: dup con: 375 102 152 121 con: <> swap con: <> and 375 102 152 121 con: <> swap con: <> 375 102 152 121 con: <> swap con: 375 102 152 121 con: <> swap 375 102 152 121 con: <> and col: col: r> 375 102 152 121 con: <> and col: col: 375 102 152 121 con: <> and col: 375 102 152 121 con: <> and 375 102 152 121 col: dup con: <> swap con: 375 102 152 121 col: dup con: <> swap 375 102 152 121 col: dup con: <> 375 102 152 121 col: dup col: dup con: <> 375 102 152 121 col: dup col: dup con: 375 102 152 121 col: dup col: dup 375 102 152 121 col: col: con: @ col: col: 375 102 152 121 col: col: con: @ col: 375 102 152 121 col: col: con: @ 375 102 152 121 col: col: col: con: @ col: 375 102 152 121 col: col: col: con: @ 375 102 152 121 and col: col: r> r> dup 375 102 152 121 and col: col: r> r> 375 102 152 121 and col: col: r> 375 102 152 121 and col: col: 375 102 152 121 @ ;s over - swap ! 375 102 152 121 @ ;s over - swap 375 102 152 121 @ ;s over - 375 102 152 121 @ ;s @ ;s over - 375 102 152 121 @ ;s @ ;s ;s var: 375 102 152 121 @ ;s ;s var: @ ?branch 375 102 152 121 ?branch rdrop ;s ;s con: = 375 102 152 121 <> swap con: <> and col: 375 102 152 121 <> swap con: <> and 375 102 152 121 <> swap con: <> 375 102 152 121 <> swap con: 375 102 152 121 <> swap 375 102 152 121 <> and col: col: r> r> 375 102 152 121 <> and col: col: r> 375 102 152 121 <> and col: col: 375 102 152 121 <> and col: 375 102 152 121 ;s var: @ ?branch con: 375 102 152 121 ;s over - swap ! ;s 375 102 152 121 ;s over - swap ! 375 102 152 121 ;s con: = ?branch 375 102 152 121 ;s con: = 375 102 152 121 ;s @ ;s over - swap 375 102 152 121 ;s @ ;s over - 375 102 152 121 ;s @ ;s ;s var: @ 375 102 152 121 ;s @ ;s ;s var: 375 102 152 121 ;s ;s var: @ ?branch con: 375 102 152 121 ;s ;s con: = ?branch 375 102 152 121 ;s ;s con: = 375 102 152 121 - swap ! ;s 375 102 152 121 - swap ! 370 92 12 266 dup 0= ?branch 370 0 0 370 col: does: @ col: var: col: 370 0 0 370 col: does: @ col: var: 370 0 0 370 col: does: @ col: 369 369 0 0 lit cells + ;s 369 369 0 0 col: lit cells + ;s 369 369 0 0 col: lit cells + 369 369 0 0 col: lit cells 367 367 0 0 ;s c! ;s ;s ;s 367 367 0 0 + ;s c! ;s ;s ;s 366 14 50 302 2dup var: 366 1 364 1 ?branch ;s >body @ 366 1 364 1 >body @ 366 1 364 1 ;s >body @ 366 1 364 1 0= ?branch ;s >body @ 365 99 257 9 var: ! ;s col: 365 365 0 0 ! ;s col: col: col: var: 365 22 2 341 execute col: does: 364 0 364 0 @local1 col: >l lp- @local1 does: 363 363 0 0 swap col: col: var: 363 347 0 16 ?branch ;s ;s ;s branch col: 363 347 0 16 ?branch ;s ;s ;s branch 363 0 363 0 ;s col: lit defer: (emit) ;s 363 0 363 0 ;s col: lit defer: (emit) 363 0 363 0 ;s col: lit defer: 362 95 143 124 ;s col: col: col: con: 362 95 143 124 ;s ;s col: col: col: con: 360 0 360 0 swap c@ lit and 0= ?branch 360 0 360 0 swap c@ lit and 0= 360 0 360 0 swap c@ lit and 360 0 360 0 swap c@ lit 360 0 360 0 swap c@ 360 0 360 0 swap branch over 0<> ?branch 360 0 360 0 swap branch over 0<> 360 0 360 0 swap branch over 360 0 360 0 swap branch 360 0 360 0 swap @ swap branch over 0<> 360 0 360 0 swap @ swap branch over 360 0 360 0 swap @ swap branch 360 0 360 0 swap @ swap 360 0 360 0 over col: cell+ dup col: count 360 0 360 0 over col: cell+ dup col: 360 0 360 0 over col: cell+ dup 360 0 360 0 over 0<> ?branch over col: cell+ 360 0 360 0 over 0<> ?branch over col: 360 0 360 0 over 0<> ?branch over 360 0 360 0 max swap @ swap branch over 360 0 360 0 max swap @ swap branch 360 0 360 0 max swap @ swap 360 0 360 0 max swap @ 360 0 360 0 max swap 360 0 360 0 lit and 0= ?branch ;s >body 360 0 360 0 lit and 0= ?branch ;s 360 0 360 0 lit and + faligned ;s swap 360 0 360 0 faligned ;s swap c@ lit and 360 0 360 0 faligned ;s swap c@ lit 360 0 360 0 faligned ;s swap c@ 360 0 360 0 faligned ;s swap 360 0 360 0 dup col: count lit and + 360 0 360 0 dup col: count lit and 360 0 360 0 dup col: count lit 360 0 360 0 dup col: count 360 0 360 0 col: cell+ dup col: count lit 360 0 360 0 col: cell+ dup col: count 360 0 360 0 col: cell+ dup col: 360 0 360 0 cell+ dup col: count lit and 360 0 360 0 cell+ dup col: count lit 360 0 360 0 cell+ dup col: count 360 0 360 0 cell+ dup col: 360 0 360 0 c@ lit and 0= ?branch ;s 360 0 360 0 c@ lit and 0= ?branch 360 0 360 0 c@ lit and 0= 360 0 360 0 c@ lit and 360 0 360 0 branch over 0<> ?branch 360 0 360 0 branch over 0<> 360 0 360 0 and 0= ?branch ;s >body @ 360 0 360 0 and 0= ?branch ;s >body 360 0 360 0 and 0= ?branch ;s 360 0 360 0 and + faligned ;s swap c@ 360 0 360 0 and + faligned ;s swap 360 0 360 0 @ swap branch over 0<> ?branch 360 0 360 0 @ swap branch over 0<> 360 0 360 0 @ swap branch over 360 0 360 0 @ swap branch 360 0 360 0 @ max swap @ swap branch 360 0 360 0 @ max swap @ swap 360 0 360 0 @ max swap @ 360 0 360 0 @ max swap 360 0 360 0 @ max 360 0 360 0 @ ;s col: >l 360 0 360 0 ?branch over col: cell+ dup col: 360 0 360 0 ?branch over col: cell+ dup 360 0 360 0 ?branch over col: cell+ 360 0 360 0 ?branch ;s >body @ max swap 360 0 360 0 ?branch ;s >body @ max 360 0 360 0 >body @ max swap @ swap 360 0 360 0 >body @ max swap @ 360 0 360 0 >body @ max swap 360 0 360 0 >body @ max 360 0 360 0 ;s swap c@ lit and 0= 360 0 360 0 ;s swap c@ lit and 360 0 360 0 ;s swap c@ lit 360 0 360 0 ;s swap c@ 360 0 360 0 ;s >body @ max swap @ 360 0 360 0 ;s >body @ max swap 360 0 360 0 ;s >body @ max 360 0 360 0 0= ?branch ;s >body @ max 360 0 360 0 0<> ?branch over col: cell+ dup 360 0 360 0 0<> ?branch over col: cell+ 360 0 360 0 0<> ?branch over col: 360 0 360 0 0<> ?branch over 360 0 360 0 + faligned ;s swap c@ lit 360 0 360 0 + faligned ;s swap c@ 360 0 360 0 + faligned ;s swap 356 6 5 345 2drop r> 353 337 0 16 ;s ! ;s col: col: col: 353 0 353 0 @ ;s col: >l lp- 353 0 353 0 @ + @ ;s col: >l 353 0 353 0 + @ ;s col: >l lp- 353 0 353 0 + @ ;s col: >l 352 352 0 0 c! ;s ;s ;s ;s branch 352 352 0 0 c! ;s ;s ;s ;s 352 352 0 0 ;s c! ;s ;s ;s ;s 351 351 0 0 ;s lit col: dup @ con: 351 351 0 0 ;s lit col: dup @ 351 351 0 0 ;s lit col: dup 350 95 143 112 ;s col: col: col: con: @ 350 118 180 52 con: <> col: col: r> r> 350 118 180 52 con: <> col: col: r> 350 118 180 52 con: <> col: col: 350 118 180 52 con: <> col: 349 158 113 78 ;s ;s ;s 0= ?branch ;s 349 158 113 78 ;s ;s ;s 0= ?branch 349 158 113 78 ;s ;s ;s 0= 347 179 146 22 ;s col: col: col: r> 347 0 347 0 lp+2 ;s lp+ ;s 347 0 0 347 @ does: @ + ;s 346 96 7 243 execute col: ;s 346 50 5 291 swap ! ;s col: var: 346 50 5 291 con: swap ! ;s col: var: 346 38 97 211 @ col: 2dup 346 346 0 0 cell+ ;s @ execute col: lit 346 346 0 0 ;s @ execute col: lit col: 346 346 0 0 ;s @ execute col: lit 344 57 0 287 execute col: col: col: r> r> 343 2 0 341 execute col: does: @ 342 342 0 0 unloop d>s ;s ;s 342 342 0 0 unloop d>s ;s 342 342 0 0 unloop d>s 342 342 0 0 swap lit (+loop) unloop d>s ;s 342 342 0 0 swap lit (+loop) unloop d>s 342 342 0 0 swap lit (+loop) unloop 342 342 0 0 swap ;s swap 1- (do) con: 342 342 0 0 swap ;s swap 1- (do) 342 342 0 0 swap ;s swap 1- 342 342 0 0 swap ;s swap 342 342 0 0 swap 1- (do) con: * swap 342 342 0 0 swap 1- (do) con: * 342 342 0 0 swap 1- (do) con: 342 342 0 0 swap 1- (do) 342 342 0 0 swap 1- 342 342 0 0 over + swap ;s swap 1- 342 342 0 0 over + swap ;s swap 342 342 0 0 lit r> con: col: over + 342 342 0 0 lit r> con: col: over 342 342 0 0 lit r> con: col: 342 342 0 0 lit r> con: 342 342 0 0 lit r> 342 342 0 0 lit lit r> con: col: over 342 342 0 0 lit lit r> con: col: 342 342 0 0 lit lit r> con: 342 342 0 0 lit lit r> 342 342 0 0 lit (+loop) unloop d>s ;s ;s 342 342 0 0 lit (+loop) unloop d>s ;s 342 342 0 0 lit (+loop) unloop d>s 342 342 0 0 d>s ;s ;s 342 342 0 0 d>s ;s 342 342 0 0 d>s 342 342 0 0 col: over + swap ;s swap 342 342 0 0 col: >r lit lit r> con: 342 342 0 0 col: >r lit lit r> 342 342 0 0 col: >r lit lit 342 342 0 0 c@ + swap lit (+loop) unloop 342 342 0 0 @ + ;s col: >r lit 342 342 0 0 >r lit lit r> con: col: 342 342 0 0 >r lit lit r> con: 342 342 0 0 >r lit lit r> 342 342 0 0 >r lit lit 342 342 0 0 ;s swap 1- (do) con: * 342 342 0 0 ;s swap 1- (do) con: 342 342 0 0 ;s swap 1- (do) 342 342 0 0 ;s swap 1- 342 342 0 0 ;s col: >r lit lit r> 342 342 0 0 ;s col: >r lit lit 342 342 0 0 ;s col: >r lit 342 342 0 0 1- (do) con: * swap con: 342 342 0 0 1- (do) con: * swap 342 342 0 0 1- (do) con: * 342 342 0 0 1- (do) con: 342 342 0 0 1- (do) 342 342 0 0 + swap lit (+loop) unloop d>s 342 342 0 0 + swap lit (+loop) unloop 342 342 0 0 + swap ;s swap 1- (do) 342 342 0 0 + swap ;s swap 1- 342 342 0 0 + swap ;s swap 342 342 0 0 + ;s col: >r lit lit 342 342 0 0 + ;s col: >r lit 342 342 0 0 (do) con: * swap con: um* 342 342 0 0 (do) con: * swap con: 342 342 0 0 (do) con: * swap 342 342 0 0 (do) con: * 342 342 0 0 (+loop) unloop d>s ;s ;s 342 342 0 0 (+loop) unloop d>s ;s 342 342 0 0 (+loop) unloop d>s 342 0 342 0 @local0 field: 341 334 7 0 ;s ;s user: col: con: swap 341 334 7 0 ;s ;s user: col: con: 341 334 7 0 ;s ;s user: col: 341 329 2 10 0= ?branch ;s ;s ;s 341 0 0 341 execute col: does: @ col: var: 341 0 0 341 execute col: does: @ col: 341 0 0 341 @ execute col: does: @ col: 341 0 0 341 @ execute col: does: @ 341 0 0 341 @ execute col: does: 341 0 0 341 ;s + @ execute col: does: 341 0 0 341 + @ execute col: does: @ 341 0 0 341 + @ execute col: does: 340 156 107 77 and ?branch ;s ;s ;s 0= 340 156 107 77 ?branch ;s ;s ;s 0= ?branch 340 156 107 77 ?branch ;s ;s ;s 0= 340 0 0 340 execute var: @ 339 89 7 243 col: ;s ;s 339 331 0 8 swap ! ;s var: @ 339 331 0 8 swap ! ;s var: 339 331 0 8 con: swap ! ;s var: @ 339 331 0 8 con: swap ! ;s var: 339 331 0 8 col: con: swap ! ;s var: 339 279 17 43 ;s ;s ;s swap 338 338 0 0 ;s lit col: var: @ 335 0 335 0 col: lit over = ?branch lit 335 0 332 3 2@ ;s 335 0 0 335 @ 0= ?branch does: @ col: 335 0 0 335 0= ?branch does: @ col: var: 335 0 0 335 0= ?branch does: @ col: 334 84 7 243 execute col: ;s ;s 334 334 0 0 user: @ 0= ?branch ;s ;s 334 334 0 0 user: @ 0= ?branch ;s 334 334 0 0 col: user: col: con: swap ! 334 334 0 0 col: user: col: con: swap 334 334 0 0 col: user: col: con: 334 334 0 0 col: user: col: 334 334 0 0 @ 0= ?branch ;s ;s 334 334 0 0 @ 0= ?branch ;s 334 334 0 0 ;s user: @ 0= ?branch ;s 332 325 7 0 ;s ;s ;s user: col: con: 332 325 7 0 ;s ;s ;s user: col: 332 325 7 0 ;s ;s ;s ;s user: col: 331 92 12 227 ;s dup 0= ?branch 330 99 132 99 execute col: col: r> 329 327 0 2 0= ?branch ;s ;s ;s branch 326 326 0 0 col: con: col: col: col: var: 326 325 0 1 ?dup ?branch 1- 326 173 146 7 ;s col: col: col: r> r> 325 325 0 0 swap - con: / ;s col: 325 325 0 0 swap - con: / ;s ?dup 325 325 0 0 swap ! ;s var: @ ?branch 325 325 0 0 rdrop ;s branch lit col: dup 325 325 0 0 rdrop ;s branch lit col: 325 325 0 0 rdrop ;s branch lit 325 325 0 0 rdrop ;s ;s col: sp@ user: 325 325 0 0 rdrop ;s ;s col: sp@ 325 325 0 0 con: / ;s col: user: col: 325 325 0 0 con: / ;s col: user: 325 325 0 0 con: / ;s col: 325 325 0 0 con: / ;s ?dup ?branch 1- 325 325 0 0 con: / ;s ?dup ?branch 325 325 0 0 con: / ;s ?dup 325 325 0 0 branch lit col: dup @ con: 325 325 0 0 branch lit col: dup @ 325 325 0 0 branch lit col: dup 325 325 0 0 @ 0= ?branch ;s ;s ;s 325 325 0 0 ?dup ?branch 1- <> col: col: 325 325 0 0 ?dup ?branch 1- <> col: 325 325 0 0 ?dup ?branch 1- <> 325 325 0 0 ?branch rdrop ;s branch lit col: 325 325 0 0 ?branch rdrop ;s branch lit 325 325 0 0 ?branch rdrop ;s ;s col: sp@ 325 325 0 0 ?branch 1- <> col: col: r> 325 325 0 0 ?branch 1- <> col: col: 325 325 0 0 ?branch 1- <> col: 325 325 0 0 ?branch 1- <> 325 325 0 0 >r ?branch rdrop ;s branch lit 325 325 0 0 ;s col: user: col: con: swap 325 325 0 0 ;s col: user: col: con: 325 325 0 0 ;s col: user: col: 325 325 0 0 ;s branch lit col: dup @ 325 325 0 0 ;s branch lit col: dup 325 325 0 0 ;s ?dup ?branch 1- <> col: 325 325 0 0 ;s ?dup ?branch 1- <> 325 325 0 0 ;s ?dup ?branch 1- 325 325 0 0 ;s ;s ;s col: sp@ user: 325 325 0 0 ;s ;s ;s col: sp@ 325 325 0 0 1- <> col: col: r> r> 325 325 0 0 1- <> col: col: r> 325 325 0 0 1- <> col: col: 325 325 0 0 1- <> col: 325 325 0 0 1- <> 325 325 0 0 / ;s col: user: col: con: 325 325 0 0 / ;s col: user: col: 325 325 0 0 / ;s col: user: 325 325 0 0 / ;s col: 325 325 0 0 / ;s ?dup ?branch 1- <> 325 325 0 0 / ;s ?dup ?branch 1- 325 325 0 0 / ;s ?dup ?branch 325 325 0 0 / ;s ?dup 325 325 0 0 - con: / ;s col: user: 325 325 0 0 - con: / ;s col: 325 325 0 0 - con: / ;s ?dup ?branch 325 325 0 0 - con: / ;s ?dup 325 325 0 0 ! ;s var: @ ?branch 323 58 135 130 ;s lit user: 323 58 135 130 ! ;s lit user: 323 169 148 6 @ user: @ 322 322 0 0 var: cell+ @ col: over col: 322 322 0 0 var: cell+ @ col: over 322 322 0 0 var: cell+ @ col: 322 322 0 0 var: cell+ @ 322 322 0 0 var: cell+ ! col: con: col: 322 322 0 0 var: cell+ ! col: con: 322 322 0 0 var: cell+ ! col: 322 322 0 0 var: cell+ ! 322 322 0 0 var: @ var: cell+ @ col: 322 322 0 0 var: @ var: cell+ @ 322 322 0 0 var: @ var: cell+ 322 322 0 0 var: @ ?branch var: @ var: 322 322 0 0 var: @ ;s var: cell+ ! 322 322 0 0 var: @ ;s var: cell+ 322 322 0 0 var: ! col: var: @ ;s 322 322 0 0 var: ! col: var: @ 322 322 0 0 user: ! ;s ;s var: ! 322 322 0 0 user: ! ;s ;s var: 322 322 0 0 nip execute col: col: col: col: 322 322 0 0 execute col: col: col: col: col: 322 322 0 0 col: var: @ ;s var: cell+ 322 322 0 0 cell+ @ col: over col: ;s 322 322 0 0 cell+ @ col: over col: 322 322 0 0 cell+ @ col: over 322 322 0 0 cell+ ! col: con: col: col: 322 322 0 0 cell+ ! col: con: col: 322 322 0 0 cell+ ! col: con: 322 322 0 0 cell+ ! col: 322 322 0 0 @ var: cell+ @ col: over 322 322 0 0 @ var: cell+ @ col: 322 322 0 0 @ var: cell+ @ 322 322 0 0 @ var: cell+ 322 322 0 0 @ col: over col: ;s @ 322 322 0 0 @ col: over col: ;s 322 322 0 0 @ col: over col: 322 322 0 0 @ col: over 322 322 0 0 @ ?branch var: @ var: cell+ 322 322 0 0 @ ?branch var: @ var: 322 322 0 0 @ ;s var: cell+ ! col: 322 322 0 0 @ ;s var: cell+ ! 322 322 0 0 @ ;s var: cell+ 322 322 0 0 ?branch var: @ var: cell+ @ 322 322 0 0 ?branch var: @ var: cell+ 322 322 0 0 ;s var: cell+ ! col: con: 322 322 0 0 ;s var: cell+ ! col: 322 322 0 0 ;s var: cell+ ! 322 322 0 0 ;s var: cell+ 322 322 0 0 ;s var: @ ?branch var: @ 322 322 0 0 ;s var: @ ?branch var: 322 322 0 0 ;s var: ! col: var: @ 322 322 0 0 ;s user: ! ;s ;s var: 322 322 0 0 ;s ;s var: ! col: var: 322 322 0 0 ;s ;s var: ! col: 322 322 0 0 ;s ;s ;s ;s col: sp@ 322 322 0 0 ! col: var: @ ;s var: 322 322 0 0 ! col: var: @ ;s 322 322 0 0 ! col: var: @ 322 322 0 0 ! ;s var: @ ?branch var: 322 322 0 0 ! ;s ;s var: ! col: 322 322 0 0 ! ;s ;s var: ! 322 0 322 0 ;s lp+ ;s @local1 col: 320 320 0 0 ?branch 1+ user: +! ;s con: 320 320 0 0 1+ user: +! ;s con: write-file 320 320 0 0 1+ user: +! ;s con: 320 320 0 0 1+ user: +! ;s 2drop lit 320 320 0 0 ! ;s ;s branch ;s user: 320 320 0 0 ! ;s ;s branch ;s 320 13 16 291 ;s rdrop ;s 319 92 0 227 field: @ execute col: col: @ 319 92 0 227 execute col: col: @ (f83find) ;s 319 92 0 227 execute col: col: @ (f83find) 319 92 0 227 execute col: col: @ 319 92 0 227 col: col: @ (f83find) ;s dup 319 92 0 227 col: col: @ (f83find) ;s 319 92 0 227 col: col: @ (f83find) 319 92 0 227 col: col: @ 319 92 0 227 col: @ (f83find) ;s dup 0= 319 92 0 227 col: @ (f83find) ;s dup 319 92 0 227 @ execute col: col: @ (f83find) 319 92 0 227 @ execute col: col: @ 319 92 0 227 @ (f83find) ;s dup 0= ?branch 319 92 0 227 @ (f83find) ;s dup 0= 319 92 0 227 @ (f83find) ;s dup 319 92 0 227 (f83find) ;s dup 0= ?branch 319 92 0 227 (f83find) ;s dup 0= 319 92 0 227 (f83find) ;s dup 319 0 319 0 dup col: user: @ swap - 319 0 319 0 dup col: user: @ swap 319 0 319 0 dup col: user: @ 319 0 319 0 dup col: user: 318 93 83 142 lit over 0<> ?branch faligned nip 318 93 83 142 lit over 0<> ?branch faligned 318 93 83 142 col: lit over 0<> ?branch faligned 318 92 109 117 branch ;s ;s branch 318 0 318 0 branch drop ;s ;s ;s 317 6 20 291 var: +! var: 317 6 20 291 lit var: +! var: 317 6 20 291 +! var: 317 6 20 291 ! lit var: +! var: 317 6 20 291 ! lit var: +! 317 6 20 291 ! lit var: 317 144 161 12 user: @ user: 316 90 109 117 branch ;s ;s branch col: sp@ 316 90 109 117 branch ;s ;s branch col: 316 121 195 0 ! swap 316 0 58 258 ! ;s con: col: col: col: 316 0 0 316 ;s col: var: col: lit swap 316 0 0 316 ;s col: var: col: lit 316 0 0 316 ;s ;s col: var: col: lit 315 315 0 0 user: +! ;s 2drop ;s branch 315 315 0 0 swap col: ;s ! ;s ;s 315 315 0 0 col: ;s ! ;s ;s branch 315 315 0 0 col: ;s ! ;s ;s 315 315 0 0 @ execute col: lit col: >r 315 315 0 0 ;s 2drop ;s branch ;s user: 315 315 0 0 ;s 2drop ;s branch ;s 315 315 0 0 2drop ;s branch ;s user: @ 315 315 0 0 2drop ;s branch ;s user: 315 315 0 0 2drop ;s branch ;s 315 315 0 0 +! ;s 2drop ;s branch ;s 315 315 0 0 +! ;s 2drop ;s branch 314 48 257 9 var: ! ;s col: var: @ 314 48 257 9 var: ! ;s col: var: 314 119 195 0 user: ! swap 314 0 314 0 lit cells over = ?branch drop 314 0 314 0 cells over = ?branch drop col: 314 0 314 0 cells over = ?branch drop 313 313 0 0 ;s ;s lit col: dup @ 313 313 0 0 ;s ;s lit col: dup 313 1 272 40 con: lit 312 0 0 312 dup does: @ col: var: col: 312 0 0 312 dup does: @ col: var: 312 0 0 312 dup does: @ col: 311 41 221 49 nip nip execute col: defer: col: 311 41 221 49 nip execute col: defer: col: 311 41 221 49 execute col: defer: col: 310 96 105 109 ?branch col: col: col: user: @ 310 96 105 109 ?branch col: col: col: user: 310 310 0 0 ;s ;s lit col: var: @ 310 310 0 0 ;s ;s ;s lit col: var: 310 310 0 0 ;s ! ;s ;s branch ;s 310 0 310 0 lit @local1 309 309 0 0 user: ! ;s ;s over col: 309 309 0 0 user: ! ;s ;s over 309 309 0 0 over col: over col: ;s @ 309 309 0 0 over col: over col: ;s 309 309 0 0 over col: over col: 309 309 0 0 over col: over 309 309 0 0 nip nip execute col: dup 0< 309 309 0 0 nip execute col: dup 0< ?branch 309 309 0 0 nip execute col: dup 0< 309 309 0 0 execute col: dup 0< ?branch 309 309 0 0 execute col: dup 0< 309 309 0 0 col: dup 0< ?branch 309 309 0 0 ;s user: ! ;s ;s over 309 309 0 0 ;s over col: over col: ;s 309 309 0 0 ;s over col: over col: 309 309 0 0 ;s over col: over 309 309 0 0 ;s lit col: var: @ dup 309 309 0 0 ;s ;s over col: over col: 309 309 0 0 ;s ;s over col: over 309 309 0 0 ! ;s ;s over col: over 309 309 0 0 ! ;s ;s over col: 309 309 0 0 ! ;s ;s over 309 0 0 309 branch ;s col: col: var: 307 0 0 307 ;s dup does: @ col: var: 307 0 0 307 ;s dup does: @ col: 307 0 0 307 ;s dup does: @ 307 0 0 307 ;s dup does: 307 0 0 307 ;s ;s + ;s @ col: 307 0 0 307 ;s + ;s @ col: 306 7 7 292 var: field: @ col: col: col: 306 7 7 292 var: field: @ col: col: 306 7 7 292 var: field: @ col: 306 7 7 292 var: field: @ 306 7 7 292 var: field: 306 7 7 292 var: ! defer: 306 7 7 292 field: dup var: ! defer: 306 7 7 292 field: dup var: ! 306 7 7 292 field: dup var: 306 7 7 292 field: dup 306 7 7 292 field: @ col: col: col: user: 306 7 7 292 field: @ col: col: col: 306 7 7 292 dup var: ! defer: 306 7 7 292 dup field: dup var: ! defer: 306 7 7 292 dup field: dup var: ! 306 7 7 292 dup field: dup var: 306 7 7 292 dup field: dup 306 7 7 292 ;s var: field: @ col: col: 306 7 7 292 ;s var: field: @ col: 306 7 7 292 ;s var: field: @ 306 7 7 292 ;s var: field: 306 7 7 292 ;s dup field: dup var: ! 306 7 7 292 ;s dup field: dup var: 306 7 7 292 ;s dup field: dup 306 7 7 292 ;s dup field: 306 7 7 292 ;s ;s var: field: @ col: 306 7 7 292 ;s ;s var: field: @ 306 7 7 292 ;s ;s var: field: 306 7 7 292 ;s ;s dup field: dup var: 306 7 7 292 ;s ;s dup field: dup 306 7 7 292 ;s ;s dup field: 306 7 7 292 ;s ;s ! ;s ;s dup 306 7 7 292 ;s ! ;s ;s var: field: 306 7 7 292 ;s ! ;s ;s dup field: 306 7 7 292 ! defer: 306 7 7 292 ! ;s ;s var: field: @ 306 7 7 292 ! ;s ;s var: field: 306 7 7 292 ! ;s ;s dup field: dup 306 7 7 292 ! ;s ;s dup field: 306 0 303 3 does: 2@ ;s 306 0 303 3 does: 2@ 306 0 0 306 ;s c@ 0= 306 0 0 306 ;s ;s + ;s c@ 0= 306 0 0 306 ;s + ;s c@ 0= 306 0 0 306 + ;s c@ 0= 305 7 6 292 var: @ con: 305 7 6 292 @ >r var: 305 305 0 0 swap col: ;s ! ;s col: 305 305 0 0 col: ;s ! ;s col: col: 305 305 0 0 col: ;s ! ;s col: 305 181 124 0 var: ! ;s does: col: var: 305 181 124 0 var: ! ;s does: col: 305 181 124 0 var: ! ;s does: 305 0 0 305 swap lshift ;s over @ or 305 0 0 305 swap lshift ;s over @ 305 0 0 305 swap lshift ;s over 305 0 0 305 swap col: con: /mod cells rot 305 0 0 305 swap col: con: /mod cells 305 0 0 305 swap col: con: /mod 305 0 0 305 over @ or swap ! ;s 305 0 0 305 over @ or swap ! 305 0 0 305 over @ or swap 305 0 0 305 over @ or 305 0 0 305 or swap ! ;s 305 0 0 305 or swap ! 305 0 0 305 lshift ;s over @ or swap 305 0 0 305 lshift ;s over @ or 305 0 0 305 lshift ;s over @ 305 0 0 305 lshift ;s over 305 0 0 305 lit swap lshift ;s over @ 305 0 0 305 lit swap lshift ;s over 305 0 0 305 col: swap col: con: /mod cells 305 0 0 305 col: swap col: con: /mod 305 0 0 305 col: swap col: con: 305 0 0 305 col: swap col: 305 0 0 305 col: lit swap lshift ;s over 305 0 0 305 @ or swap ! ;s 305 0 0 305 @ or swap ! 305 0 0 305 @ or swap 305 0 0 305 @ or 305 0 0 305 ;s over @ or swap ! 305 0 0 305 ;s over @ or swap 305 0 0 305 ;s over @ or 305 0 0 305 ;s over @ 304 17 0 287 defer: (type) lit 304 17 0 287 (type) lit 304 0 0 304 con: does: @ col: var: col: 304 0 0 304 con: does: @ col: var: 304 0 0 304 con: does: @ col: 304 0 0 304 con: does: @ 304 0 0 304 con: does: 303 6 6 291 defer: col: cell+ dup @ 0< 303 6 6 291 defer: col: cell+ dup @ 303 6 6 291 defer: col: cell+ dup 303 6 6 291 defer: col: cell+ 303 6 6 291 col: cell+ dup @ 0< ?branch 303 6 6 291 col: cell+ dup @ 0< 303 6 6 291 col: cell+ dup @ 303 6 6 291 cell+ dup @ 0< ?branch 303 6 6 291 cell+ dup @ 0< 303 6 6 291 cell+ dup @ 302 6 5 291 var: over cell+ ! dup @ 302 6 5 291 var: over cell+ ! dup 302 6 5 291 var: over cell+ ! 302 6 5 291 var: over cell+ 302 6 5 291 var: @ over ! lit var: 302 6 5 291 var: @ over ! lit 302 6 5 291 var: @ over ! 302 6 5 291 var: @ con: >= ?branch ;s 302 6 5 291 var: @ con: >= ?branch 302 6 5 291 var: @ con: >= 302 6 5 291 var: @ >r var: col: con: 302 6 5 291 var: @ >r var: col: 302 6 5 291 var: @ >r var: 302 6 5 291 var: @ >r 302 6 5 291 var: @ 0= ?branch 302 6 5 291 var: @ 0= 302 6 5 291 var: +! var: @ con: >= 302 6 5 291 var: +! var: @ con: 302 6 5 291 var: +! var: @ 302 6 5 291 swap ! ;s col: var: @ 302 6 5 291 r> var: ! ;s 302 6 5 291 r> var: ! 302 6 5 291 over cell+ ! dup @ dup 302 6 5 291 over cell+ ! dup @ 302 6 5 291 over cell+ ! dup 302 6 5 291 over cell+ ! 302 6 5 291 over ! lit var: +! var: 302 6 5 291 over ! lit var: +! 302 6 5 291 over ! lit var: 302 6 5 291 over ! lit 302 6 5 291 lit var: +! var: @ con: 302 6 5 291 lit var: +! var: @ 302 6 5 291 lit cells - var: over cell+ 302 6 5 291 lit cells - var: over 302 6 5 291 lit cells - var: 302 6 5 291 lit cells - 302 6 5 291 dup ?branch 2drop r> var: ! 302 6 5 291 dup ?branch 2drop r> var: 302 6 5 291 dup ?branch 2drop r> 302 6 5 291 con: >= ?branch ;s lit cells 302 6 5 291 con: >= ?branch ;s lit 302 6 5 291 con: >= ?branch ;s 302 6 5 291 con: >= ?branch 302 6 5 291 con: >= 302 6 5 291 col: var: @ 0= ?branch 302 6 5 291 col: var: @ 0= 302 6 5 291 cells - var: over cell+ ! 302 6 5 291 cells - var: over cell+ 302 6 5 291 cells - var: over 302 6 5 291 cells - var: 302 6 5 291 cells - 302 6 5 291 cell+ dup @ 0< ?branch var: 302 6 5 291 cell+ ! dup @ dup ?branch 302 6 5 291 cell+ ! dup @ dup 302 6 5 291 cell+ ! dup @ 302 6 5 291 cell+ ! dup 302 6 5 291 @ over ! lit var: +! 302 6 5 291 @ over ! lit var: 302 6 5 291 @ over ! lit 302 6 5 291 @ dup ?branch 2drop r> var: 302 6 5 291 @ dup ?branch 2drop r> 302 6 5 291 @ dup ?branch 2drop 302 6 5 291 @ con: >= ?branch ;s lit 302 6 5 291 @ con: >= ?branch ;s 302 6 5 291 @ con: >= ?branch 302 6 5 291 @ con: >= 302 6 5 291 @ >r var: col: con: swap 302 6 5 291 @ >r var: col: con: 302 6 5 291 @ >r var: col: 302 6 5 291 @ 0< ?branch var: @ >r 302 6 5 291 ?branch var: @ >r var: col: 302 6 5 291 ?branch var: @ >r var: 302 6 5 291 ?branch var: @ >r 302 6 5 291 ?branch ;s lit cells - var: 302 6 5 291 ?branch ;s lit cells - 302 6 5 291 ?branch ;s lit cells 302 6 5 291 ?branch 2drop r> var: ! ;s 302 6 5 291 ?branch 2drop r> var: ! 302 6 5 291 ?branch 2drop r> var: 302 6 5 291 ?branch 2drop r> 302 6 5 291 >r var: col: con: swap ! 302 6 5 291 >r var: col: con: swap 302 6 5 291 >r var: col: con: 302 6 5 291 >r var: col: 302 6 5 291 >= ?branch ;s lit cells - 302 6 5 291 >= ?branch ;s lit cells 302 6 5 291 >= ?branch ;s lit 302 6 5 291 >= ?branch ;s 302 6 5 291 >= ?branch 302 6 5 291 ;s lit cells - var: over 302 6 5 291 ;s lit cells - var: 302 6 5 291 ;s lit cells - 302 6 5 291 ;s col: var: @ 0= ?branch 302 6 5 291 ;s col: var: @ 0= 302 6 5 291 2drop r> var: ! ;s 302 6 5 291 2drop r> var: ! 302 6 5 291 2drop r> var: 302 6 5 291 0< ?branch var: @ >r var: 302 6 5 291 0< ?branch var: @ >r 302 6 5 291 - var: over cell+ ! dup 302 6 5 291 - var: over cell+ ! 302 6 5 291 - var: over cell+ 302 6 5 291 - var: over 302 6 5 291 - var: 302 6 5 291 +! var: @ con: >= ?branch 302 6 5 291 +! var: @ con: >= 302 6 5 291 +! var: @ con: 302 6 5 291 +! var: @ 302 6 5 291 ! lit var: +! var: @ 302 6 5 291 ! dup @ dup ?branch 302 6 5 291 ! dup @ dup 302 6 5 291 ! dup @ 302 6 5 291 ! ;s col: var: @ 0= 301 0 0 301 over col: swap col: con: /mod 301 0 0 301 over col: swap col: con: 301 0 0 301 over col: swap col: 301 0 0 301 over col: swap 300 11 1 288 var: 2! col: 300 11 1 288 ;s var: 2! col: 300 11 1 288 2! col: 299 5 4 290 var: @ 0= ?branch var: @ 299 5 4 290 var: @ 0= ?branch var: 299 5 4 290 col: var: @ 0= ?branch var: 299 5 4 290 @ 0= ?branch var: @ over 299 5 4 290 @ 0= ?branch var: @ 299 5 4 290 @ 0= ?branch var: 299 5 4 290 ?branch var: @ over ! lit 299 5 4 290 ?branch var: @ over ! 299 5 4 290 ?branch var: @ over 299 5 4 290 0= ?branch var: @ over ! 299 5 4 290 0= ?branch var: @ over 299 12 0 287 rot swap 299 0 5 294 ! ;s (loop) 299 0 299 0 execute col: >l lp- @local1 does: 299 0 299 0 @local0 >l lp- @local1 ?branch 299 0 299 0 >l @local0 >l lp- @local1 ?branch 297 4 4 289 var: ! defer: col: cell+ dup 297 4 4 289 var: ! defer: col: cell+ 297 4 4 289 var: ! defer: col: 297 4 4 289 field: dup var: ! defer: col: 297 4 4 289 dup var: ! defer: col: cell+ 297 4 4 289 dup var: ! defer: col: 297 4 4 289 ! defer: col: cell+ dup @ 297 4 4 289 ! defer: col: cell+ dup 297 4 4 289 ! defer: col: cell+ 297 4 4 289 ! defer: col: 297 10 0 287 var: 2! col: col: r> r> 297 10 0 287 var: 2! col: col: r> 297 10 0 287 var: 2! col: col: 297 10 0 287 ;s var: 2! col: col: r> 297 10 0 287 ;s var: 2! col: col: 297 10 0 287 2! col: col: r> r> dup 297 10 0 287 2! col: col: r> r> 297 10 0 287 2! col: col: r> 297 10 0 287 2! col: col: 297 0 7 290 2! ;s col: 296 84 119 93 nip nip execute col: col: r> 296 84 119 93 nip execute col: col: r> dup 296 84 119 93 nip execute col: col: r> 296 84 119 93 execute col: col: r> dup cell+ 296 84 119 93 execute col: col: r> dup 296 4 3 289 r> var: ! ;s ;s 296 4 3 289 dup @ dup ?branch 2drop r> 296 4 3 289 dup @ dup ?branch 2drop 296 4 3 289 2drop r> var: ! ;s ;s 296 4 3 289 ! dup @ dup ?branch 2drop 296 178 77 41 ! ;s branch 295 0 295 0 defer: (type) ;s @local1 col: >l 295 0 295 0 defer: (type) ;s @local1 col: 295 0 295 0 count defer: (type) ;s @local1 col: 295 0 295 0 (type) ;s @local1 col: >l lp- 295 0 295 0 (type) ;s @local1 col: >l 295 0 295 0 (type) ;s @local1 col: 294 0 0 294 swap - 1- dup ?branch col: 294 0 0 294 dup ?branch col: col: r> r> 294 0 0 294 dup ?branch col: col: r> 294 0 0 294 dup ?branch col: col: 294 0 0 294 defer: (type) ;s branch ;s col: 294 0 0 294 defer: (type) ;s branch ;s 294 0 0 294 defer: (type) ;s branch 294 0 0 294 count defer: (type) ;s branch ;s 294 0 0 294 count defer: (type) ;s branch 294 0 0 294 branch ;s col: col: r> r> 294 0 0 294 branch ;s col: col: r> 294 0 0 294 ;s count defer: (type) ;s branch 294 0 0 294 ;s branch ;s col: col: r> 294 0 0 294 1- dup ?branch col: col: r> 294 0 0 294 1- dup ?branch col: col: 294 0 0 294 1- dup ?branch col: 294 0 0 294 - 1- dup ?branch col: col: 294 0 0 294 - 1- dup ?branch col: 294 0 0 294 (type) ;s branch ;s col: col: 294 0 0 294 (type) ;s branch ;s col: 294 0 0 294 (type) ;s branch ;s 294 0 0 294 (type) ;s branch 293 0 6 287 2@ rot 293 0 293 0 @ @local1 col: >l >l @local0 293 0 293 0 @ @local1 col: >l >l 292 84 7 201 nip nip execute col: ;s ;s 292 84 7 201 nip nip execute col: ;s 292 84 7 201 nip execute col: ;s ;s branch 292 84 7 201 nip execute col: ;s ;s 292 84 7 201 nip execute col: ;s 292 84 7 201 execute col: ;s ;s branch col: 292 84 7 201 execute col: ;s ;s branch 292 84 7 201 col: ;s ;s branch col: sp@ 292 84 7 201 col: ;s ;s branch col: 292 84 7 201 col: ;s ;s branch 292 84 7 201 ?branch nip nip execute col: ;s 292 4 1 287 cr ;s ;s 291 106 117 68 ?branch col: user: @ ?branch 291 0 291 0 lit ! ;s lit col: 291 0 291 0 lit ! ;s lit 291 0 291 0 ;s @local3 col: 290 290 0 0 var: @ 0<> and ?branch var: 290 290 0 0 and ?branch var: col: con: swap 290 290 0 0 and ?branch var: col: con: 290 290 0 0 and ?branch var: col: 290 290 0 0 and ?branch var: 290 290 0 0 @ 0<> and ?branch var: col: 290 290 0 0 @ 0<> and ?branch var: 290 290 0 0 0<> and ?branch var: col: con: 290 290 0 0 0<> and ?branch var: col: 290 290 0 0 0<> and ?branch var: 290 105 117 68 ?branch col: user: @ ?branch col: 290 1 1 288 ;s var: 2! var: 289 41 248 0 ! ;s col: var: @ 1- 289 289 0 0 execute col: dup 0< ?branch var: 289 289 0 0 dup 0< ?branch var: col: con: 289 289 0 0 dup 0< ?branch var: col: 289 289 0 0 dup 0< ?branch var: 289 289 0 0 col: dup 0< ?branch var: col: 289 289 0 0 col: dup 0< ?branch var: 289 289 0 0 ;s col: col: col: col: var: 289 289 0 0 0< ?branch var: col: con: swap 289 289 0 0 0< ?branch var: col: con: 289 289 0 0 0< ?branch var: col: 289 117 67 105 drop ;s col: 288 0 0 288 ;s dup var: ! col: 288 0 0 288 ;s dup var: ! 288 0 0 288 ;s dup var: 288 0 0 288 ;s ;s ;s does: @ col: 288 0 0 288 ;s ;s ;s does: @ 288 0 0 288 ;s ;s ;s does: 287 0 0 287 var: @ over - ;s 2dup 287 0 0 287 var: @ execute col: col: col: 287 0 0 287 var: @ execute col: col: 287 0 0 287 var: @ execute col: 287 0 0 287 var: @ execute 287 0 0 287 var: 2@ var: 2@ rot swap 287 0 0 287 var: 2@ var: 2@ rot 287 0 0 287 var: 2@ var: 2@ 0= rot 287 0 0 287 var: 2@ var: 2@ 0= 287 0 0 287 var: 2@ var: 2@ 0<> rot 287 0 0 287 var: 2@ var: 2@ 0<> 287 0 0 287 var: 2@ rot swap - rot 287 0 0 287 var: 2@ rot swap - 287 0 0 287 var: 2@ rot swap 287 0 0 287 var: 2@ rot 287 0 0 287 var: 2@ defer: (type) lit defer: 287 0 0 287 var: 2@ defer: (type) lit 287 0 0 287 var: 2@ 0= rot 0<> and 287 0 0 287 var: 2@ 0= rot 0<> 287 0 0 287 var: 2@ 0= rot 287 0 0 287 var: 2@ 0= 287 0 0 287 var: 2@ 0<> rot 0= and 287 0 0 287 var: 2@ 0<> rot 0= 287 0 0 287 var: 2@ 0<> rot 287 0 0 287 var: 2@ 0<> 287 0 0 287 var: 2! var: var: @ col: 287 0 0 287 var: 2! var: var: @ 287 0 0 287 var: 2! var: var: 287 0 0 287 var: 2! var: 2! ;s lit 287 0 0 287 var: 2! var: 2! ;s 287 0 0 287 var: 2! var: 2! 287 0 0 287 var: 2! ;s col: col: r> 287 0 0 287 var: 2! ;s col: col: 287 0 0 287 var: 2! ;s col: 287 0 0 287 var: ! col: var: ! ;s 287 0 0 287 var: ! col: var: ! 287 0 0 287 var: ! ;s var: var: @ 287 0 0 287 var: ! ;s var: var: 287 0 0 287 var: ! ;s lit col: col: 287 0 0 287 var: ! ;s lit col: 287 0 0 287 var: ! ;s ;s dup var: 287 0 0 287 var: ! ;s ;s dup 287 0 0 287 unloop ;s var: var: @ col: 287 0 0 287 unloop ;s var: var: @ 287 0 0 287 unloop ;s var: var: 287 0 0 287 unloop ;s var: 2! var: var: 287 0 0 287 unloop ;s var: 2! var: 287 0 0 287 unloop ;s var: 2! ;s col: 287 0 0 287 unloop ;s var: 2! ;s 287 0 0 287 unloop ;s ;s col: var: var: 287 0 0 287 unloop ;s ;s col: var: 287 0 0 287 swap 0= and ?branch 287 0 0 287 swap 0= and 287 0 0 287 swap 0= 287 0 0 287 swap 0<> and ?branch 287 0 0 287 swap 0<> and 287 0 0 287 swap 0<> 287 0 0 287 swap - rot rot - ?dup 287 0 0 287 swap - rot rot - 287 0 0 287 swap - rot rot 287 0 0 287 swap - rot 287 0 0 287 rot swap - rot rot - 287 0 0 287 rot swap - rot rot 287 0 0 287 rot swap - rot 287 0 0 287 rot swap - 287 0 0 287 rot rot - ?dup ?branch 287 0 0 287 rot rot - ?dup 287 0 0 287 rot rot - 287 0 0 287 rot 0= and ?branch 287 0 0 287 rot 0= and 287 0 0 287 rot 0= 287 0 0 287 rot 0<> and ?branch 287 0 0 287 rot 0<> and 287 0 0 287 rot 0<> 287 0 0 287 rot - ?dup ?branch 287 0 0 287 rot - ?dup 287 0 0 287 rot - 287 0 0 287 r> var: ! ;s ;s dup 287 0 0 287 over - ;s 2dup var: 2! 287 0 0 287 over - ;s 2dup var: 287 0 0 287 over - ;s 2dup 287 0 0 287 lit defer: (emit) var: 2@ defer: 287 0 0 287 lit defer: (emit) var: 2@ 287 0 0 287 lit defer: (emit) var: 287 0 0 287 lit defer: (emit) col: col: r> 287 0 0 287 lit defer: (emit) col: col: 287 0 0 287 lit defer: (emit) col: 287 0 0 287 lit @ execute col: col: var: 287 0 0 287 lit @ execute col: col: col: 287 0 0 287 execute col: col: var: ;s lit 287 0 0 287 execute col: col: var: ;s 287 0 0 287 execute col: col: col: col: r> 287 0 0 287 dup var: ! col: var: ! 287 0 0 287 dup var: ! col: var: 287 0 0 287 defer: (type) lit defer: (emit) col: 287 0 0 287 defer: (type) lit defer: (emit) 287 0 0 287 defer: (type) lit defer: 287 0 0 287 defer: (type) ;s lit defer: (emit) 287 0 0 287 defer: (type) ;s lit defer: 287 0 0 287 defer: (type) ;s cr var: 2@ 287 0 0 287 defer: (type) ;s cr var: 287 0 0 287 defer: (type) ;s cr cr ;s 287 0 0 287 defer: (type) ;s cr cr 287 0 0 287 defer: (emit) var: 2@ defer: (type) 287 0 0 287 defer: (emit) var: 2@ defer: 287 0 0 287 defer: (emit) var: 2@ 287 0 0 287 defer: (emit) var: 287 0 0 287 defer: (emit) col: col: r> r> 287 0 0 287 defer: (emit) col: col: r> 287 0 0 287 defer: (emit) col: col: 287 0 0 287 defer: (emit) col: 287 0 0 287 cr var: 2@ defer: (type) col: 287 0 0 287 cr var: 2@ defer: (type) 287 0 0 287 cr var: 2@ defer: 287 0 0 287 cr var: 2@ 287 0 0 287 cr var: 287 0 0 287 cr cr ;s ;s ;s branch 287 0 0 287 cr cr ;s ;s ;s 287 0 0 287 cr cr ;s ;s 287 0 0 287 cr cr ;s 287 0 0 287 cr cr 287 0 0 287 cr col: var: @ var: (?do) 287 0 0 287 cr col: var: @ var: 287 0 0 287 cr col: var: @ 287 0 0 287 cr col: var: 2@ var: 2@ 287 0 0 287 cr col: var: 2@ var: 287 0 0 287 cr col: var: 2@ 287 0 0 287 cr col: col: col: col: user: 287 0 0 287 cr col: col: col: col: 287 0 0 287 cr col: col: col: 287 0 0 287 cr ;s ;s ;s branch lit 287 0 0 287 cr ;s ;s ;s branch 287 0 0 287 cr ;s ;s ;s 287 0 0 287 count defer: (type) ;s lit defer: 287 0 0 287 count defer: (type) ;s cr var: 287 0 0 287 count defer: (type) ;s cr cr 287 0 0 287 count ;s var: 2! col: col: 287 0 0 287 count ;s var: 2! col: 287 0 0 287 count ;s var: 2! ;s lit 287 0 0 287 count ;s var: 2! ;s 287 0 0 287 col: var: var: @ col: lit 287 0 0 287 col: var: var: @ col: 287 0 0 287 col: var: var: @ 287 0 0 287 col: var: @ execute col: col: 287 0 0 287 col: var: @ execute col: 287 0 0 287 col: var: @ execute 287 0 0 287 col: var: 2@ var: 2@ rot 287 0 0 287 col: var: 2@ var: 2@ 0= 287 0 0 287 col: var: 2@ var: 2@ 0<> 287 0 0 287 col: var: ! ;s var: var: 287 0 0 287 col: var: ! ;s var: 287 0 0 287 col: var: ! ;s lit col: 287 0 0 287 col: var: ! ;s lit 287 0 0 287 col: col: var: @ execute col: 287 0 0 287 col: col: var: @ execute 287 0 0 287 col: col: var: ;s lit col: 287 0 0 287 col: col: var: ;s lit 287 0 0 287 col: col: var: ;s 287 0 0 287 col: col: col: col: r> r> 287 0 0 287 col: col: col: col: r> 287 0 0 287 @ over - ;s 2dup var: 287 0 0 287 @ over - ;s 2dup 287 0 0 287 @ execute col: col: var: ;s 287 0 0 287 @ execute col: col: col: r> 287 0 0 287 @ execute col: col: col: col: 287 0 0 287 ?branch lit @ execute col: col: 287 0 0 287 ?branch col: var: ;s lit col: 287 0 0 287 ?branch col: var: ;s lit 287 0 0 287 ?branch col: var: ;s 287 0 0 287 ?branch col: var: ! ;s lit 287 0 0 287 ?branch col: var: ! ;s ;s 287 0 0 287 ;s var: 2! var: var: @ 287 0 0 287 ;s var: 2! var: var: 287 0 0 287 ;s var: 2! ;s col: col: 287 0 0 287 ;s var: 2! ;s col: 287 0 0 287 ;s lit defer: (emit) var: 2@ 287 0 0 287 ;s lit defer: (emit) var: 287 0 0 287 ;s lit defer: (emit) 287 0 0 287 ;s lit defer: 287 0 0 287 ;s lit @ execute col: col: 287 0 0 287 ;s dup var: ! col: var: 287 0 0 287 ;s cr var: 2@ defer: (type) 287 0 0 287 ;s cr var: 2@ defer: 287 0 0 287 ;s cr var: 2@ 287 0 0 287 ;s cr var: 287 0 0 287 ;s cr cr ;s ;s ;s 287 0 0 287 ;s cr cr ;s ;s 287 0 0 287 ;s cr cr ;s 287 0 0 287 ;s cr cr 287 0 0 287 ;s cr col: var: @ var: 287 0 0 287 ;s cr col: var: @ 287 0 0 287 ;s cr col: var: 2@ var: 287 0 0 287 ;s cr col: var: 2@ 287 0 0 287 ;s cr col: col: col: col: 287 0 0 287 ;s cr col: col: col: 287 0 0 287 ;s count ;s var: 2! col: 287 0 0 287 ;s count ;s var: 2! ;s 287 0 0 287 ;s col: var: var: @ col: 287 0 0 287 ;s col: var: var: @ 287 0 0 287 ;s col: var: var: 287 0 0 287 ;s col: var: @ var: (?do) 287 0 0 287 ;s col: col: var: @ execute 287 0 0 287 ;s ?branch col: var: ;s lit 287 0 0 287 ;s ?branch col: var: ;s 287 0 0 287 ;s ;s dup var: ! col: 287 0 0 287 ;s ;s dup var: ! 287 0 0 287 ;s ;s dup var: 287 0 0 287 ;s ;s col: var: var: @ 287 0 0 287 ;s ;s col: var: var: 287 0 0 287 ;s ;s branch lit col: col: 287 0 0 287 ;s ;s branch lit col: 287 0 0 287 ;s ;s branch lit 287 0 0 287 ;s ;s ?branch col: var: ;s 287 0 0 287 ;s ;s ;s branch lit col: 287 0 0 287 ;s ;s ;s branch lit 287 0 0 287 ;s 2dup var: 2! var: 2! 287 0 0 287 ;s 2dup var: 2! var: 287 0 0 287 ;s 2dup var: 2! 287 0 0 287 ;s 2dup var: 287 0 0 287 2dup var: 2! var: 2! ;s 287 0 0 287 2dup var: 2! var: 2! 287 0 0 287 2dup var: 2! var: 287 0 0 287 2dup var: 2! 287 0 0 287 2@ var: 2@ rot swap - 287 0 0 287 2@ var: 2@ rot swap 287 0 0 287 2@ var: 2@ rot 287 0 0 287 2@ var: 2@ 0= rot 0<> 287 0 0 287 2@ var: 2@ 0= rot 287 0 0 287 2@ var: 2@ 0= 287 0 0 287 2@ var: 2@ 0<> rot 0= 287 0 0 287 2@ var: 2@ 0<> rot 287 0 0 287 2@ var: 2@ 0<> 287 0 0 287 2@ rot swap - rot rot 287 0 0 287 2@ rot swap - rot 287 0 0 287 2@ rot swap - 287 0 0 287 2@ rot swap 287 0 0 287 2@ defer: (type) lit defer: (emit) 287 0 0 287 2@ defer: (type) lit defer: 287 0 0 287 2@ defer: (type) lit 287 0 0 287 2@ 0= rot 0<> and ?branch 287 0 0 287 2@ 0= rot 0<> and 287 0 0 287 2@ 0= rot 0<> 287 0 0 287 2@ 0= rot 287 0 0 287 2@ 0= 287 0 0 287 2@ 0<> rot 0= and ?branch 287 0 0 287 2@ 0<> rot 0= and 287 0 0 287 2@ 0<> rot 0= 287 0 0 287 2@ 0<> rot 287 0 0 287 2@ 0<> 287 0 0 287 2! var: var: @ col: lit 287 0 0 287 2! var: var: @ col: 287 0 0 287 2! var: var: @ 287 0 0 287 2! var: var: 287 0 0 287 2! var: 2! ;s lit col: 287 0 0 287 2! var: 2! ;s lit 287 0 0 287 2! var: 2! ;s 287 0 0 287 2! var: 2! 287 0 0 287 2! ;s col: col: r> r> 287 0 0 287 2! ;s col: col: r> 287 0 0 287 2! ;s col: col: 287 0 0 287 0= swap 0<> and ?branch 287 0 0 287 0= swap 0<> and 287 0 0 287 0= swap 0<> 287 0 0 287 0= swap 287 0 0 287 0= rot 0<> and ?branch 287 0 0 287 0= rot 0<> and 287 0 0 287 0= rot 0<> 287 0 0 287 0= rot 287 0 0 287 0<> swap 0= and ?branch 287 0 0 287 0<> swap 0= and 287 0 0 287 0<> swap 0= 287 0 0 287 0<> swap 287 0 0 287 0<> rot 0= and ?branch 287 0 0 287 0<> rot 0= and 287 0 0 287 0<> rot 0= 287 0 0 287 0<> rot 287 0 0 287 - rot rot - ?dup ?branch 287 0 0 287 - rot rot - ?dup 287 0 0 287 - rot rot - 287 0 0 287 - rot rot 287 0 0 287 - rot 287 0 0 287 - ?dup ?branch 287 0 0 287 - ?dup 287 0 0 287 - ;s 2dup var: 2! var: 287 0 0 287 - ;s 2dup var: 2! 287 0 0 287 - ;s 2dup var: 287 0 0 287 - ;s 2dup 287 0 0 287 (type) lit defer: (emit) col: col: 287 0 0 287 (type) lit defer: (emit) col: 287 0 0 287 (type) lit defer: (emit) 287 0 0 287 (type) lit defer: 287 0 0 287 (type) ;s lit defer: (emit) var: 287 0 0 287 (type) ;s lit defer: (emit) 287 0 0 287 (type) ;s lit defer: 287 0 0 287 (type) ;s cr var: 2@ defer: 287 0 0 287 (type) ;s cr var: 2@ 287 0 0 287 (type) ;s cr var: 287 0 0 287 (type) ;s cr cr ;s ;s 287 0 0 287 (type) ;s cr cr ;s 287 0 0 287 (type) ;s cr cr 287 0 0 287 (type) ;s cr col: var: @ 287 0 0 287 (type) ;s cr col: var: 2@ 287 0 0 287 (type) ;s cr col: col: col: 287 0 0 287 (emit) var: 2@ defer: (type) lit 287 0 0 287 (emit) var: 2@ defer: (type) 287 0 0 287 (emit) var: 2@ defer: 287 0 0 287 (emit) var: 2@ 287 0 0 287 (emit) var: 287 0 0 287 (emit) col: col: r> r> dup 287 0 0 287 (emit) col: col: r> r> 287 0 0 287 (emit) col: col: r> 287 0 0 287 (emit) col: col: 287 0 0 287 (emit) col: 287 0 0 287 ! col: var: ! ;s var: 287 0 0 287 ! ;s var: var: @ col: 287 0 0 287 ! ;s var: var: @ 287 0 0 287 ! ;s var: var: 287 0 0 287 ! ;s lit col: col: var: 287 0 0 287 ! ;s ;s dup var: ! 287 0 0 287 ! ;s ;s dup var: 286 80 201 5 ;s branch dup ?branch 286 0 0 286 var: +! ;s branch ;s col: 286 0 0 286 var: +! ;s branch ;s 286 0 0 286 lit var: +! ;s branch ;s 286 0 0 286 branch ;s col: col: var: @ 286 0 0 286 @ does: @ + ;s 2@ 286 0 0 286 ;s branch ;s col: col: var: 286 0 0 286 ;s @ does: @ + ;s 286 0 0 286 +! ;s branch ;s col: col: 286 0 0 286 +! ;s branch ;s col: 286 0 0 286 +! ;s branch ;s 285 0 0 285 swap ! ;s (loop) 285 0 0 285 or swap ! ;s (loop) 285 0 0 285 i over col: swap col: con: 285 0 0 285 i over col: swap col: 285 0 0 285 i over col: swap 285 0 0 285 i over col: 285 0 0 285 i over 285 0 0 285 @ or swap ! ;s (loop) 284 6 270 8 var: var: ! 284 0 5 279 lit and ?branch ;s ;s 0= 284 0 5 279 and ?branch ;s ;s 0= 284 0 5 279 ?branch ;s ;s 0= 283 60 193 30 ;s lit col: lit 282 0 0 282 @ ;s col: col: col: 281 281 0 0 0= col: col: col: r> r> 281 281 0 0 0= col: col: col: r> 281 281 0 0 0= col: col: col: 281 0 0 281 swap ! ;s (loop) i over 281 0 0 281 swap ! ;s (loop) i 281 0 0 281 or swap ! ;s (loop) i 281 0 0 281 ;s (loop) i over col: swap 281 0 0 281 ;s (loop) i over col: 281 0 0 281 ;s (loop) i over 281 0 0 281 (loop) i over col: swap col: 281 0 0 281 (loop) i over col: swap 281 0 0 281 (loop) i over col: 281 0 0 281 (loop) i over 281 0 0 281 ! ;s (loop) i over col: 281 0 0 281 ! ;s (loop) i over 281 0 0 281 ! ;s (loop) i 280 280 0 0 user: ! drop ;s branch ;s 280 280 0 0 user: ! drop ;s branch 280 280 0 0 drop ;s branch ;s user: @ 280 280 0 0 drop ;s branch ;s user: 280 280 0 0 drop ;s branch ;s 280 280 0 0 cell+ ;s @ execute col: user: 280 280 0 0 @ execute col: user: @ ?branch 280 280 0 0 @ execute col: user: @ 280 280 0 0 @ execute col: user: 280 280 0 0 ;s user: ! drop ;s branch 280 280 0 0 ;s @ execute col: user: @ 280 280 0 0 ;s @ execute col: user: 280 280 0 0 ! drop ;s branch ;s user: 280 280 0 0 ! drop ;s branch ;s 280 280 0 0 ! drop ;s branch 280 103 111 66 0> ?branch col: user: @ ?branch 280 103 111 66 0> ?branch col: user: @ 280 103 111 66 0> ?branch col: user: 280 0 280 0 ;s ;s lp+ ;s col: col: 280 0 0 280 rot 0= and ?branch 0<> swap 280 0 0 280 rot 0= and ?branch 0<> 280 0 0 280 and ?branch 0<> swap 0= and 280 0 0 280 and ?branch 0<> swap 0= 280 0 0 280 and ?branch 0<> swap 280 0 0 280 and ?branch 0<> 280 0 0 280 @ ;s ;s + ;s ! 280 0 0 280 ?branch con: does: @ col: var: 280 0 0 280 ?branch con: does: @ col: 280 0 0 280 ?branch con: does: @ 280 0 0 280 ?branch con: does: 280 0 0 280 ?branch 0<> swap 0= and ?branch 280 0 0 280 ?branch 0<> swap 0= and 280 0 0 280 ?branch 0<> swap 0= 280 0 0 280 ?branch 0<> swap 280 0 0 280 ?branch 0<> 280 0 0 280 ;s ;s + ;s ! 280 0 0 280 ;s + ;s ! 280 0 0 280 0= and ?branch 0<> swap 0= 280 0 0 280 0= and ?branch 0<> swap 280 0 0 280 0= and ?branch 0<> 280 0 0 280 0<> rot 0= and ?branch 0<> 279 243 13 23 nip nip execute col: col: var: 279 243 13 23 nip execute col: col: var: 279 118 35 126 ;s drop ;s 279 0 0 279 var: @ dup r@ = ?branch 279 0 0 279 var: @ dup r@ = 279 0 0 279 var: @ dup r@ 279 0 0 279 rdrop ;s execute var: @ dup 279 0 0 279 rdrop ;s execute var: @ 279 0 0 279 rdrop ;s execute var: 279 0 0 279 rdrop ;s execute 279 0 0 279 rdrop ;s ?branch r@ col: 279 0 0 279 rdrop ;s ?branch r@ 279 0 0 279 rdrop ;s ?branch 279 0 0 279 r@ = ?branch 279 0 0 279 r@ = 279 0 0 279 execute var: @ dup r@ = 279 0 0 279 execute var: @ dup r@ 279 0 0 279 execute var: @ dup 279 0 0 279 execute col: >r r@ col: >r 279 0 0 279 execute col: >r r@ col: 279 0 0 279 dup r@ = ?branch 279 0 0 279 dup r@ = 279 0 0 279 col: >r r@ col: >r r@ 279 0 0 279 col: >r r@ col: >r 279 0 0 279 col: >r r@ col: 279 0 0 279 and ?branch ;s ;s 0= col: 279 0 0 279 @ dup r@ = ?branch 279 0 0 279 @ dup r@ = 279 0 0 279 @ dup r@ 279 0 0 279 ?branch rdrop ;s execute var: @ 279 0 0 279 ?branch rdrop ;s execute var: 279 0 0 279 ?branch rdrop ;s execute 279 0 0 279 ?branch r@ col: 279 0 0 279 ?branch ;s ;s 0= col: col: 279 0 0 279 ?branch ;s ;s 0= col: 279 0 0 279 >r r@ col: >r r@ does: 279 0 0 279 >r r@ col: >r r@ 279 0 0 279 >r r@ col: >r 279 0 0 279 >r ?branch rdrop ;s execute var: 279 0 0 279 >r ?branch rdrop ;s execute 279 0 0 279 ;s execute var: @ dup r@ 279 0 0 279 ;s execute var: @ dup 279 0 0 279 ;s execute var: @ 279 0 0 279 ;s execute var: 279 0 0 279 ;s execute col: >r r@ col: 279 0 0 279 ;s ?branch r@ col: 279 0 0 279 ;s ?branch r@ 279 0 0 279 ;s >r ?branch rdrop ;s execute 279 0 0 279 ;s ;s 0= col: col: r> 279 0 0 279 ;s ;s 0= col: col: 279 0 0 279 ;s ;s 0= col: 278 0 278 0 ;s lp+ ;s @local1 col: field: 276 225 0 51 ?branch col: lit col: 276 225 0 51 ?branch col: lit 276 129 67 80 user: +! ;s col: 276 129 67 80 ?branch 1+ user: +! ;s col: 276 129 67 80 1+ user: +! ;s col: 275 79 196 0 ;s ;s branch dup ?branch 275 79 196 0 ;s ;s branch dup 275 172 58 45 swap (?do) unloop ;s ;s lit 275 172 58 45 (?do) unloop ;s ;s lit col: 275 172 58 45 (?do) unloop ;s ;s lit 275 109 154 12 @ user: ! 274 0 0 274 ;s does: @ does: @ col: 274 0 0 274 ;s does: @ does: @ 274 0 0 274 ;s does: @ does: 273 76 0 197 over lit + = ?branch con: 273 76 0 197 lit + = ?branch con: (+loop) 273 76 0 197 lit + = ?branch con: 273 76 0 197 dup 0= ?branch drop lit col: 273 76 0 197 dup 0= ?branch drop lit 273 76 0 197 dup 0= ?branch drop 273 76 0 197 drop lit col: lit con: (do) 273 76 0 197 drop lit col: lit con: 273 76 0 197 drop lit col: lit 273 76 0 197 con: (+loop) dup i - count 273 76 0 197 con: (+loop) dup i - 273 76 0 197 con: (+loop) dup i 273 76 0 197 con: (+loop) dup 273 76 0 197 ?branch drop lit col: lit con: 273 76 0 197 ?branch drop lit col: lit 273 76 0 197 ?branch con: (+loop) dup i - 273 76 0 197 ?branch con: (+loop) dup i 273 76 0 197 ?branch con: (+loop) dup 273 76 0 197 ?branch con: (+loop) 273 76 0 197 = ?branch con: (+loop) dup i 273 76 0 197 = ?branch con: (+loop) dup 273 76 0 197 = ?branch con: (+loop) 273 76 0 197 ;s dup 0= ?branch drop lit 273 76 0 197 ;s dup 0= ?branch drop 273 76 0 197 0= ?branch drop lit col: lit 273 76 0 197 0= ?branch drop lit col: 273 76 0 197 0= ?branch drop lit 273 76 0 197 0= ?branch drop 273 76 0 197 + = ?branch con: (+loop) dup 273 76 0 197 + = ?branch con: (+loop) 273 76 0 197 + = ?branch con: 273 76 0 197 (f83find) ;s dup 0= ?branch drop 273 76 0 197 (+loop) dup i - count lit 273 76 0 197 (+loop) dup i - count 273 76 0 197 (+loop) dup i - 273 76 0 197 (+loop) dup i 273 76 0 197 (+loop) dup 272 0 0 272 defer: (type) ;s rdrop ;s 272 0 0 272 defer: (type) ;s rdrop 272 0 0 272 count defer: (type) ;s rdrop ;s 272 0 0 272 count defer: (type) ;s rdrop 272 0 0 272 ;s count defer: (type) ;s rdrop 272 0 0 272 (type) ;s rdrop ;s 272 0 0 272 (type) ;s rdrop 270 92 91 87 dup col: con: 270 0 270 0 ;s ;s lp+ ;s lp+ branch 269 269 0 0 col: con: + ;s 269 269 0 0 col: con: + 268 268 0 0 rdrop ;s ;s col: dup 0= 268 268 0 0 rdrop ;s ;s col: dup 268 268 0 0 dup 0= col: col: col: r> 268 268 0 0 dup 0= col: col: col: 268 268 0 0 col: dup 0= col: col: col: 268 268 0 0 col: dup 0= col: col: 268 268 0 0 col: dup 0= col: 268 268 0 0 ?branch rdrop ;s ;s col: dup 268 268 0 0 ;s col: dup 0= col: col: 268 268 0 0 ;s col: dup 0= col: 268 268 0 0 ;s ;s col: dup 0= col: 268 268 0 0 ;s ;s col: dup 0= 268 119 0 149 var: @ ;s col: 268 119 0 149 col: var: @ ;s col: 268 0 0 268 rot 0<> and ?branch 0= swap 268 0 0 268 rot 0<> and ?branch 0= 268 0 0 268 and ?branch 0= swap 0<> and 268 0 0 268 and ?branch 0= swap 0<> 268 0 0 268 and ?branch 0= swap 268 0 0 268 and ?branch 0= 268 0 0 268 ?branch 0= swap 0<> and ?branch 268 0 0 268 ?branch 0= swap 0<> and 268 0 0 268 ?branch 0= swap 0<> 268 0 0 268 ?branch 0= swap 268 0 0 268 ?branch 0= 268 0 0 268 0= rot 0<> and ?branch 0= 268 0 0 268 0<> and ?branch 0= swap 0<> 268 0 0 268 0<> and ?branch 0= swap 268 0 0 268 0<> and ?branch 0= 267 266 0 1 dup col: col: var: 266 99 35 132 execute col: var: 266 266 0 0 dup col: col: var: @ + 266 266 0 0 dup col: col: var: @ 265 265 0 0 rdrop ;s ;s lit col: dup 265 265 0 0 rdrop ;s ;s lit col: 265 265 0 0 ?branch rdrop ;s ;s lit col: 265 0 265 0 @ ;s col: >l lp- @local1 265 0 265 0 ;s col: >l lp- @local1 does: 265 0 265 0 ;s col: >l lp- @local1 265 0 0 265 rdrop ;s cr rdrop ;s ;s 265 0 0 265 rdrop ;s cr rdrop ;s 265 0 0 265 rdrop ;s cr rdrop 265 0 0 265 rdrop ;s cr 265 0 0 265 rdrop ;s ?branch r@ col: >r 265 0 0 265 defer: (type) ;s rdrop ;s cr 265 0 0 265 ?branch r@ col: >r r@ does: 265 0 0 265 ?branch r@ col: >r r@ 265 0 0 265 ?branch r@ col: >r 265 0 0 265 ;s rdrop ;s cr rdrop ;s 265 0 0 265 ;s rdrop ;s cr rdrop 265 0 0 265 ;s rdrop ;s cr 265 0 0 265 ;s ?branch r@ col: >r r@ 265 0 0 265 ;s ?branch r@ col: >r 265 0 0 265 (type) ;s rdrop ;s cr rdrop 265 0 0 265 (type) ;s rdrop ;s cr 264 32 180 52 col: con: <> col: col: r> 264 32 180 52 col: con: <> col: col: 264 32 180 52 col: con: <> col: 264 32 180 52 col: con: <> 263 0 263 0 @local0 >l lp- @local1 ?branch @local1 263 0 0 263 ;s c! ;s col: col: col: 262 77 117 68 2dup col: col: 262 168 63 31 swap ! ;s branch 262 168 63 31 con: swap ! ;s branch 262 168 63 31 col: con: swap ! ;s branch 262 1 260 1 lit ! lit col: 262 1 260 1 lit ! lit 262 0 262 0 ;s @local3 col: >l lp- @local1 262 0 262 0 ;s @local3 col: >l lp- 262 0 262 0 ;s @local3 col: >l 261 233 15 13 + ;s ! ;s ;s 260 0 70 190 cell+ (loop) 259 79 0 180 dup @ col: 259 0 259 0 lit lit ! lit col: 259 0 259 0 lit lit ! lit 259 0 259 0 ;s lit lit ! lit col: 259 0 259 0 ;s lit lit ! lit 259 0 259 0 ;s lit lit ! 258 75 117 66 dup ?branch drop 2dup col: col: 258 75 117 66 dup ?branch drop 2dup col: 258 75 117 66 drop 2dup col: col: user: @ 258 75 117 66 drop 2dup col: col: user: 258 75 117 66 drop 2dup col: col: 258 75 117 66 drop 2dup col: 258 75 117 66 ?branch drop 2dup col: col: user: 258 75 117 66 ?branch drop 2dup col: col: 258 75 117 66 ?branch drop 2dup col: 258 75 117 66 ;s dup ?branch drop 2dup col: 258 75 117 66 2dup col: col: user: @ >r 258 75 117 66 2dup col: col: user: @ 258 75 117 66 2dup col: col: user: 257 18 221 18 branch ;s ;s col: lit >code-address 256 233 15 8 cells + ;s ! ;s ;s 256 15 232 9 2@ nip 255 0 255 0 ;s @local1 field: @ 254 119 135 0 user: @ col: var: 253 75 112 66 ;s ;s 2drop branch ;s branch 253 75 112 66 ;s ;s 2drop branch ;s 253 75 112 66 ;s ;s 2drop branch 253 75 112 66 ;s 2drop branch ;s branch col: 253 75 112 66 ;s 2drop branch ;s branch 253 75 112 66 ;s 2drop branch ;s 253 75 112 66 ;s 2drop branch 253 75 112 66 ;s ! ;s ;s 2drop branch 253 75 112 66 ;s ! ;s ;s 2drop 253 75 112 66 2drop branch ;s branch col: sp@ 253 75 112 66 2drop branch ;s branch col: 253 75 112 66 2drop branch ;s branch 253 75 112 66 2drop branch ;s 253 75 112 66 2drop branch 253 75 112 66 +! ;s ! ;s ;s 2drop 253 75 112 66 ! ;s ;s 2drop branch ;s 253 75 112 66 ! ;s ;s 2drop branch 253 75 112 66 ! ;s ;s 2drop 253 0 253 0 r> does: 2@ ;s drop + 253 0 253 0 r> does: 2@ ;s drop 253 0 253 0 r> does: 2@ ;s 253 0 253 0 r> does: 2@ 253 0 253 0 drop + >r ;s 253 0 253 0 drop + >r 253 0 253 0 drop + 253 0 253 0 does: 2@ ;s drop + >r 253 0 253 0 does: 2@ ;s drop + 253 0 253 0 does: 2@ ;s drop 253 0 253 0 ;s drop + >r ;s 253 0 253 0 ;s drop + >r 253 0 253 0 ;s drop + 253 0 253 0 2@ ;s drop + >r ;s 253 0 253 0 2@ ;s drop + >r 253 0 253 0 2@ ;s drop + 253 0 253 0 2@ ;s drop 253 0 253 0 + >r ;s 253 0 253 0 + >r 253 0 0 253 swap 0= and ?branch ;s col: 253 0 0 253 swap 0= and ?branch ;s 253 0 0 253 swap +! ;s ;s ;s ;s 253 0 0 253 and ?branch ;s col: var: @ 253 0 0 253 and ?branch ;s col: var: 253 0 0 253 ?branch ;s col: var: @ var: 253 0 0 253 0= and ?branch ;s col: var: 253 0 0 253 0= and ?branch ;s col: 253 0 0 253 0= and ?branch ;s 253 0 0 253 0<> swap 0= and ?branch ;s 253 0 0 253 +! ;s ;s ;s ;s ;s 253 0 0 253 +! ;s ;s ;s ;s 252 75 111 66 nip ;s dup ?branch 0> ?branch 252 75 111 66 nip ;s dup ?branch 0> 252 75 111 66 dup ?branch 0> ?branch col: user: 252 75 111 66 ?branch nip ;s dup ?branch 0> 252 75 111 66 ?branch 0> ?branch col: user: @ 252 75 111 66 ?branch 0> ?branch col: user: 252 63 102 87 col: 1+ 251 250 1 0 col: lit col: dup 251 0 251 0 lp+ ;s lp+ ;s lp+ 250 6 211 33 does-code! ;s ;s ;s branch col: 250 6 211 33 does-code! ;s ;s ;s branch 250 6 211 33 ;s does-code! ;s ;s ;s branch 250 230 15 5 and ?branch nip nip execute does: 250 18 1 231 swap col: col: col: 250 18 1 231 ;s swap col: col: col: 249 69 131 49 nip ;s col: 249 249 0 0 lit cells + ;s @ 249 249 0 0 col: lit cells + ;s @ 249 0 249 0 lit cells over = ?branch lit 249 0 249 0 cells over = ?branch lit 247 0 247 0 lp+2 ;s col: col: r> r> 247 0 247 0 lp+2 ;s col: col: r> 247 0 247 0 lp+2 ;s col: col: 247 0 247 0 col: ?branch r> does: 2@ ;s 247 0 247 0 col: ?branch r> does: 2@ 247 0 247 0 col: ?branch r> does: 247 0 247 0 col: ?branch r> 247 0 247 0 col: ?branch 247 0 247 0 ?branch r> does: 2@ ;s drop 247 0 247 0 ?branch r> does: 2@ ;s 247 0 247 0 ?branch r> does: 2@ 247 0 247 0 ?branch r> does: 247 0 0 247 con: (+loop) unloop ;s var: var: 247 0 0 247 (+loop) unloop ;s var: var: @ 247 0 0 247 (+loop) unloop ;s var: var: 247 0 0 247 (+loop) unloop ;s var: 2! var: 246 0 246 0 drop con: lp+2 ;s col: 246 0 246 0 ?branch drop con: lp+2 ;s col: 245 0 245 0 dup ?branch 2drop lp+2 ;s col: 245 0 245 0 ?branch 2drop lp+2 ;s col: col: 245 0 245 0 ?branch 2drop lp+2 ;s col: 245 0 245 0 2drop lp+2 ;s col: col: r> 245 0 245 0 2drop lp+2 ;s col: col: 245 0 245 0 2drop lp+2 ;s col: 245 0 0 245 col: 2dup col: lit col: >r 245 0 0 245 col: 2dup col: lit col: 245 0 0 245 col: 2dup col: lit 245 0 0 245 2dup col: lit col: >r con: 245 0 0 245 2dup col: lit col: >r 245 0 0 245 2dup col: lit col: 244 244 0 0 var: @ ;s ;s over 244 244 0 0 swap col: col: var: @ + 244 244 0 0 swap col: col: var: @ 244 244 0 0 col: var: @ ;s ;s over 244 244 0 0 col: lit col: dup @ con: 244 244 0 0 col: lit col: dup @ 244 244 0 0 @ ;s ;s over 243 117 0 126 ;s ;s drop ;s 242 69 72 101 char+ 242 63 91 88 con: con: 242 4 26 212 ?dup ?branch col: col: r> r> 242 4 26 212 ?dup ?branch col: col: r> 242 4 26 212 ?dup ?branch col: col: 241 63 91 87 within 0= col: col: r> r> 241 63 91 87 within 0= col: col: r> 241 63 91 87 within 0= col: col: 241 63 91 87 within 0= col: 241 63 91 87 within 0= 241 63 91 87 within 241 63 91 87 rdrop dup col: con: con: 1+ 241 63 91 87 rdrop dup col: con: con: 241 63 91 87 rdrop dup col: con: 241 63 91 87 rdrop dup col: 241 63 91 87 rdrop dup 241 63 91 87 lit col: 1+ con: * 1- 241 63 91 87 lit col: 1+ con: * 241 63 91 87 lit col: 1+ con: 241 63 91 87 lit col: 1+ 241 63 91 87 dup col: con: con: 1+ within 241 63 91 87 dup col: con: con: 1+ 241 63 91 87 dup col: con: con: 241 63 91 87 con: con: 1+ within 0= col: 241 63 91 87 con: con: 1+ within 0= 241 63 91 87 con: con: 1+ within 241 63 91 87 con: con: 1+ 241 63 91 87 con: 1+ within 0= col: col: 241 63 91 87 con: 1+ within 0= col: 241 63 91 87 con: 1+ within 0= 241 63 91 87 con: 1+ within 241 63 91 87 con: 1+ 241 63 91 87 con: * 1- >r r@ 241 63 91 87 con: * 1- >r 241 63 91 87 con: * 1- 241 63 91 87 col: con: con: 1+ within 0= 241 63 91 87 col: con: con: 1+ within 241 63 91 87 col: con: con: 1+ 241 63 91 87 col: con: con: 241 63 91 87 col: 1+ con: * 1- >r 241 63 91 87 col: 1+ con: * 1- 241 63 91 87 col: 1+ con: * 241 63 91 87 col: 1+ con: 241 63 91 87 1- >r r@ 241 63 91 87 1- >r 241 63 91 87 1+ within 0= col: col: r> 241 63 91 87 1+ within 0= col: col: 241 63 91 87 1+ within 0= col: 241 63 91 87 1+ within 0= 241 63 91 87 1+ within 241 63 91 87 1+ con: * 1- >r r@ 241 63 91 87 1+ con: * 1- >r 241 63 91 87 1+ con: * 1- 241 63 91 87 1+ con: * 241 63 91 87 1+ con: 241 63 91 87 * 1- >r r@ 241 63 91 87 * 1- >r 241 63 91 87 * 1- 241 241 0 0 ?branch user: +! ;s 2drop col: 239 0 239 0 ?branch branch drop ;s ;s ;s 239 0 239 0 ;s col: ?branch r> does: 2@ 239 0 239 0 ;s col: ?branch r> does: 239 0 239 0 ;s col: ?branch r> 239 0 239 0 ;s col: ?branch 239 0 0 239 rdrop ;s con: (+loop) i col: 239 0 0 239 rdrop ;s con: (+loop) i 239 0 0 239 rdrop ;s ;s con: (+loop) i 239 0 0 239 con: (+loop) i col: >r swap 239 0 0 239 con: (+loop) i col: >r 239 0 0 239 ;s con: (+loop) i col: >r 239 0 0 239 ;s ;s con: (+loop) i col: 239 0 0 239 ;s ;s con: (+loop) i 239 0 0 239 + rdrop ;s con: (+loop) i 239 0 0 239 (+loop) i col: >r swap dup 239 0 0 239 (+loop) i col: >r swap 239 0 0 239 (+loop) i col: >r 238 4 234 0 count defer: (type) ;s col: 238 4 234 0 ;s count defer: (type) ;s col: 238 170 48 20 rdrop rdrop 238 117 0 121 ;s ;s ;s drop ;s 236 0 236 0 ;s ;s lp+ ;s lp+ ;s 236 0 0 236 swap 0<> and ?branch ;s col: 236 0 0 236 swap 0<> and ?branch ;s 236 0 0 236 col: col: col: var: col: con: 236 0 0 236 col: col: col: var: col: 236 0 0 236 and ?branch ;s col: col: r> 236 0 0 236 and ?branch ;s col: col: 236 0 0 236 ;s col: col: col: var: col: 236 0 0 236 0= swap 0<> and ?branch ;s 236 0 0 236 0<> and ?branch ;s col: col: 236 0 0 236 0<> and ?branch ;s col: 236 0 0 236 0<> and ?branch ;s 235 216 0 19 @ execute col: col: var: @ 234 32 151 51 cmove 234 0 234 0 col: >l lp- @local1 col: >l 234 0 234 0 col: >l lp- @local1 col: 233 0 63 170 cell+ (loop) dup 233 0 233 0 @local0 col: >l lp- 233 0 172 61 ;s @ swap 233 0 0 233 c! does: @ col: var: col: 233 0 0 233 c! does: @ col: var: 233 0 0 233 c! does: @ col: 233 0 0 233 c! does: @ 233 0 0 233 c! does: 233 0 0 233 ;s c! does: @ col: var: 233 0 0 233 ;s c! does: @ col: 233 0 0 233 ;s c! does: @ 233 0 0 233 ;s c! does: 233 0 0 233 ;s ;s + ;s c! does: 233 0 0 233 ;s ;s + ;s ! does: 233 0 0 233 ;s + ;s c! does: @ 233 0 0 233 ;s + ;s c! does: 233 0 0 233 ;s + ;s ! does: @ 233 0 0 233 ;s + ;s ! does: 233 0 0 233 + ;s c! does: @ col: 233 0 0 233 + ;s c! does: @ 233 0 0 233 + ;s c! does: 232 97 135 0 ;s con: ;s 232 75 79 78 ! ;s drop 232 0 1 231 swap col: col: col: user: @ 232 0 1 231 swap col: col: col: user: 232 0 1 231 ;s swap col: col: col: user: 232 0 0 232 branch rdrop ;s 232 0 0 232 branch rdrop 230 65 67 98 ;s ;s ;s col: lit col: 230 0 230 0 execute col: >l >l @local0 229 214 0 15 nip execute col: col: var: @ 227 46 83 98 ;s branch ;s ;s branch 226 72 148 6 user: @ user: @ 226 226 0 0 unloop d>s ;s ;s col: col: 226 226 0 0 unloop d>s ;s ;s col: 226 226 0 0 d>s ;s ;s col: col: col: 226 226 0 0 d>s ;s ;s col: col: 226 226 0 0 d>s ;s ;s col: 226 226 0 0 (+loop) unloop d>s ;s ;s col: 226 205 14 7 rdrop ;s ;s col: col: 226 205 14 7 ?branch rdrop ;s ;s col: col: 225 44 83 98 ;s branch ;s ;s branch col: 225 0 225 0 lit @local1 i col: cells + 225 0 225 0 lit @local1 i col: cells 225 0 225 0 lit @local1 i col: 225 0 225 0 lit @local1 i 225 0 0 225 r@ execute and 0= 0= ?branch 225 0 0 225 r@ execute and 0= 0= 225 0 0 225 r@ execute and 0= 225 0 0 225 r@ execute and 225 0 0 225 over @ r@ execute and 0= 225 0 0 225 over @ r@ execute and 225 0 0 225 execute and 0= 0= ?branch 225 0 0 225 execute and 0= 0= 225 0 0 225 execute and 0= 225 0 0 225 execute and 225 0 0 225 and 0= 0= ?branch 225 0 0 225 @ r@ execute and 0= 0= 225 0 0 225 @ r@ execute and 0= 225 0 0 225 @ r@ execute and 225 0 0 225 @ over @ r@ execute and 224 0 224 0 ?branch lp+2 ;s 224 0 0 224 drop con: branch 224 0 0 224 ?branch drop con: branch 224 0 0 224 = ?branch drop con: branch 223 58 67 98 ;s ;s col: lit col: >r 223 0 223 0 field: col: 222 117 0 105 ;s drop ;s col: 222 117 0 105 ;s ;s drop ;s col: 222 117 0 105 ;s ;s ;s drop ;s col: 222 0 0 222 con: (+loop) unloop ;s ;s col: 222 0 0 222 con: (+loop) unloop ;s ;s 222 0 0 222 ;s con: (+loop) unloop ;s ;s 222 0 0 222 (+loop) unloop ;s var: 2! ;s 222 0 0 222 (+loop) unloop ;s ;s col: var: 222 0 0 222 (+loop) unloop ;s ;s col: 222 0 0 222 (+loop) unloop ;s ;s 221 97 124 0 var: @ user: 221 0 203 18 nip execute col: col: col: defer: 221 0 203 18 execute col: col: col: defer: defer: 221 0 203 18 execute col: col: col: defer: 221 0 203 18 col: col: col: defer: defer: col: 221 0 203 18 col: col: col: defer: defer: 221 0 203 18 col: col: col: defer: 219 60 75 84 tuck ! cell+ 219 60 75 84 tuck ! 219 60 75 84 ! cell+ 219 219 0 0 1+ user: +! ;s 2drop col: 219 0 0 219 execute and 0= 0= ?branch cell+ 219 0 0 219 and 0= 0= ?branch cell+ swap 219 0 0 219 and 0= 0= ?branch cell+ 218 71 67 80 ;s col: lit col: >r defer: 218 121 45 52 con: var: 218 0 218 0 nip lp+ ;s 218 0 218 0 nip lp+ 218 0 218 0 lp- @local1 field: 218 0 218 0 lp- @local1 2@ nip lp+ ;s 218 0 218 0 lp- @local1 2@ nip lp+ 218 0 218 0 lp- @local1 2@ nip 218 0 218 0 col: >l lp- @local1 2@ nip 218 0 218 0 @local1 2@ nip lp+ ;s 218 0 218 0 @local1 2@ nip lp+ 218 0 218 0 @local1 2@ nip 218 0 218 0 >l lp- @local1 field: 218 0 218 0 >l lp- @local1 2@ nip lp+ 218 0 218 0 >l lp- @local1 2@ nip 218 0 218 0 2@ nip lp+ ;s 218 0 218 0 2@ nip lp+ 218 0 210 8 (loop) lit 218 0 0 218 r@ = ?branch drop con: branch 218 0 0 218 r@ = ?branch drop con: 218 0 0 218 r@ = ?branch drop 218 0 0 218 dup r@ = ?branch drop con: 218 0 0 218 dup r@ = ?branch drop 218 0 0 218 drop con: branch rdrop ;s ?branch 218 0 0 218 drop con: branch rdrop ;s 218 0 0 218 drop con: branch rdrop 218 0 0 218 con: branch rdrop ;s ?branch r@ 218 0 0 218 con: branch rdrop ;s ?branch 218 0 0 218 con: branch rdrop ;s 218 0 0 218 con: branch rdrop 218 0 0 218 branch rdrop ;s ?branch r@ col: 218 0 0 218 branch rdrop ;s ?branch r@ 218 0 0 218 branch rdrop ;s ?branch 218 0 0 218 @ dup r@ = ?branch drop 218 0 0 218 ?branch drop con: branch rdrop ;s 218 0 0 218 ?branch drop con: branch rdrop 218 0 0 218 = ?branch drop con: branch rdrop 216 60 126 30 lit col: lit lit ! user: 216 60 126 30 lit col: lit lit ! 216 60 126 30 lit col: lit lit 216 216 0 0 var: ! col: cell+ cell+ ;s 216 216 0 0 var: ! col: cell+ cell+ 216 216 0 0 var: ! col: cell+ 216 216 0 0 execute does: dup var: ! col: 216 216 0 0 execute does: dup var: ! 216 216 0 0 execute does: dup var: 216 216 0 0 execute does: dup 216 216 0 0 dup var: ! col: cell+ cell+ 216 216 0 0 dup var: ! col: cell+ 216 216 0 0 does: dup var: ! col: cell+ 216 216 0 0 does: dup var: ! col: 216 216 0 0 does: dup var: ! 216 216 0 0 does: dup var: 216 216 0 0 does: dup 216 216 0 0 ;s @ execute col: col: var: 216 216 0 0 ! col: cell+ cell+ ;s @ 216 216 0 0 ! col: cell+ cell+ ;s 216 216 0 0 ! col: cell+ cell+ 216 216 0 0 ! col: cell+ 216 19 164 33 col: col: con: <> col: col: 216 19 164 33 col: col: con: <> col: 216 19 164 33 col: col: con: <> 216 0 216 0 swap branch over 0<> ?branch over 216 0 216 0 branch over 0<> ?branch over col: 216 0 216 0 branch over 0<> ?branch over 216 0 216 0 @ ;s col: cells + ;s 216 0 216 0 @ ;s col: cells + 216 0 216 0 @ ;s col: cells 216 0 216 0 @ + @ ;s col: cells 216 0 216 0 ;s col: cells + ;s 216 0 216 0 ;s col: cells + 216 0 216 0 ;s col: cells 216 0 216 0 + @ ;s col: cells + 216 0 216 0 + @ ;s col: cells 215 69 67 79 nip execute col: col: defer: defer: 215 69 67 79 execute col: col: defer: defer: col: 215 69 67 79 execute col: col: defer: defer: 215 179 14 22 ;s ;s col: col: col: r> 215 118 45 52 ;s con: var: 214 0 214 0 ;s ?branch lp+2 212 207 0 5 + ;s ! ;s ;s ;s 212 0 212 0 ?branch lp+2 ;s lp+ 210 191 13 6 user: ! user: @ 210 0 210 0 var: @ @local1 210 0 210 0 lp- var: @ 210 0 210 0 lp- var: 210 0 210 0 cells + ;s ! (loop) lit 210 0 210 0 >l lp- var: @ 210 0 210 0 >l lp- var: 210 0 210 0 ;s ! (loop) lit @local1 i 210 0 210 0 ;s ! (loop) lit @local1 210 0 210 0 ;s ! (loop) lit 210 0 210 0 + ;s ! (loop) lit @local1 210 0 210 0 + ;s ! (loop) lit 210 0 210 0 (loop) lit @local1 i col: cells 210 0 210 0 (loop) lit @local1 i col: 210 0 210 0 (loop) lit @local1 i 210 0 210 0 (loop) lit @local1 210 0 210 0 ! (loop) lit @local1 i col: 210 0 210 0 ! (loop) lit @local1 i 210 0 210 0 ! (loop) lit @local1 210 0 210 0 ! (loop) lit 209 29 131 49 nip ;s col: user: @ swap 209 29 131 49 nip ;s col: user: @ 209 29 131 49 nip ;s col: user: 209 29 131 49 faligned nip ;s col: user: @ 209 29 131 49 faligned nip ;s col: user: 209 29 131 49 faligned nip ;s col: 209 29 131 49 ?branch faligned nip ;s col: user: 209 29 131 49 ?branch faligned nip ;s col: 209 29 131 49 ;s col: user: @ swap - 209 29 131 49 ;s col: user: @ swap 209 29 131 49 0<> ?branch faligned nip ;s col: 209 142 42 25 rdrop ;s 0> ?branch 209 142 42 25 rdrop ;s 0> 209 142 42 25 ?branch rdrop ;s 0> ?branch 209 142 42 25 ?branch rdrop ;s 0> 209 142 42 25 >r ?branch rdrop ;s 0> ?branch 209 142 42 25 >r ?branch rdrop ;s 0> 209 142 42 25 ;s dup 0= col: col: r> 209 142 42 25 ;s dup 0= col: col: 209 142 42 25 ;s dup 0= col: 209 142 42 25 ;s >r ?branch rdrop ;s 0> 209 142 42 25 ;s 0> ?branch 209 142 42 25 ;s 0> 208 208 0 0 dup ?branch ;s ?dup ?branch col: 208 208 0 0 dup ?branch ;s ?dup ?branch 208 208 0 0 dup ?branch ;s ?dup 208 208 0 0 dup >r count col: col: user: 208 208 0 0 dup >r count col: col: 208 208 0 0 dup >r count col: 208 208 0 0 dup >r count 208 208 0 0 does: @ execute does: dup var: 208 208 0 0 does: @ execute does: dup 208 208 0 0 does: @ execute does: 208 208 0 0 does: @ execute 208 208 0 0 count col: col: user: @ >r 208 208 0 0 count col: col: user: @ 208 208 0 0 count col: col: user: 208 208 0 0 col: dup >r count col: col: 208 208 0 0 col: dup >r count col: 208 208 0 0 col: dup >r count 208 208 0 0 @ execute does: dup var: ! 208 208 0 0 @ execute does: dup var: 208 208 0 0 @ execute does: dup 208 208 0 0 @ execute does: 208 208 0 0 ?dup ?branch col: dup >r count 208 208 0 0 ?dup ?branch col: dup >r 208 208 0 0 ?dup ?branch col: dup 208 208 0 0 ?branch col: dup >r count col: 208 208 0 0 ?branch col: dup >r count 208 208 0 0 ?branch col: dup >r 208 208 0 0 ?branch ;s dup ?branch ;s ?dup 208 208 0 0 ?branch ;s ?dup ?branch col: dup 208 208 0 0 ?branch ;s ?dup ?branch col: 208 208 0 0 ?branch ;s ?dup ?branch 208 208 0 0 ?branch ;s ?dup 208 208 0 0 >r count col: col: user: @ 208 208 0 0 >r count col: col: user: 208 208 0 0 >r count col: col: 208 208 0 0 >r count col: 208 208 0 0 >r count 208 208 0 0 ;s dup ?branch ;s ?dup ?branch 208 208 0 0 ;s dup ?branch ;s ?dup 208 208 0 0 ;s ?dup ?branch col: dup >r 208 208 0 0 ;s ?dup ?branch col: dup 208 208 0 0 ;s ?dup ?branch col: 207 99 35 73 nip nip execute col: var: 207 99 35 73 nip execute col: var: 207 99 35 73 ?branch nip nip execute col: var: 207 12 195 0 execute col: user: @ col: 206 74 44 88 con: branch ;s 206 206 0 0 nip nip execute does: @ execute 206 206 0 0 nip execute does: @ execute does: 206 206 0 0 nip execute does: @ execute 206 206 0 0 execute does: @ execute does: dup 206 206 0 0 execute does: @ execute does: 206 206 0 0 execute does: @ execute 206 131 0 75 ! ;s swap 206 0 0 206 col: @ @ ;s ;s col: 206 0 0 206 @ @ ;s ;s col: 205 6 187 12 swap ! ;s con: 205 0 205 0 lp+!# ;s ?branch @local0 branch lp+ 205 0 205 0 lp+!# ;s ?branch @local0 branch 205 0 205 0 con: lp+!# ;s ?branch @local0 branch 205 0 205 0 @local0 branch lp+ ;s 205 0 205 0 @local0 branch lp+ 205 0 205 0 @local0 branch 205 0 205 0 ?branch @local0 branch lp+ ;s 205 0 205 0 ?branch @local0 branch lp+ 205 0 205 0 ?branch @local0 branch 205 0 205 0 ;s ?branch @local0 branch lp+ ;s 205 0 205 0 ;s ?branch @local0 branch lp+ 205 0 205 0 ;s ?branch @local0 branch 204 60 60 84 dup @ swap 204 60 60 84 con: - dup @ swap 204 60 60 84 - dup @ swap 204 0 204 0 field: col: >l 203 0 203 0 lp- @local1 field: @ 203 0 203 0 @local1 lit 203 0 203 0 >l lp- @local1 field: @ 202 0 202 0 drop con: lp+2 ;s col: 0= 202 0 202 0 col: 0= ;s ?branch lp+2 branch 202 0 202 0 col: 0= ;s ?branch lp+2 202 0 202 0 ?branch lp+2 branch >l lp- @local1 202 0 202 0 ?branch lp+2 branch >l lp- 202 0 202 0 ?branch lp+2 branch >l 202 0 202 0 ?branch lp+2 branch 202 0 202 0 ;s col: 0= ;s ?branch lp+2 202 0 202 0 ;s ?branch lp+2 branch >l lp- 202 0 202 0 ;s ?branch lp+2 branch >l 202 0 202 0 ;s ?branch lp+2 branch 202 0 202 0 0= ;s ?branch lp+2 branch >l 202 0 202 0 0= ;s ?branch lp+2 branch 202 0 202 0 0= ;s ?branch lp+2 201 201 0 0 2drop ;s ;s ;s ;s branch 201 176 16 9 ;s nip 201 0 201 0 over = ?branch col: r> dup 201 0 201 0 over = ?branch col: r> 201 0 201 0 over = ?branch col: 201 0 201 0 @local# execute col: >l >l @local0 201 0 201 0 = ?branch col: r> dup cell+ 201 0 201 0 = ?branch col: r> dup 201 0 201 0 = ?branch col: r> 201 0 201 0 ;s cell+ dup 201 0 201 0 +! lit over = ?branch lit 200 148 27 25 ;s 0= ?branch ;s col: var: 200 148 27 25 0= ?branch ;s col: var: 199 38 97 64 con: @ col: 2dup 198 0 0 198 cr ;s con: (+loop) i col: 198 0 0 198 cr ;s con: (+loop) i 198 0 0 198 ;s cr ;s con: (+loop) i 197 59 136 2 user: ! user: ! 197 59 136 2 ! user: ! 197 46 67 84 ;s ;s r> 197 173 0 24 ;s swap ! 196 74 44 78 var: @ ?branch con: branch ;s 196 74 44 78 var: @ ?branch con: branch 196 74 44 78 swap ! ;s drop branch ;s 196 74 44 78 swap ! ;s drop branch 196 74 44 78 swap ! ;s drop 196 74 44 78 over - swap ! ;s drop 196 74 44 78 con: branch ;s lit col: col: 196 74 44 78 con: branch ;s lit col: 196 74 44 78 con: branch ;s lit 196 74 44 78 con: = ?branch col: col: col: 196 74 44 78 branch ;s lit col: col: col: 196 74 44 78 branch ;s lit col: col: 196 74 44 78 branch ;s lit col: 196 74 44 78 branch ;s lit 196 74 44 78 @ ?branch con: branch ;s lit 196 74 44 78 @ ?branch con: branch ;s 196 74 44 78 @ ?branch con: branch 196 74 44 78 ?branch con: branch ;s lit col: 196 74 44 78 ?branch con: branch ;s lit 196 74 44 78 ?branch con: branch ;s 196 74 44 78 ?branch con: branch 196 74 44 78 = ?branch col: col: col: user: 196 74 44 78 = ?branch col: col: col: 196 74 44 78 ;s var: @ ?branch con: branch 196 74 44 78 ;s con: = ?branch col: col: 196 74 44 78 ;s con: = ?branch col: 196 74 44 78 ;s ;s con: = ?branch col: 196 74 44 78 - swap ! ;s drop branch 196 74 44 78 - swap ! ;s drop 196 74 44 78 ! ;s drop branch ;s 196 74 44 78 ! ;s drop branch 196 50 79 67 ! col: lit 196 0 196 0 swap ! col: r> dup cell+ 196 0 196 0 swap ! col: r> dup 196 0 196 0 swap ! col: r> 196 0 196 0 lit col: r> /does-handler + col: 196 0 196 0 lit col: r> /does-handler + 196 0 196 0 lit col: r> /does-handler 196 0 196 0 lit col: r> 196 0 196 0 dup ?branch execute col: 196 0 196 0 dup ?branch execute 196 0 196 0 defer: (type) ;s col: lit defer: 196 0 196 0 count defer: (type) ;s col: lit 196 0 196 0 code-address! ;s ;s col: lit col: 196 0 196 0 code-address! ;s ;s col: lit 196 0 196 0 c! ;s ;s col: lit col: 196 0 196 0 ?branch execute col: 196 0 196 0 ;s lit col: r> /does-handler + 196 0 196 0 ;s lit col: r> /does-handler 196 0 196 0 ;s lit col: r> 196 0 196 0 ;s code-address! ;s ;s col: lit 196 0 196 0 ;s ;s lit col: r> /does-handler 196 0 196 0 ;s ;s lit col: r> 196 0 196 0 ;s ;s ;s branch dup ?branch 196 0 196 0 ;s ;s ;s branch dup 196 0 196 0 ;s ;s ;s ;s branch dup 196 0 196 0 +! ;s ! ;s ;s lit 196 0 196 0 (type) ;s col: lit defer: (emit) 196 0 196 0 (type) ;s col: lit defer: 196 0 196 0 ! col: r> dup cell+ >r 196 0 196 0 ! col: r> dup cell+ 196 0 196 0 ! col: r> dup 196 0 196 0 ! col: r> 196 0 196 0 ! ;s ;s lit col: r> 195 1 41 153 user: @ ;s +! ;s 2! 195 1 41 153 @ ;s lit cells col: col: 195 1 41 153 @ ;s lit cells col: 195 1 41 153 @ ;s lit cells 195 1 41 153 @ ;s @ ;s lit cells 195 1 41 153 @ ;s +! ;s 2! ;s 195 1 41 153 @ ;s +! ;s 2! 195 1 41 153 ;s @ ;s lit cells col: 195 1 41 153 ;s @ ;s lit cells 195 1 41 153 ;s 2! ;s 195 1 41 153 ;s +! ;s 2! ;s 195 1 41 153 ;s +! ;s 2! 195 1 41 153 +! ;s 2! ;s 195 1 41 153 +! ;s 2! 195 0 195 0 var: @ @local1 col: >l >l 195 0 195 0 var: @ @local1 col: >l 195 0 195 0 var: @ @local1 col: 195 0 195 0 user: ! swap ! col: r> 195 0 195 0 user: ! swap ! col: 195 0 195 0 user: ! swap ! 195 0 195 0 lp- var: @ @local1 col: >l 195 0 195 0 lp- var: @ @local1 col: 195 0 195 0 lp- var: @ @local1 195 0 195 0 lp+2 ;s lp+ ;s col: ?branch 195 0 195 0 lp+2 ;s lp+ ;s col: 195 0 195 0 lp+ ;s dup ?branch @local# @local# 195 0 195 0 lp+ ;s dup ?branch @local# 195 0 195 0 lp+ ;s col: ?branch r> does: 195 0 195 0 lp+ ;s col: ?branch r> 195 0 195 0 lp+ ;s col: ?branch 195 0 195 0 dup user: ! swap ! col: 195 0 195 0 dup user: ! swap ! 195 0 195 0 dup user: ! swap 195 0 195 0 dup ?branch execute col: user: @ 195 0 195 0 dup ?branch execute col: user: 195 0 195 0 dup ?branch @local# @local# execute col: 195 0 195 0 dup ?branch @local# @local# execute 195 0 195 0 dup ?branch @local# @local# 195 0 195 0 dup ?branch @local# 195 0 195 0 con: lp+2 ;s lp+ ;s col: 195 0 195 0 con: lp+2 ;s lp+ ;s 195 0 195 0 con: lp+2 ;s lp+ 195 0 195 0 col: >l lp- var: @ @local1 195 0 195 0 col: >l lp- var: @ 195 0 195 0 col: >l lp- var: 195 0 195 0 @local3 = ?branch con: lp+2 ;s 195 0 195 0 @local3 = ?branch con: lp+2 195 0 195 0 @local3 = ?branch con: 195 0 195 0 @local1 @local3 = ?branch con: lp+2 195 0 195 0 @local1 @local3 = ?branch con: 195 0 195 0 @ lp+ ;s dup ?branch @local# 195 0 195 0 ?branch execute col: user: @ col: 195 0 195 0 ?branch execute col: user: @ 195 0 195 0 ?branch execute col: user: 195 0 195 0 ?branch con: lp+2 ;s lp+ ;s 195 0 195 0 ?branch con: lp+2 ;s lp+ 195 0 195 0 ?branch con: lp+2 ;s 195 0 195 0 ?branch con: lp+2 195 0 195 0 ?branch @local1 @local3 = ?branch con: 195 0 195 0 ?branch @local# @local# execute col: >l 195 0 195 0 ?branch @local# @local# execute col: 195 0 195 0 ?branch @local# @local# execute 195 0 195 0 ?branch @local# @local# 195 0 195 0 >l lp- var: @ @local1 col: 195 0 195 0 >l lp- var: @ @local1 195 0 195 0 = ?branch con: lp+2 ;s lp+ 195 0 195 0 = ?branch con: lp+2 ;s 195 0 195 0 = ?branch con: lp+2 195 0 195 0 ;s lp+ ;s col: ?branch r> 195 0 195 0 ;s lp+ ;s col: ?branch 195 0 195 0 ;s dup ?branch @local# @local# execute 195 0 195 0 ;s dup ?branch @local# @local# 195 0 195 0 ;s dup ?branch @local# 195 0 195 0 ! swap ! col: r> dup 195 0 195 0 ! swap ! col: r> 195 0 195 0 ! swap ! col: 195 0 195 0 ! swap ! 194 58 135 1 ;s user: ! user: ! 194 58 135 1 ;s user: ! user: 194 58 135 1 ;s lit user: ! 194 58 135 1 ! ;s lit user: ! 194 173 14 7 rdrop ;s ;s col: col: col: 194 0 194 0 user: @ col: aligned dup col: 194 0 194 0 user: @ col: aligned dup 194 0 194 0 user: @ col: aligned 194 0 194 0 execute col: user: @ col: aligned 194 0 194 0 drop ;s ;s ;s cell+ 194 0 194 0 col: user: @ col: aligned dup 194 0 194 0 col: user: @ col: aligned 194 0 194 0 col: aligned dup col: user: @ 194 0 194 0 col: aligned dup col: user: 194 0 194 0 col: aligned dup col: 194 0 194 0 col: aligned dup 194 0 194 0 col: aligned 194 0 194 0 cell+ dup user: ! swap ! 194 0 194 0 cell+ dup user: ! swap 194 0 194 0 cell+ dup user: ! 194 0 194 0 cell+ dup user: 194 0 194 0 branch drop ;s ;s ;s cell+ 194 0 194 0 aligned dup col: user: @ swap 194 0 194 0 aligned dup col: user: @ 194 0 194 0 aligned dup col: user: 194 0 194 0 aligned dup col: 194 0 194 0 aligned dup 194 0 194 0 @ col: aligned dup col: user: 194 0 194 0 @ col: aligned dup col: 194 0 194 0 @ col: aligned dup 194 0 194 0 @ col: aligned 194 0 194 0 ;s ;s cell+ 194 0 194 0 ;s ;s ;s cell+ 194 0 0 194 swap col: lit col: >r con: 194 0 0 194 swap col: lit col: >r 194 0 0 194 swap col: lit col: 194 0 0 194 drop 2drop ;s ;s ?branch 2dup 194 0 0 194 ?branch 2dup swap col: lit col: 194 0 0 194 ;s ?branch 2dup swap col: lit 194 0 0 194 ;s ?branch 2dup swap col: 194 0 0 194 ;s ?branch 2dup swap 194 0 0 194 ;s ?branch 2dup 194 0 0 194 ;s ;s ?branch 2dup swap col: 194 0 0 194 ;s ;s ?branch 2dup swap 194 0 0 194 ;s ;s ?branch 2dup 194 0 0 194 2dup swap col: lit col: >r 194 0 0 194 2dup swap col: lit col: 194 0 0 194 2drop ;s ;s ?branch 2dup swap 194 0 0 194 2drop ;s ;s ?branch 2dup 193 50 75 68 rot move drop r> ;s rdrop 193 50 75 68 r> ;s rdrop dup col: con: 193 50 75 68 r> ;s rdrop dup col: 193 50 75 68 r> ;s rdrop dup 193 50 75 68 r> ;s rdrop 193 50 75 68 move drop r> ;s rdrop dup 193 50 75 68 move drop r> ;s rdrop 193 50 75 68 drop r> ;s rdrop dup col: 193 50 75 68 drop r> ;s rdrop dup 193 50 75 68 drop r> ;s rdrop 193 50 75 68 con: * 1- >r r@ col: 193 50 75 68 >r r@ col: dup 1+ pick 193 50 75 68 >r r@ col: dup 1+ 193 50 75 68 >r r@ col: dup 193 50 75 68 ;s rdrop dup col: con: con: 193 50 75 68 ;s rdrop dup col: con: 193 50 75 68 ;s rdrop dup col: 193 50 75 68 ;s rdrop dup 193 50 75 68 1- >r r@ col: dup 1+ 193 50 75 68 1- >r r@ col: dup 193 50 75 68 1- >r r@ col: 193 50 75 68 * 1- >r r@ col: dup 193 50 75 68 * 1- >r r@ col: 193 49 78 66 nip ;s user: ! ;s 193 49 78 66 nip ;s user: ! 193 49 78 66 nip ;s user: 193 49 78 66 faligned nip ;s user: ! ;s 193 49 78 66 faligned nip ;s user: ! 193 49 78 66 faligned nip ;s user: 193 49 78 66 dup con: ! col: lit over 193 49 78 66 dup con: ! col: lit 193 49 78 66 dup con: ! col: 193 49 78 66 dup con: ! 193 49 78 66 con: ! col: lit over 0<> 193 49 78 66 con: ! col: lit over 193 49 78 66 con: ! col: lit 193 49 78 66 con: ! col: 193 49 78 66 col: dup con: ! col: lit 193 49 78 66 col: dup con: ! col: 193 49 78 66 col: dup con: ! 193 49 78 66 ?branch faligned nip ;s user: ! 193 49 78 66 ?branch faligned nip ;s user: 193 49 78 66 0<> ?branch faligned nip ;s user: 193 49 78 66 ! col: lit over 0<> ?branch 193 49 78 66 ! col: lit over 0<> 193 49 78 66 ! col: lit over 192 0 192 0 drop ;s ;s ;s cell+ dup 192 0 192 0 ;s cell+ dup user: ! swap 192 0 192 0 ;s cell+ dup user: ! 192 0 192 0 ;s cell+ dup user: 192 0 192 0 ;s ;s cell+ dup user: ! 192 0 192 0 ;s ;s cell+ dup user: 192 0 192 0 ;s ;s cell+ dup 192 0 192 0 ;s ;s ;s cell+ dup user: 192 0 192 0 ;s ;s ;s cell+ dup 191 0 191 0 move lit lit ! ;s lit 191 0 191 0 lit lit ! ;s lit col: 191 0 191 0 lit lit ! ;s lit 191 0 191 0 lit ! ;s lit col: lit 191 0 191 0 field: @ execute col: drop col: 191 0 191 0 execute col: drop col: col: dup 191 0 191 0 execute col: drop col: col: 191 0 191 0 execute col: drop col: 191 0 191 0 drop col: col: dup lit u> 191 0 191 0 drop col: col: dup lit 191 0 191 0 drop col: col: dup 191 0 191 0 col: drop col: col: dup lit 191 0 191 0 col: drop col: col: dup 191 0 191 0 col: drop col: col: 191 0 191 0 col: drop col: 191 0 191 0 @ execute col: drop col: col: 191 0 191 0 @ execute col: drop col: 191 0 191 0 ;s lit col: lit con: (do) 191 0 191 0 ;s lit col: lit con: 191 0 191 0 ;s ;s ;s dup ?branch nip 191 0 191 0 ! ;s lit col: lit con: 191 0 191 0 ! ;s lit col: lit 190 126 52 12 dup col: lit 190 0 58 132 var: col: col: 188 0 188 0 col: >l lp- @local1 field: 188 0 188 0 @local1 lit col: >l >l 188 0 188 0 @local1 lit col: >l 188 0 188 0 @local1 lit col: 188 0 0 188 swap +! ;s ;s ;s does: 188 0 0 188 +! ;s ;s ;s does: @ 188 0 0 188 +! ;s ;s ;s does: 187 187 0 0 var: @ ;s ;s over - 187 187 0 0 over - swap col: col: var: 187 187 0 0 over - swap col: col: 187 187 0 0 over - swap col: 187 187 0 0 @ ;s ;s over - swap 187 187 0 0 @ ;s ;s over - 187 187 0 0 ;s over - swap col: col: 187 187 0 0 ;s over - swap col: 187 187 0 0 ;s ;s over - swap col: 187 187 0 0 ;s ;s over - swap 187 187 0 0 ;s ;s over - 187 187 0 0 - swap col: col: var: @ 187 187 0 0 - swap col: col: var: 187 187 0 0 - swap col: col: 187 187 0 0 - swap col: 187 0 187 0 ;s branch drop ;s ;s 187 0 187 0 ;s branch drop ;s 187 0 187 0 ;s branch drop 187 0 187 0 ;s ;s branch drop ;s ;s 187 0 187 0 ;s ;s branch drop ;s 187 0 187 0 ;s ;s branch drop 187 0 187 0 ;s ;s ;s branch drop ;s 187 0 187 0 ;s ;s ;s branch drop 187 0 187 0 ;s ;s ;s ;s branch drop 186 36 68 82 r> move c! ;s col: col: 186 36 68 82 r> move c! ;s col: 186 36 68 82 over char+ col: col: user: @ 186 36 68 82 over char+ col: col: user: 186 36 68 82 over char+ col: col: 186 36 68 82 over char+ col: 186 36 68 82 over char+ 186 36 68 82 move c! ;s col: col: col: 186 36 68 82 move c! ;s col: col: 186 36 68 82 move c! ;s col: 186 36 68 82 char+ col: col: user: @ ;s 186 36 68 82 char+ col: col: user: @ 186 36 68 82 char+ col: col: user: 186 36 68 82 char+ col: col: 186 36 68 82 char+ col: 186 36 68 82 @ ;s over char+ col: col: 186 36 68 82 @ ;s over char+ col: 186 36 68 82 @ ;s over char+ 186 36 68 82 @ ;s @ ;s over char+ 186 36 68 82 @ ;s +! ;s col: over 186 36 68 82 ;s over char+ col: col: user: 186 36 68 82 ;s over char+ col: col: 186 36 68 82 ;s over char+ col: 186 36 68 82 ;s over char+ 186 36 68 82 ;s @ ;s over char+ col: 186 36 68 82 ;s @ ;s over char+ 186 36 68 82 ;s +! ;s col: over >r 186 36 68 82 ;s +! ;s col: over 186 36 68 82 1+ r> move c! ;s col: 186 36 68 82 +! ;s col: over >r rot 186 36 68 82 +! ;s col: over >r 186 36 68 82 +! ;s col: over 186 0 58 128 var: col: col: col: 186 0 186 0 lp- @local1 >l lp- @local1 186 0 186 0 lp- @local1 >l lp- 186 0 186 0 lp- @local1 >l 186 0 186 0 lit col: >l >l >l lp- 186 0 186 0 branch lp+2 ;s 186 0 186 0 branch lp+2 186 0 186 0 >l lp- @local1 >l lp- @local1 186 0 186 0 >l lp- @local1 >l lp- 186 0 186 0 >l lp- @local1 >l 186 0 186 0 >l >l lp- @local1 >l lp- 186 0 186 0 >l >l lp- @local1 >l 186 0 186 0 >l >l >l lp- @local1 >l 185 0 0 185 unloop drop 2drop ;s ;s 0= 185 0 0 185 drop 2drop ;s ;s 0= 185 0 0 185 2drop ;s ;s 0= 184 53 56 75 swap con: - 184 169 14 1 ;s ;s dup col: col: 184 169 14 1 ;s ;s ;s dup col: col: 184 120 4 60 user: @ ?dup ;s ?branch ;s 184 120 4 60 @ ?dup ;s ?branch ;s 184 120 4 60 ?dup ;s ?branch ;s 184 0 184 0 cr lp+ ;s 184 0 184 0 cr lp+ 184 0 184 0 ;s cr lp+ ;s 184 0 184 0 ;s cr lp+ 182 0 182 0 lp- @local3 182 0 182 0 col: >l >l >l lp- @local3 182 0 182 0 >l lp- @local3 182 0 182 0 >l >l lp- @local3 182 0 182 0 >l >l >l lp- @local3 181 46 0 135 ;s col: col: var: @ ;s 181 181 0 0 rdrop branch ;s dup ?branch 0> 181 181 0 0 rdrop branch ;s dup ?branch 181 181 0 0 rdrop branch ;s dup 181 181 0 0 rdrop branch ;s 181 181 0 0 rdrop branch 181 181 0 0 rdrop ;s var: ! ;s does: 181 181 0 0 nip ;s dup ?branch rdrop branch 181 181 0 0 nip ;s dup ?branch rdrop 181 181 0 0 execute col: col: var: @ 1- 181 181 0 0 dup ?branch rdrop branch ;s dup 181 181 0 0 dup ?branch rdrop branch ;s 181 181 0 0 dup ?branch rdrop branch 181 181 0 0 dup ?branch 0> ?branch col: lit 181 181 0 0 drop branch ;s user: @ 0= 181 181 0 0 drop branch ;s user: @ 181 181 0 0 drop branch ;s user: 181 181 0 0 branch ;s dup ?branch 0> ?branch 181 181 0 0 branch ;s dup ?branch 0> 181 181 0 0 ?branch rdrop branch ;s dup ?branch 181 181 0 0 ?branch rdrop branch ;s dup 181 181 0 0 ?branch rdrop branch ;s 181 181 0 0 ?branch rdrop branch 181 181 0 0 ?branch nip ;s dup ?branch rdrop 181 181 0 0 ?branch col: lit col: dup @ 181 181 0 0 ?branch col: lit col: dup 181 181 0 0 ?branch 0> ?branch col: lit col: 181 181 0 0 ?branch 0> ?branch col: lit 181 181 0 0 ;s var: ! ;s does: col: 181 181 0 0 ;s var: ! ;s does: 181 181 0 0 ;s dup ?branch rdrop branch ;s 181 181 0 0 ;s dup ?branch rdrop branch 181 181 0 0 ;s dup ?branch rdrop 181 181 0 0 ;s drop branch ;s user: @ 181 181 0 0 ;s drop branch ;s user: 181 181 0 0 ;s ;s drop branch ;s user: 181 181 0 0 ;s ;s drop branch ;s 181 181 0 0 ;s ;s drop branch 181 181 0 0 ;s ;s ;s drop branch ;s 181 181 0 0 ;s ;s ;s drop branch 181 181 0 0 ;s ;s ;s ;s drop branch 181 181 0 0 ;s ;s ;s ;s drop 181 181 0 0 2drop ;s ;s ;s ;s drop 181 181 0 0 0> ?branch col: lit col: dup 181 181 0 0 0> ?branch col: lit col: 181 181 0 0 0> ?branch col: lit 180 86 29 65 lit ;s 180 0 0 180 dup @ col: col: col: user: 180 0 0 180 dup @ col: col: col: 180 0 0 180 dup @ col: col: 180 0 0 180 ;s cell+ (loop) 180 0 0 180 ;s ! ;s cell+ (loop) 180 0 0 180 +! ;s ! ;s cell+ (loop) 180 0 0 180 ! ;s cell+ (loop) 179 67 1 111 execute col: var: col: 179 41 89 49 nip execute col: defer: col: defer: 179 41 89 49 execute col: defer: col: defer: col: 179 41 89 49 execute col: defer: col: defer: 179 28 108 43 var: @ ?branch con: ;s lit 179 28 108 43 var: @ ?branch con: ;s 179 28 108 43 con: = ?branch var: @ ?branch 179 28 108 43 con: = ?branch var: @ 179 28 108 43 con: = ?branch var: 179 28 108 43 con: ;s lit col: col: col: 179 28 108 43 con: ;s lit col: col: 179 28 108 43 con: ;s lit col: 179 28 108 43 con: ;s lit 179 28 108 43 @ ?branch con: ;s lit col: 179 28 108 43 @ ?branch con: ;s lit 179 28 108 43 @ ?branch con: ;s 179 28 108 43 ?branch var: @ ?branch 179 28 108 43 ?branch con: ;s lit col: col: 179 28 108 43 ?branch con: ;s lit col: 179 28 108 43 ?branch con: ;s lit 179 28 108 43 = ?branch var: @ ?branch 179 28 108 43 = ?branch var: @ 179 28 108 43 = ?branch var: 179 28 108 43 ;s var: @ ?branch con: ;s 179 28 108 43 ;s con: = ?branch var: @ 179 28 108 43 ;s con: = ?branch var: 179 28 108 43 ;s ;s con: = ?branch var: 177 95 48 34 nip execute col: col: col: r> 176 0 176 0 defer: (type) ;s @local1 field: @ 176 0 176 0 defer: (type) ;s @local1 field: 176 0 176 0 count defer: (type) ;s @local1 field: 176 0 176 0 ;s col: >l lp- col: col: 176 0 176 0 ;s col: >l lp- col: 176 0 176 0 (type) ;s @local1 field: @ 176 0 176 0 (type) ;s @local1 field: 175 164 11 0 dup ;s 174 86 88 0 con: = ?branch con: 174 0 174 0 var: <> @local3 col: >l lp- 174 0 174 0 var: <> @local3 col: >l 174 0 174 0 var: <> @local3 col: 174 0 174 0 var: <> @local3 174 0 174 0 var: <> 174 0 174 0 or and ?branch @local2 174 0 174 0 or and ?branch 174 0 174 0 or and 174 0 174 0 nip lp+ ;s does: @ + 174 0 174 0 nip lp+ ;s does: @ 174 0 174 0 nip lp+ ;s does: 174 0 174 0 lp- @local3 col: >l lp- @local1 174 0 174 0 lp- @local3 col: >l lp- 174 0 174 0 lp- @local3 col: >l 174 0 174 0 lp- @local3 col: 174 0 174 0 does: @ + @ ;s @local3 174 0 174 0 does: @ + @ ;s @local1 174 0 174 0 does: @ + @ ;s < 174 0 174 0 and ?branch @local2 174 0 174 0 @local2 var: <> @local3 col: >l 174 0 174 0 @local2 var: <> @local3 col: 174 0 174 0 @local2 var: <> @local3 174 0 174 0 @local2 var: <> 174 0 174 0 @local2 var: 174 0 174 0 @local1 = @local2 var: <> @local3 174 0 174 0 @local1 = @local2 var: <> 174 0 174 0 @local1 = @local2 var: 174 0 174 0 @local1 = @local2 174 0 174 0 @local1 = 174 0 174 0 @local1 2@ nip lp+ ;s does: 174 0 174 0 @ ;s @local3 col: >l lp- 174 0 174 0 @ ;s @local3 col: >l 174 0 174 0 @ ;s @local3 col: 174 0 174 0 @ ;s @local3 174 0 174 0 @ ;s @local1 = @local2 var: 174 0 174 0 @ ;s @local1 = @local2 174 0 174 0 @ ;s @local1 = 174 0 174 0 @ ;s < or and ?branch 174 0 174 0 @ ;s < or and 174 0 174 0 @ ;s < or 174 0 174 0 @ ;s < 174 0 174 0 @ + @ ;s @local3 col: 174 0 174 0 @ + @ ;s @local3 174 0 174 0 @ + @ ;s @local1 = 174 0 174 0 @ + @ ;s @local1 174 0 174 0 @ + @ ;s < or 174 0 174 0 @ + @ ;s < 174 0 174 0 >l lp- @local3 col: >l lp- 174 0 174 0 >l lp- @local3 col: >l 174 0 174 0 >l lp- @local3 col: 174 0 174 0 >l >l lp- @local3 col: >l 174 0 174 0 >l >l lp- @local3 col: 174 0 174 0 >l >l >l lp- @local3 col: 174 0 174 0 = @local2 var: <> @local3 col: 174 0 174 0 = @local2 var: <> @local3 174 0 174 0 = @local2 var: <> 174 0 174 0 = @local2 var: 174 0 174 0 = @local2 174 0 174 0 <> @local3 col: >l lp- @local1 174 0 174 0 <> @local3 col: >l lp- 174 0 174 0 <> @local3 col: >l 174 0 174 0 <> @local3 col: 174 0 174 0 <> @local3 174 0 174 0 < or and ?branch @local2 174 0 174 0 < or and ?branch 174 0 174 0 < or and 174 0 174 0 < or 174 0 174 0 ;s @local1 = @local2 var: <> 174 0 174 0 ;s @local1 = @local2 var: 174 0 174 0 ;s @local1 = @local2 174 0 174 0 ;s @local1 = 174 0 174 0 ;s < or and ?branch @local2 174 0 174 0 ;s < or and ?branch 174 0 174 0 ;s < or and 174 0 174 0 ;s < or 174 0 174 0 ;s < 174 0 174 0 2@ nip lp+ ;s does: @ 174 0 174 0 2@ nip lp+ ;s does: 174 0 174 0 + @ ;s @local3 col: >l 174 0 174 0 + @ ;s @local3 col: 174 0 174 0 + @ ;s @local3 174 0 174 0 + @ ;s @local1 = @local2 174 0 174 0 + @ ;s @local1 = 174 0 174 0 + @ ;s @local1 174 0 174 0 + @ ;s < or and 174 0 174 0 + @ ;s < or 174 0 174 0 + @ ;s < 173 26 67 80 user: +! ;s col: col: 173 26 67 80 1+ user: +! ;s col: col: 173 1 11 161 or ?branch 173 0 173 0 execute col: >l lp- @local1 field: 173 0 173 0 col: >l lp- @local1 field: @ 173 0 112 61 + ;s @ swap 173 0 0 173 rot rot - ?dup ?branch col: 173 0 0 173 rot - ?dup ?branch col: col: 173 0 0 173 rot - ?dup ?branch col: 173 0 0 173 defer: (type) ;s cr ?dup ?branch 173 0 0 173 defer: (type) ;s cr ?dup 173 0 0 173 cr ?dup ?branch 173 0 0 173 cr ?dup 173 0 0 173 count defer: (type) ;s cr ?dup 173 0 0 173 ;s cr ?dup ?branch 173 0 0 173 ;s cr ?dup 173 0 0 173 - ?dup ?branch col: col: r> 173 0 0 173 - ?dup ?branch col: col: 173 0 0 173 - ?dup ?branch col: 173 0 0 173 (type) ;s cr ?dup ?branch 173 0 0 173 (type) ;s cr ?dup 172 7 9 156 branch col: var: 172 7 9 156 ;s branch col: var: 172 25 67 80 user: +! ;s col: col: user: 172 25 67 80 +! ;s col: col: user: @ 172 25 67 80 +! ;s col: col: user: 172 0 172 0 ;s @ swap col: 171 4 57 110 r> ;s ;s 171 139 2 30 ;s ?branch ;s ;s 170 68 32 70 drop branch ;s ;s 170 68 32 70 ;s drop branch ;s ;s 170 68 32 70 ! ;s drop branch ;s ;s 170 169 0 1 ;s dup col: col: var: 170 169 0 1 ;s ;s dup col: col: var: 170 0 170 0 branch lp+2 ;s lp+ branch >l 170 0 170 0 branch lp+2 ;s lp+ branch 170 0 170 0 branch lp+2 ;s lp+ 170 0 170 0 ;s col: cells + ;s @ 169 45 124 0 ;s var: ! ;s col: 169 169 0 0 rdrop ;s ;s ;s dup col: 169 169 0 0 rdrop ;s ;s ;s dup 169 169 0 0 ?branch rdrop ;s ;s ;s dup 169 169 0 0 ;s dup col: col: var: @ 166 158 8 0 ;s (loop) col: dup 166 158 8 0 ;s (loop) col: 166 158 8 0 (loop) col: dup 166 158 8 0 (loop) col: 166 0 166 0 @ @local1 lit 166 0 166 0 ?branch @local3 col: >l lp- @local1 166 0 166 0 ?branch @local3 col: >l lp- 166 0 166 0 ?branch @local3 col: >l 166 0 166 0 ?branch @local3 col: 165 98 42 25 rdrop ;s 0> ?branch col: 165 98 42 25 ?branch rdrop ;s 0> ?branch col: 165 98 42 25 ;s 0> ?branch col: 165 61 59 45 ?branch ;s col: user: @ 165 61 59 45 ?branch ;s col: user: 165 0 165 0 floats 164 88 63 13 laddr# 164 164 0 0 col: dup ;s 164 0 164 0 lit floats 164 0 0 164 @ @ ;s ;s col: col: 164 0 0 164 @ ;s ;s col: col: 164 0 0 164 ;s ;s dup does: @ col: 164 0 0 164 ;s ;s dup does: @ 164 0 0 164 ;s ;s dup does: 162 146 16 0 col: lit col: var: @ 162 146 16 0 col: lit col: var: 162 11 75 76 execute col: user: @ ?branch col: 162 0 162 0 @local0 does: @ + @ ;s 162 0 162 0 @local0 does: @ + @ 162 0 162 0 @local0 does: @ + 162 0 162 0 @local0 does: @ 162 0 162 0 @local0 does: 161 17 117 27 invert 161 160 0 1 ;s nip ;s 161 0 31 130 @ ;s swap col: 161 0 31 130 @ ;s @ ;s swap col: 161 0 31 130 ;s @ ;s swap col: 161 0 0 161 @ ;s ;s col: col: col: 160 7 144 9 con: ;s ;s ;s branch col: 160 7 144 9 con: ;s ;s ;s branch 160 160 0 0 swap ! ;s nip ;s 160 160 0 0 swap ! ;s nip 160 160 0 0 r> ;s ?branch var: col: con: 160 160 0 0 r> ;s ?branch var: col: 160 160 0 0 r> ;s ?branch var: 160 160 0 0 r> ;s ?branch 160 160 0 0 nip r> ;s ?branch var: col: 160 160 0 0 nip r> ;s ?branch var: 160 160 0 0 nip r> ;s ?branch 160 160 0 0 dup ;s col: col: col: var: 160 160 0 0 dup ;s col: col: col: 160 160 0 0 dup ;s col: col: 160 160 0 0 dup ;s col: 160 160 0 0 con: swap ! ;s nip ;s 160 160 0 0 con: swap ! ;s nip 160 160 0 0 col: dup ;s col: col: col: 160 160 0 0 col: dup ;s col: col: 160 160 0 0 col: dup ;s col: 160 160 0 0 col: con: swap ! ;s nip 160 160 0 0 >r >body nip r> ;s ?branch 160 160 0 0 >body nip r> ;s ?branch var: 160 160 0 0 >body nip r> ;s ?branch 160 160 0 0 ;s ?branch var: col: con: swap 160 160 0 0 ;s ?branch var: col: con: 160 160 0 0 ;s ?branch var: col: 160 160 0 0 ! ;s nip ;s 160 160 0 0 ! ;s nip 160 105 31 24 ;s ;s ;s col: dup 160 0 31 129 @ ;s swap col: col: 160 0 31 129 ;s @ ;s swap col: col: 160 0 0 160 drop 2drop ;s ;s 0= does: 160 0 0 160 cell+ (loop) dup @ col: col: 160 0 0 160 cell+ (loop) dup @ col: 160 0 0 160 cell+ (loop) dup @ 160 0 0 160 c@ 0= or ?branch 160 0 0 160 c@ 0= or 160 0 0 160 @ col: lit col: >r con: 160 0 0 160 @ col: lit col: >r 160 0 0 160 @ col: lit col: 160 0 0 160 @ ! ;s ;s dup does: 160 0 0 160 @ ! ;s ;s dup 160 0 0 160 ;s cell+ (loop) dup @ col: 160 0 0 160 ;s cell+ (loop) dup @ 160 0 0 160 ;s cell+ (loop) dup 160 0 0 160 ;s c@ 0= or ?branch 160 0 0 160 ;s c@ 0= or 160 0 0 160 ;s @ col: lit col: >r 160 0 0 160 ;s @ col: lit col: 160 0 0 160 ;s @ col: lit 160 0 0 160 ;s ;s 0= does: @ col: 160 0 0 160 ;s ;s 0= does: @ 160 0 0 160 ;s ;s 0= does: 160 0 0 160 ;s 0= does: @ col: var: 160 0 0 160 ;s 0= does: @ col: 160 0 0 160 ;s 0= does: @ 160 0 0 160 ;s 0= does: 160 0 0 160 ;s + ;s c@ 0= or 160 0 0 160 ;s + ;s @ col: lit 160 0 0 160 ;s ! ;s cell+ (loop) dup 160 0 0 160 2drop ;s ;s 0= does: @ 160 0 0 160 2drop ;s ;s 0= does: 160 0 0 160 0= or ?branch 160 0 0 160 0= or 160 0 0 160 0= does: @ col: var: col: 160 0 0 160 0= does: @ col: var: 160 0 0 160 0= does: @ col: 160 0 0 160 0= does: @ 160 0 0 160 0= does: 160 0 0 160 +! @ ! ;s ;s dup 160 0 0 160 + ;s c@ 0= or ?branch 160 0 0 160 + ;s c@ 0= or 160 0 0 160 + ;s @ col: lit col: 160 0 0 160 + ;s @ col: lit 160 0 0 160 (loop) dup @ col: col: col: 160 0 0 160 (loop) dup @ col: col: 160 0 0 160 (loop) dup @ col: 160 0 0 160 (loop) dup @ 160 0 0 160 ! ;s cell+ (loop) dup @ 160 0 0 160 ! ;s cell+ (loop) dup 160 0 0 160 ! ;s ;s dup does: @ 160 0 0 160 ! ;s ;s dup does: 159 0 159 0 field: col: >l >l 158 28 100 30 swap cmove 158 18 135 5 noop ;s col: 158 158 0 0 c! ;s ;s (loop) col: dup 158 158 0 0 c! ;s ;s (loop) col: 158 158 0 0 ;s c! ;s ;s (loop) col: 158 158 0 0 ;s ;s (loop) col: dup ;s 158 158 0 0 ;s ;s (loop) col: dup 158 158 0 0 ;s ;s (loop) col: 158 158 0 0 ;s (loop) col: dup ;s col: 158 158 0 0 ;s (loop) col: dup ;s 158 158 0 0 (loop) col: dup ;s col: col: 158 158 0 0 (loop) col: dup ;s col: 158 158 0 0 (loop) col: dup ;s 158 0 158 0 over = ?branch lit floats over 158 0 158 0 over = ?branch lit floats 158 0 158 0 lit floats over = ?branch 158 0 158 0 lit floats over = 158 0 158 0 lit floats over 158 0 158 0 floats over = ?branch 158 0 158 0 floats over = 158 0 158 0 floats over 158 0 158 0 ?branch lit floats over = ?branch 158 0 158 0 ?branch lit floats over = 158 0 158 0 ?branch lit floats over 158 0 158 0 ?branch lit floats 158 0 158 0 = ?branch lit floats over = 158 0 158 0 = ?branch lit floats over 158 0 158 0 = ?branch lit floats 157 0 157 0 ! lp+ ;s 157 0 157 0 ! lp+ 157 0 0 157 ;s c! col: 157 0 0 157 ;s ;s + ;s c! col: 157 0 0 157 ;s + ;s c! col: 157 0 0 157 + ;s c! col: 156 0 156 0 @local1 lit col: >l >l >l 155 33 122 0 branch dup ?branch drop 155 33 122 0 ;s branch dup ?branch drop 155 33 122 0 ;s ;s branch dup ?branch drop 155 0 155 0 defer: (type) ;s cr lp+ ;s 155 0 155 0 defer: (type) ;s cr lp+ 155 0 155 0 count defer: (type) ;s cr lp+ 155 0 155 0 (type) ;s cr lp+ ;s 155 0 155 0 (type) ;s cr lp+ 154 78 31 45 rdrop ;s ;s ;s col: 154 78 31 45 ?branch rdrop ;s ;s ;s col: 154 55 78 21 nip nip execute col: dup col: 154 55 78 21 nip execute col: dup col: 154 55 78 21 execute col: dup col: 154 28 125 1 user: ! col: var: 154 0 154 0 lp+ ;s lp+ ;s lp+ ;s 154 0 154 0 @local1 field: col: >l 154 0 154 0 @local1 field: col: 154 0 154 0 >l @local1 col: >l lp- @local1 153 44 49 60 ;s col: con: @ col: 153 44 49 60 ;s col: con: @ 153 130 17 6 lit /string branch dup ?branch rdrop 153 130 17 6 branch dup ?branch rdrop ;s 153 130 17 6 branch dup ?branch rdrop 153 130 17 6 /string branch dup ?branch rdrop ;s 153 130 17 6 /string branch dup ?branch rdrop 152 99 38 15 rdrop lit 152 44 59 49 col: col: col: r> dup cell+ 152 44 59 49 col: col: col: r> dup 152 0 152 0 lp+ ;s col: lit defer: (emit) 152 0 152 0 lp+ ;s col: lit defer: 152 0 152 0 lp+ ;s col: lit 152 0 152 0 lit defer: (emit) ;s col: col: 152 0 152 0 lit defer: (emit) ;s col: 152 0 152 0 defer: (emit) ;s col: col: r> 152 0 152 0 defer: (emit) ;s col: col: 152 0 152 0 defer: (emit) ;s col: 152 0 152 0 col: lit defer: (emit) ;s col: 152 0 152 0 ;s lp+ ;s col: lit defer: 152 0 152 0 ;s lp+ ;s col: lit 152 0 152 0 ;s ;s lp+ ;s col: lit 152 0 152 0 (emit) ;s col: col: r> r> 152 0 152 0 (emit) ;s col: col: r> 152 0 152 0 (emit) ;s col: col: 152 0 152 0 (emit) ;s col: 152 0 0 152 cr ?dup ?branch ;s col: col: 152 0 0 152 cr ?dup ?branch ;s col: 152 0 0 152 cr ?dup ?branch ;s 152 0 0 152 c! col: var: col: @ @ 152 0 0 152 c! col: var: col: @ 152 0 0 152 c! col: var: col: 152 0 0 152 c! col: var: 152 0 0 152 ;s cr ?dup ?branch ;s col: 152 0 0 152 ;s cr ?dup ?branch ;s 152 0 0 152 ;s c! col: var: col: @ 152 0 0 152 ;s c! col: var: col: 152 0 0 152 ;s c! col: var: 152 0 0 152 ;s + ;s c! col: var: 152 0 0 152 + ;s c! col: var: col: 152 0 0 152 + ;s c! col: var: 152 0 0 152 (type) ;s cr ?dup ?branch ;s 151 0 151 0 lp- @local1 >l lp- @local1 col: 151 0 151 0 field: @ @local1 lit col: >l 151 0 151 0 field: @ @local1 lit col: 151 0 151 0 field: @ @local1 lit 151 0 151 0 @local1 field: @ @local1 lit col: 151 0 151 0 @local1 field: @ @local1 lit 151 0 151 0 @ @local1 lit col: >l >l 151 0 151 0 @ @local1 lit col: >l 151 0 151 0 @ @local1 lit col: 150 43 58 49 ;s col: dup col: dup con: 150 43 58 49 ;s col: dup col: dup 150 43 58 49 ;s ;s col: dup col: dup 150 0 0 150 @ ;s col: col: col: user: 150 0 0 150 2drop ;s does: @ 150 0 0 150 2drop ;s does: 149 98 36 15 ;s r> user: ! 149 98 36 15 ;s r> user: 149 6 135 8 var: var: ! ;s 149 6 135 8 ! var: var: ! 149 6 135 8 ! var: var: 149 149 0 0 + ;s var: ! 149 149 0 0 + ;s var: 149 0 142 7 defer: (type) ;s cr branch 149 0 142 7 cr branch 149 0 142 7 count defer: (type) ;s cr branch 149 0 142 7 ;s cr branch 149 0 142 7 (type) ;s cr branch 149 0 0 149 var: @ ;s col: col: col: 149 0 0 149 var: @ ;s col: col: 149 0 0 149 col: var: @ ;s col: col: 148 148 0 0 @ dup col: 148 119 29 0 ;s ! ;s lit var: 148 0 148 0 lp- @local1 col: >l lp- col: 148 0 148 0 ;s lp+ ;s lp+ ;s lp+ 148 0 124 24 var: @ ;s does: 148 0 124 24 col: var: @ ;s does: 148 0 124 24 @ ;s does: 148 0 124 24 ;s col: var: @ ;s does: 147 36 45 66 = ;s 147 2 137 8 rdrop ;s ;s lit lit 147 2 137 8 ?branch rdrop ;s ;s lit lit 147 2 137 8 ;s ;s lit lit 147 147 0 0 c! ;s ;s var: 147 131 0 16 ;s +! ;s ! ;s col: 147 131 0 16 +! ;s ! ;s col: 147 0 0 147 or ?branch con: does: @ col: 147 0 0 147 or ?branch con: does: @ 147 0 0 147 or ?branch con: does: 147 0 0 147 or ?branch con: 147 0 0 147 c@ 0= or ?branch con: does: 147 0 0 147 c@ 0= or ?branch con: 147 0 0 147 branch col: var: col: lit swap 147 0 0 147 branch col: var: col: lit 147 0 0 147 branch col: var: col: 147 0 0 147 @ col: 2dup col: lit col: 147 0 0 147 @ col: 2dup col: lit 147 0 0 147 @ col: 2dup col: 147 0 0 147 ;s c@ 0= or ?branch con: 147 0 0 147 ;s branch col: var: col: lit 147 0 0 147 ;s branch col: var: col: 147 0 0 147 ;s @ col: 2dup col: lit 147 0 0 147 ;s @ col: 2dup col: 147 0 0 147 ;s @ col: 2dup 147 0 0 147 ;s + ;s @ col: 2dup 147 0 0 147 ;s ! does: @ does: @ 147 0 0 147 ;s ! does: @ does: 147 0 0 147 0= or ?branch con: does: @ 147 0 0 147 0= or ?branch con: does: 147 0 0 147 0= or ?branch con: 147 0 0 147 + ;s @ col: 2dup col: 147 0 0 147 + ;s @ col: 2dup 147 0 0 147 + ;s ! does: @ does: 147 0 0 147 ! does: @ does: @ col: 147 0 0 147 ! does: @ does: @ 147 0 0 147 ! does: @ does: 146 40 50 56 tuck ! cell+ tuck ! cell+ 146 40 50 56 tuck ! cell+ tuck ! 146 40 50 56 tuck ! cell+ tuck 146 40 50 56 cell+ tuck ! cell+ 146 40 50 56 cell+ tuck ! 146 40 50 56 ! cell+ tuck ! cell+ 146 40 50 56 ! cell+ tuck ! 146 40 50 56 ! cell+ tuck 146 32 62 52 2dup u< ?branch 146 32 62 52 2dup u< 146 146 0 0 nip execute col: lit col: var: 146 146 0 0 execute col: lit col: var: @ 146 146 0 0 execute col: lit col: var: 146 146 0 0 col: lit col: var: @ dup 146 0 0 146 ;s c@ 0= ?branch 146 0 0 146 ;s ;s does: @ does: @ 146 0 0 146 ;s ;s does: @ does: 146 0 0 146 ;s ;s ?branch drop 146 0 0 146 ;s + ;s c@ 0= ?branch 146 0 0 146 + ;s c@ 0= ?branch 146 0 0 146 ! ;s ;s does: @ does: 145 37 59 49 ;s lit col: 1+ con: * 145 37 59 49 ;s lit col: 1+ con: 145 37 59 49 ;s lit col: 1+ 145 37 59 49 ;s ;s lit col: 1+ con: 145 37 59 49 ;s ;s lit col: 1+ 145 0 145 0 con: col: >l 145 0 0 145 swap (?do) unloop ;s var: 145 0 0 145 (?do) unloop ;s var: 144 52 74 18 nip execute col: dup col: dup 144 52 74 18 execute col: dup col: dup con: 144 52 74 18 execute col: dup col: dup 144 39 48 57 r@ pick 144 3 1 140 c! ;s (loop) unloop ;s col: 144 144 0 0 nip execute col: col: col: var: 144 144 0 0 execute col: col: col: var: 144 0 144 0 swap branch over 0<> ?branch faligned 144 0 144 0 lit over 0<> ?branch over col: 144 0 144 0 lit over 0<> ?branch over 144 0 144 0 con: col: >l lp- 144 0 144 0 col: lit over 0<> ?branch over 144 0 144 0 branch over 0<> ?branch faligned nip 144 0 144 0 branch over 0<> ?branch faligned 143 0 143 0 lp+2 ;s cr 143 0 143 0 dup ?branch 2drop lp+2 ;s cr 143 0 143 0 ?branch 2drop lp+2 ;s cr 143 0 143 0 2drop lp+2 ;s cr 143 0 0 143 drop branch ;s dup does: @ 143 0 0 143 drop branch ;s dup does: 143 0 0 143 drop branch ;s dup 143 0 0 143 drop 2drop ;s ;s ?branch drop 143 0 0 143 branch ;s dup does: @ col: 143 0 0 143 branch ;s dup does: @ 143 0 0 143 branch ;s dup does: 143 0 0 143 ?branch drop branch ;s 143 0 0 143 ;s ?branch drop branch ;s 143 0 0 143 ;s ?branch drop branch 143 0 0 143 ;s ;s ?branch drop branch ;s 143 0 0 143 ;s ;s ?branch drop branch 143 0 0 143 2drop ;s ;s ?branch drop branch 143 0 0 143 2drop ;s ;s ?branch drop 142 7 77 58 nip execute col: col: defer: col: 142 7 77 58 execute col: col: defer: col: defer: 142 7 77 58 execute col: col: defer: col: 142 7 77 58 col: col: defer: col: defer: col: 142 7 77 58 col: col: defer: col: defer: 142 10 132 0 ;s ;s defer: col: 142 0 142 0 lp+ ;s @local2 lit col: >l 142 0 142 0 lp+ ;s @local2 lit col: 142 0 142 0 lp+ ;s @local2 lit 142 0 142 0 lit defer: (emit) ;s @local1 142 0 142 0 defer: (type) ;s lp+ ;s @local2 142 0 142 0 defer: (type) ;s cr branch lp+2 142 0 142 0 defer: (emit) ;s @local1 142 0 142 0 cr branch lp+2 ;s lp+ branch 142 0 142 0 cr branch lp+2 ;s lp+ 142 0 142 0 cr branch lp+2 ;s 142 0 142 0 cr branch lp+2 142 0 142 0 con: col: >l lp- col: col: 142 0 142 0 con: col: >l lp- col: 142 0 142 0 col: lit defer: (emit) ;s @local1 142 0 142 0 @local3 col: >l lp- @local1 col: 142 0 142 0 @local2 lit col: >l >l @local0 142 0 142 0 @local2 lit col: >l >l 142 0 142 0 @local2 lit col: >l 142 0 142 0 @local2 lit col: 142 0 142 0 @local2 lit 142 0 142 0 ;s lp+ ;s @local2 lit col: 142 0 142 0 ;s lp+ ;s @local2 lit 142 0 142 0 ;s cr branch lp+2 ;s lp+ 142 0 142 0 ;s cr branch lp+2 ;s 142 0 142 0 ;s cr branch lp+2 142 0 142 0 ;s @local2 lit col: >l >l 142 0 142 0 ;s @local2 lit col: >l 142 0 142 0 ;s @local2 lit col: 142 0 142 0 ;s @local2 lit 142 0 142 0 (type) ;s lp+ ;s @local2 lit 142 0 142 0 (type) ;s lp+ ;s @local2 142 0 142 0 (type) ;s cr branch lp+2 ;s 142 0 142 0 (type) ;s cr branch lp+2 142 0 142 0 (emit) ;s @local1 142 0 0 142 ?branch drop branch ;s dup does: 142 0 0 142 ?branch drop branch ;s dup 142 0 0 142 ;s ?branch drop branch ;s dup 141 141 0 0 + ;s ;s 141 0 141 0 @local1 field: @ col: 141 0 141 0 ! ;s @local1 140 18 86 36 var: r@ 140 18 86 36 cmove var: 140 140 0 0 r> ?branch user: +! ;s con: 140 140 0 0 ?branch user: +! ;s con: write-file 140 140 0 0 ?branch user: +! ;s con: 140 140 0 0 ?branch user: +! ;s 2drop lit 139 5 62 72 unloop ;s branch ;s ;s branch 139 5 62 72 unloop ;s branch ;s ;s 139 5 62 72 unloop ;s branch ;s 139 5 62 72 unloop ;s branch 139 5 62 72 unloop ;s ;s col: col: col: 139 5 62 72 unloop ;s ;s col: col: 139 5 62 72 swap (?do) unloop ;s branch ;s 139 5 62 72 swap (?do) unloop ;s branch 139 5 62 72 aligned swap (?do) unloop ;s branch 139 5 62 72 (?do) unloop ;s branch ;s ;s 139 5 62 72 (?do) unloop ;s branch ;s 139 5 62 72 (?do) unloop ;s branch 139 32 69 38 swap ! ;s ;s ;s branch 139 23 79 37 over col: lit over 0<> ?branch 139 23 79 37 over col: lit over 0<> 139 23 79 37 over col: lit over 139 23 79 37 over col: lit 139 139 0 0 col: cell+ cell+ ;s ! 139 139 0 0 cell+ cell+ ;s ! 138 79 0 59 rot col: col: 137 137 0 0 dup 0< ?branch col: col: col: 137 137 0 0 dup 0< ?branch col: col: 137 137 0 0 dup 0< ?branch col: 137 137 0 0 0< ?branch col: col: col: 137 137 0 0 0< ?branch col: col: 137 137 0 0 0< ?branch col: 137 114 1 22 ;s ;s swap col: col: 137 114 1 22 ;s ;s swap col: 136 40 40 56 swap con: - dup @ swap 136 40 40 56 swap con: - dup @ 136 40 40 56 swap con: - dup 136 40 40 56 dup @ swap con: - dup 136 40 40 56 dup @ swap con: - 136 40 40 56 dup @ swap con: 136 40 40 56 con: - dup @ swap con: 136 40 40 56 @ swap con: - dup @ 136 40 40 56 @ swap con: - dup 136 40 40 56 @ swap con: - 136 40 40 56 @ swap con: 136 40 40 56 - dup @ swap con: - 136 40 40 56 - dup @ swap con: 136 12 124 0 user: ! col: col: var: dup 135 0 135 0 var: var: ! lit con: ! 135 0 135 0 var: var: ! lit con: 135 0 135 0 var: var: ! lit 135 0 135 0 var: var: ! ;s lit user: 135 0 135 0 var: var: ! ;s lit 135 0 135 0 var: ! lit con: ! var: 135 0 135 0 var: ! lit con: ! 135 0 135 0 var: ! lit con: 135 0 135 0 var: ! ;s lit user: ! 135 0 135 0 var: ! ;s lit user: 135 0 135 0 user: @ user: @ col: var: 135 0 135 0 user: @ user: @ col: 135 0 135 0 user: @ col: var: var: ! 135 0 135 0 user: @ col: var: var: 135 0 135 0 user: ! var: var: ! lit 135 0 135 0 user: ! var: var: ! 135 0 135 0 user: ! var: var: 135 0 135 0 user: ! user: ! noop ;s 135 0 135 0 user: ! user: ! noop 135 0 135 0 user: ! noop ;s col: 135 0 135 0 user: ! noop ;s 135 0 135 0 user: ! noop 135 0 135 0 swap ! ;s con: ;s ;s 135 0 135 0 swap ! ;s con: ;s 135 0 135 0 rdrop ;s ;s lit lit ! 135 0 135 0 noop user: @ user: @ col: 135 0 135 0 noop user: @ user: @ 135 0 135 0 noop user: @ user: 135 0 135 0 noop user: @ 135 0 135 0 noop user: 135 0 135 0 lit user: ! var: var: ! 135 0 135 0 lit user: ! var: var: 135 0 135 0 lit user: ! var: 135 0 135 0 lit lit ! lit col: user: 135 0 135 0 lit con: ! var: col: con: 135 0 135 0 lit con: ! var: col: 135 0 135 0 lit con: ! var: 135 0 135 0 lit con: ! 135 0 135 0 lit ! lit col: user: @ 135 0 135 0 lit ! lit col: user: 135 0 135 0 field: ! 135 0 135 0 drop ;s ;s user: ! user: 135 0 135 0 drop ;s ;s user: ! 135 0 135 0 drop ;s ;s user: 135 0 135 0 defer: col: noop user: @ user: 135 0 135 0 defer: col: noop user: @ 135 0 135 0 defer: col: noop user: 135 0 135 0 defer: col: noop 135 0 135 0 defer: col: col: con: <> col: 135 0 135 0 defer: col: col: con: <> 135 0 135 0 defer: col: col: con: 135 0 135 0 con: swap ! ;s con: ;s 135 0 135 0 con: swap ! ;s con: 135 0 135 0 con: ! var: col: con: swap 135 0 135 0 con: ! var: col: con: 135 0 135 0 con: ! var: col: 135 0 135 0 con: ! var: 135 0 135 0 col: var: var: ! ;s lit 135 0 135 0 col: var: var: ! ;s 135 0 135 0 col: var: var: ! 135 0 135 0 col: noop user: @ user: @ 135 0 135 0 col: noop user: @ user: 135 0 135 0 col: noop user: @ 135 0 135 0 col: noop user: 135 0 135 0 col: noop 135 0 135 0 col: con: swap ! ;s con: 135 0 135 0 @ user: @ col: var: var: 135 0 135 0 @ user: @ col: var: 135 0 135 0 @ user: @ col: 135 0 135 0 @ col: var: var: ! ;s 135 0 135 0 @ col: var: var: ! 135 0 135 0 @ col: var: var: 135 0 135 0 ;s user: ! user: ! noop 135 0 135 0 ;s lit user: ! var: var: 135 0 135 0 ;s lit user: ! var: 135 0 135 0 ;s con: ;s ;s ;s branch 135 0 135 0 ;s con: ;s ;s ;s 135 0 135 0 ;s con: ;s ;s 135 0 135 0 ;s ;s user: ! user: ! 135 0 135 0 ;s ;s user: ! user: 135 0 135 0 ;s ;s lit lit ! lit 135 0 135 0 ;s ;s lit lit ! 135 0 135 0 ! var: var: ! lit con: 135 0 135 0 ! var: var: ! lit 135 0 135 0 ! user: ! noop ;s col: 135 0 135 0 ! user: ! noop ;s 135 0 135 0 ! user: ! noop 135 0 135 0 ! noop ;s col: 135 0 135 0 ! noop ;s 135 0 135 0 ! noop 135 0 135 0 ! lit con: ! var: col: 135 0 135 0 ! lit con: ! var: 135 0 135 0 ! lit con: ! 135 0 135 0 ! lit con: 135 0 135 0 ! lit col: user: @ swap 135 0 135 0 ! lit col: user: @ 135 0 135 0 ! lit col: user: 135 0 135 0 ! ;s lit user: ! var: 135 0 135 0 ! ;s con: ;s ;s ;s 135 0 135 0 ! ;s con: ;s ;s 135 0 135 0 ! ;s con: ;s 134 33 54 47 ;s 0= ?branch ;s ;s 134 108 26 0 ;s col: cell+ 133 133 0 0 dup col: var: @ 133 133 0 0 dup col: var: 133 0 133 0 lp- @local1 ?branch @local1 @local# @local# 133 0 133 0 lp- @local1 ?branch @local1 @local# 133 0 133 0 col: >l >l @local0 col: >l 133 0 133 0 col: >l >l @local0 col: 133 0 133 0 @local1 @local# @local# execute col: >l 133 0 133 0 @local1 @local# @local# execute col: 133 0 133 0 @local1 @local# @local# execute 133 0 133 0 @local1 @local# @local# 133 0 133 0 @local1 @local# 133 0 133 0 @local1 ?branch @local1 @local# @local# execute 133 0 133 0 @local1 ?branch @local1 @local# @local# 133 0 133 0 @local1 ?branch @local1 @local# 133 0 133 0 @local1 ! 133 0 133 0 ?branch @local1 @local# @local# execute col: 133 0 133 0 ?branch @local1 @local# @local# execute 133 0 133 0 ?branch @local1 @local# @local# 133 0 133 0 ?branch @local1 @local# 133 0 133 0 >l lp- @local1 ?branch @local1 @local# 133 0 133 0 >l @local0 col: >l lp- 133 0 133 0 >l @local0 col: >l 133 0 133 0 >l @local0 col: 133 0 133 0 >l >l @local0 col: >l lp- 133 0 133 0 >l >l @local0 col: >l 133 0 133 0 >l >l @local0 col: 132 42 74 16 swap 2dup 132 3 127 2 execute col: col: user: @ ;s 132 14 113 5 ! ;s lit col: >r 132 131 0 1 code-address! ;s ;s col: col: user: 132 0 132 0 user: ! noop ;s col: col: 132 0 132 0 swap ! ;s ;s defer: col: 132 0 132 0 noop ;s col: col: col: r> 132 0 132 0 noop ;s col: col: col: 132 0 132 0 noop ;s col: col: 132 0 132 0 nip execute col: defer: col: col: 132 0 132 0 execute col: defer: col: col: con: 132 0 132 0 execute col: defer: col: col: 132 0 132 0 con: lit (do) 132 0 132 0 col: defer: col: col: con: <> 132 0 132 0 col: defer: col: col: con: 132 0 132 0 @local1 col: >l lp- var: @ 132 0 132 0 @local1 col: >l lp- var: 132 0 132 0 @local1 col: >l lp- @local1 2@ 132 0 132 0 ;s defer: col: noop user: @ 132 0 132 0 ;s defer: col: noop user: 132 0 132 0 ;s defer: col: noop 132 0 132 0 ;s ;s defer: col: noop user: 132 0 132 0 ;s ;s defer: col: noop 132 0 132 0 ! noop ;s col: col: col: 132 0 132 0 ! noop ;s col: col: 132 0 132 0 ! ;s ;s defer: col: noop 132 0 132 0 ! ;s ;s defer: col: 132 0 0 132 col: var: col: col: 132 0 0 132 + @ ;s col: col: col: 131 89 28 14 rp@ user: ! 131 89 28 14 rp@ user: 131 89 28 14 rp@ 131 15 116 0 col: 1- 131 131 0 0 var: ! ;s swap ! 131 131 0 0 var: ! ;s swap 131 131 0 0 user: @ col: col: defer: defer: 131 131 0 0 user: @ col: col: defer: 131 131 0 0 rdrop ;s var: ! ;s swap 131 131 0 0 does-code! ;s ;s swap 131 131 0 0 @ col: col: defer: defer: col: 131 131 0 0 @ col: col: defer: defer: 131 131 0 0 @ col: col: defer: 131 131 0 0 @ ;s does-code! ;s ;s swap 131 131 0 0 ?branch ;s col: var: @ 1- 131 131 0 0 ;s var: ! ;s swap ! 131 131 0 0 ;s var: ! ;s swap 131 131 0 0 ;s does-code! ;s ;s swap 131 131 0 0 ;s ! ;s col: r> /does-handler 131 131 0 0 ;s ! ;s col: r> 131 131 0 0 ;s ! ;s col: defer: col: 131 131 0 0 ;s ! ;s col: defer: 131 131 0 0 0= ?branch ;s col: var: @ 131 131 0 0 +! ;s ! ;s col: r> 131 131 0 0 + ;s ! ;s col: defer: 131 131 0 0 ! ;s swap ! 131 131 0 0 ! ;s col: r> /does-handler + 131 131 0 0 ! ;s col: r> /does-handler 131 131 0 0 ! ;s col: r> 131 131 0 0 ! ;s col: defer: col: defer: 131 131 0 0 ! ;s col: defer: col: 131 131 0 0 ! ;s col: defer: 131 1 1 129 0= ?branch con: 130 32 45 53 user: @ ;s @ ;s - 130 32 45 53 @ ;s @ ;s - col: 130 32 45 53 @ ;s @ ;s - 130 32 45 53 @ ;s - col: col: 130 32 45 53 @ ;s - col: 130 32 45 53 @ ;s - 130 32 45 53 ;s @ ;s - col: col: 130 32 45 53 ;s @ ;s - col: 130 32 45 53 ;s @ ;s - 130 14 116 0 tuck + swap invert and ;s 130 14 116 0 tuck + swap invert and 130 14 116 0 tuck + swap invert 130 14 116 0 tuck + swap 130 14 116 0 tuck + 130 14 116 0 swap invert and ;s 130 14 116 0 swap invert and 130 14 116 0 swap invert 130 14 116 0 invert and ;s 130 14 116 0 invert and 130 14 116 0 col: 1- tuck + swap invert 130 14 116 0 col: 1- tuck + swap 130 14 116 0 col: 1- tuck + 130 14 116 0 col: 1- tuck 130 14 116 0 1- tuck + swap invert and 130 14 116 0 1- tuck + swap invert 130 14 116 0 1- tuck + swap 130 14 116 0 1- tuck + 130 14 116 0 1- tuck 130 14 116 0 + swap invert and ;s 130 14 116 0 + swap invert and 130 14 116 0 + swap invert 130 130 0 0 ;s col: lit cells + ;s 130 130 0 0 ;s col: lit cells + 130 130 0 0 ;s col: lit cells 130 0 130 0 or and ?branch @local2 @local1 col: 130 0 130 0 or and ?branch @local2 @local1 130 0 130 0 and ?branch @local2 @local1 col: >l 130 0 130 0 and ?branch @local2 @local1 col: 130 0 130 0 and ?branch @local2 @local1 130 0 130 0 < or and ?branch @local2 @local1 130 0 0 130 var: 2@ col: nip swap - 130 0 0 130 var: 2@ col: nip swap 130 0 0 130 var: 2@ col: nip 130 0 0 130 nip swap - 1- dup ?branch 130 0 0 130 nip swap - 1- dup 130 0 0 130 nip swap - 1- 130 0 0 130 nip swap - 130 0 0 130 nip swap 130 0 0 130 col: nip swap - 1- dup 130 0 0 130 col: nip swap - 1- 130 0 0 130 col: nip swap - 130 0 0 130 col: nip swap 130 0 0 130 col: nip 130 0 0 130 @ var: 2@ col: nip swap 130 0 0 130 @ var: 2@ col: nip 130 0 0 130 ;s @ var: 2@ col: nip 130 0 0 130 2@ col: nip swap - 1- 130 0 0 130 2@ col: nip swap - 130 0 0 130 2@ col: nip swap 130 0 0 130 2@ col: nip 129 32 45 52 u< ?branch = ;s 0= ?branch 129 32 45 52 u< ?branch = ;s 0= 129 32 45 52 u< ?branch = ;s 129 32 45 52 u< ?branch = 129 32 45 52 con: var: col: con: swap ! 129 32 45 52 con: var: col: con: swap 129 32 45 52 con: var: col: con: 129 32 45 52 con: var: col: 129 32 45 52 con: @ col: 2dup u< ?branch 129 32 45 52 con: @ col: 2dup u< 129 32 45 52 col: var: @ ?branch 129 32 45 52 col: con: @ col: 2dup u< 129 32 45 52 col: con: @ col: 2dup 129 32 45 52 col: 2dup u< ?branch 129 32 45 52 col: 2dup u< 129 32 45 52 @ col: 2dup u< ?branch 129 32 45 52 @ col: 2dup u< 129 32 45 52 @ ;s @ ;s ;s con: 129 32 45 52 @ ;s ;s con: var: col: 129 32 45 52 @ ;s ;s con: var: 129 32 45 52 @ ;s - col: col: col: 129 32 45 52 ?branch = ;s 0= ?branch ;s 129 32 45 52 ?branch = ;s 0= ?branch 129 32 45 52 ?branch = ;s 0= 129 32 45 52 ?branch = ;s 129 32 45 52 ?branch = 129 32 45 52 = ;s 0= ?branch ;s 129 32 45 52 = ;s 0= ?branch 129 32 45 52 = ;s 0= 129 32 45 52 ;s con: var: col: con: swap 129 32 45 52 ;s con: var: col: con: 129 32 45 52 ;s con: var: col: 129 32 45 52 ;s @ ;s ;s con: var: 129 32 45 52 ;s @ ;s ;s con: 129 32 45 52 ;s ;s con: var: col: con: 129 32 45 52 ;s ;s con: var: col: 129 32 45 52 ;s ;s con: var: 129 32 45 52 ;s - col: col: col: user: 129 32 45 52 2dup u< ?branch = ;s 0= 129 32 45 52 2dup u< ?branch = ;s 129 32 45 52 2dup u< ?branch = 129 32 45 52 - col: col: col: user: @ 129 32 45 52 - col: col: col: user: 129 0 0 129 unloop ;s lit col: col: col: 129 0 0 129 unloop ;s lit col: col: 129 0 0 129 unloop ;s col: var: @ ;s 129 0 0 129 unloop ;s col: var: @ 129 0 0 129 lit user: @ col: col: col: 129 0 0 129 lit user: @ col: col: 129 0 0 129 lit user: @ col: 129 0 0 129 lit user: @ 129 0 0 129 c! ;s con: col: col: col: 129 0 0 129 @ ;s swap col: col: col: 129 0 0 129 ;s lit user: @ col: col: 129 0 0 129 ;s lit user: @ col: 129 0 0 129 ;s lit user: @ 129 0 0 129 ;s col: var: @ ;s col: 129 0 0 129 ;s c! ;s con: col: col: 129 0 0 129 ;s c! ;s con: col: 129 0 0 129 ;s c! ;s con: 129 0 0 129 ;s 2! ;s ;s 129 0 0 129 ;s +! ;s c! ;s con: 129 0 0 129 ;s +! ;s 2! ;s ;s 129 0 0 129 ;s (loop) unloop ;s col: var: 129 0 0 129 ;s ! ;s lit user: @ 129 0 0 129 ;s ! ;s lit user: 129 0 0 129 2! ;s ;s 129 0 0 129 +! ;s c! ;s con: col: 129 0 0 129 +! ;s c! ;s con: 129 0 0 129 +! ;s 2! ;s ;s 129 0 0 129 +! ;s ! ;s lit user: 129 0 0 129 (loop) unloop ;s lit col: col: 129 0 0 129 (loop) unloop ;s col: var: @ 129 0 0 129 (loop) unloop ;s col: var: 129 0 0 129 ! ;s lit user: @ col: 129 0 0 129 ! ;s lit user: @ 128 88 27 13 user: @ >r rp@ user: ! 128 88 27 13 user: @ >r rp@ user: 128 88 27 13 user: @ >r rp@ 128 88 27 13 user: ! execute col: 128 88 27 13 user: ! execute 128 88 27 13 swap >r fp@ >r col: laddr# 128 88 27 13 swap >r fp@ >r col: 128 88 27 13 swap >r fp@ >r 128 88 27 13 swap >r fp@ 128 88 27 13 sp@ r> swap >r fp@ >r 128 88 27 13 sp@ r> swap >r fp@ 128 88 27 13 sp@ r> swap >r 128 88 27 13 sp@ r> swap 128 88 27 13 sp@ r> 128 88 27 13 rp@ user: ! execute col: 128 88 27 13 rp@ user: ! execute 128 88 27 13 r> swap >r fp@ >r col: 128 88 27 13 r> swap >r fp@ >r 128 88 27 13 r> swap >r fp@ 128 88 27 13 lit col: >r sp@ r> swap 128 88 27 13 lit col: >r sp@ r> 128 88 27 13 lit col: >r sp@ 128 88 27 13 laddr# ;s >r user: @ >r 128 88 27 13 laddr# ;s >r user: @ 128 88 27 13 laddr# ;s >r user: 128 88 27 13 laddr# ;s >r 128 88 27 13 laddr# ;s 128 88 27 13 fp@ >r col: laddr# ;s >r 128 88 27 13 fp@ >r col: laddr# ;s 128 88 27 13 fp@ >r col: laddr# 128 88 27 13 fp@ >r col: 128 88 27 13 fp@ >r 128 88 27 13 col: laddr# ;s >r user: @ 128 88 27 13 col: laddr# ;s >r user: 128 88 27 13 col: laddr# ;s >r 128 88 27 13 col: laddr# ;s 128 88 27 13 col: laddr# 128 88 27 13 col: >r sp@ r> swap >r 128 88 27 13 col: >r sp@ r> swap 128 88 27 13 col: >r sp@ r> 128 88 27 13 col: >r sp@ 128 88 27 13 @ >r rp@ user: ! execute 128 88 27 13 @ >r rp@ user: ! 128 88 27 13 @ >r rp@ user: 128 88 27 13 @ >r rp@ 128 88 27 13 >r user: @ >r rp@ user: 128 88 27 13 >r user: @ >r rp@ 128 88 27 13 >r sp@ r> swap >r fp@ 128 88 27 13 >r sp@ r> swap >r 128 88 27 13 >r sp@ r> swap 128 88 27 13 >r sp@ r> 128 88 27 13 >r sp@ 128 88 27 13 >r rp@ user: ! execute col: 128 88 27 13 >r rp@ user: ! execute 128 88 27 13 >r rp@ user: ! 128 88 27 13 >r rp@ user: 128 88 27 13 >r rp@ 128 88 27 13 >r fp@ >r col: laddr# ;s 128 88 27 13 >r fp@ >r col: laddr# 128 88 27 13 >r fp@ >r col: 128 88 27 13 >r fp@ >r 128 88 27 13 >r fp@ 128 88 27 13 >r col: laddr# ;s >r user: 128 88 27 13 >r col: laddr# ;s >r 128 88 27 13 >r col: laddr# ;s 128 88 27 13 >r col: laddr# 128 88 27 13 ;s >r user: @ >r rp@ 128 88 27 13 ;s >r user: @ >r 128 88 27 13 ;s >r user: @ 128 88 27 13 ;s >r user: 128 88 27 13 ! execute col: 128 88 27 13 ! execute 128 0 128 0 field: @local1 field: 128 0 128 0 field: @local1 128 0 128 0 drop + >r ;s @local1 128 0 128 0 >r ;s @local1 128 0 128 0 ;s drop + >r ;s @local1 128 0 128 0 + >r ;s @local1 128 0 0 128 swap +! ;s ;s ;s 2drop 128 0 0 128 col: var: col: col: col: 128 0 0 128 c@ 0= ?branch con: does: @ 128 0 0 128 c@ 0= ?branch con: does: 128 0 0 128 c@ 0= ?branch con: 128 0 0 128 ;s c@ 0= ?branch con: does: 128 0 0 128 ;s c@ 0= ?branch con: 128 0 0 128 ;s ;s ;s 2drop ;s does: 128 0 0 128 ;s ;s 2drop ;s does: @ 128 0 0 128 ;s ;s 2drop ;s does: 128 0 0 128 ;s 2drop ;s does: @ does: 128 0 0 128 ;s 2drop ;s does: @ 128 0 0 128 ;s 2drop ;s does: 128 0 0 128 2drop ;s does: @ does: @ 128 0 0 128 2drop ;s does: @ does: 128 0 0 128 0= ?branch con: does: @ col: 128 0 0 128 0= ?branch con: does: @ 128 0 0 128 0= ?branch con: does: 128 0 0 128 +! ;s ;s ;s 2drop ;s 128 0 0 128 +! ;s ;s ;s 2drop 128 0 0 128 + ;s c@ 0= ?branch con: 127 127 0 0 col: cell+ cell+ ;s ! ;s 127 127 0 0 cell+ cell+ ;s ! ;s 127 127 0 0 cell+ ;s ! ;s 127 122 0 5 ;s ;s con: col: col: 127 1 125 1 con: lit ! 127 0 127 0 cells over = ?branch lit cells 127 0 0 127 lit var: +! ;s col: col: 127 0 0 127 lit var: +! ;s col: 127 0 0 127 ?branch lit var: +! ;s col: 126 86 27 13 ?branch ;s ;s ;s ;s 126 126 0 0 ! ;s >r 126 0 126 0 branch drop ;s ;s user: ! 126 0 126 0 branch drop ;s ;s user: 125 87 26 12 user: ! execute col: col: 125 87 26 12 rp@ user: ! execute col: col: 125 87 26 12 ! execute col: col: 125 60 40 25 nip nip execute col: col: lit 125 60 40 25 nip execute col: col: lit 125 60 40 25 execute col: col: lit 125 33 59 33 branch ;s ;s col: lit lit 125 0 125 0 user: @ col: faligned dup col: 125 0 125 0 user: @ col: faligned dup 125 0 125 0 user: @ col: faligned 125 0 125 0 faligned dup col: user: @ swap 125 0 125 0 faligned dup col: user: @ 125 0 125 0 faligned dup col: user: 125 0 125 0 faligned dup col: 125 0 125 0 faligned dup 125 0 125 0 col: faligned dup col: user: @ 125 0 125 0 col: faligned dup col: user: 125 0 125 0 col: faligned dup col: 125 0 125 0 col: faligned dup 125 0 125 0 col: faligned 125 0 125 0 @ col: faligned dup col: user: 125 0 125 0 @ col: faligned dup col: 125 0 125 0 @ col: faligned dup 125 0 125 0 @ col: faligned 125 0 124 1 ! ;s col: var: @ ;s 124 28 34 62 col: >r >r 124 27 46 51 nip nip execute col: lit lit 124 27 46 51 nip execute col: lit lit 124 27 46 51 execute col: lit lit 124 0 124 0 var: user: ! col: col: var: 124 0 124 0 var: user: ! col: col: 124 0 124 0 var: user: ! col: 124 0 124 0 var: user: ! 124 0 124 0 var: user: 124 0 124 0 var: @ user: ! dup ?branch 124 0 124 0 var: @ user: ! dup 124 0 124 0 var: @ user: ! 124 0 124 0 var: @ ;s does: col: var: 124 0 124 0 var: @ ;s does: col: 124 0 124 0 var: ! var: user: ! col: 124 0 124 0 var: ! var: user: ! 124 0 124 0 var: ! var: user: 124 0 124 0 var: ! ;s con: lit ! 124 0 124 0 var: ! ;s con: lit 124 0 124 0 var: ! ;s con: 124 0 124 0 user: @ ;s var: ! var: 124 0 124 0 user: @ ;s var: ! 124 0 124 0 user: @ ;s var: 124 0 124 0 user: ! dup ?branch 124 0 124 0 user: ! dup 124 0 124 0 user: ! col: var: ! ;s 124 0 124 0 user: ! col: var: ! 124 0 124 0 swap ! ;s ;s var: @ 124 0 124 0 swap ! ;s ;s var: 124 0 124 0 rdrop ;s var: ! ;s con: 124 0 124 0 rdrop ;s var: ! ;s col: 124 0 124 0 lit lit ! lit col: lit 124 0 124 0 lit ! lit col: lit lit 124 0 124 0 lit ! lit col: lit 124 0 124 0 dup ?branch drop user: @ col: 124 0 124 0 dup ?branch drop user: @ 124 0 124 0 dup ?branch drop user: 124 0 124 0 drop user: @ col: faligned dup 124 0 124 0 drop user: @ col: faligned 124 0 124 0 drop user: @ col: 124 0 124 0 drop ;s ;s ;s user: ! 124 0 124 0 drop ;s ;s ;s user: 124 0 124 0 con: swap ! ;s ;s var: 124 0 124 0 con: lit ! ;s 124 0 124 0 col: var: @ ;s does: col: 124 0 124 0 col: var: ! ;s col: var: 124 0 124 0 col: var: ! ;s col: 124 0 124 0 col: user: @ ;s var: ! 124 0 124 0 col: user: @ ;s var: 124 0 124 0 col: col: user: @ ;s var: 124 0 124 0 col: col: lit lit ! user: 124 0 124 0 col: col: lit lit ! 124 0 124 0 col: col: lit lit 124 0 124 0 cells + ;s ! ;s lit 124 0 124 0 @local3 does: @ + @ ;s 124 0 124 0 @local3 does: @ + @ 124 0 124 0 @local3 does: @ + 124 0 124 0 @local3 does: @ 124 0 124 0 @local3 does: 124 0 124 0 @ var: ! ;s does: col: 124 0 124 0 @ var: ! ;s does: 124 0 124 0 @ user: ! dup ?branch 124 0 124 0 @ user: ! dup 124 0 124 0 @ ;s var: ! var: user: 124 0 124 0 @ ;s var: ! var: 124 0 124 0 @ ;s does: col: var: dup 124 0 124 0 @ ;s does: col: var: 124 0 124 0 @ ;s does: col: 124 0 124 0 ?branch drop user: @ col: faligned 124 0 124 0 ?branch drop user: @ col: 124 0 124 0 ?branch drop user: @ 124 0 124 0 ;s var: @ user: ! dup 124 0 124 0 ;s var: @ user: ! 124 0 124 0 ;s var: @ user: 124 0 124 0 ;s var: ! var: user: ! 124 0 124 0 ;s var: ! var: user: 124 0 124 0 ;s var: ! ;s con: lit 124 0 124 0 ;s var: ! ;s con: 124 0 124 0 ;s var: ! ;s col: var: 124 0 124 0 ;s user: ! col: var: ! 124 0 124 0 ;s user: ! col: var: 124 0 124 0 ;s con: lit ! ;s 124 0 124 0 ;s con: lit ! 124 0 124 0 ;s con: lit 124 0 124 0 ;s @ var: ! ;s does: 124 0 124 0 ;s ;s var: @ user: ! 124 0 124 0 ;s ;s var: @ user: 124 0 124 0 ;s ;s user: ! col: var: 124 0 124 0 ;s ;s ;s user: ! col: 124 0 124 0 ;s ;s ;s user: ! 124 0 124 0 ;s ! ;s lit lit ! 124 0 124 0 ;s ! ;s lit lit 124 0 124 0 ;s ! ;s col: var: @ 124 0 124 0 ;s ! ;s col: var: 124 0 124 0 + ;s ! ;s lit lit 124 0 124 0 + ;s ! ;s lit 124 0 124 0 + ;s ! ;s col: var: 124 0 124 0 ! var: user: ! col: col: 124 0 124 0 ! var: user: ! col: 124 0 124 0 ! var: user: ! 124 0 124 0 ! var: user: 124 0 124 0 ! lit col: lit lit ! 124 0 124 0 ! lit col: lit lit 124 0 124 0 ! lit col: lit 124 0 124 0 ! dup ?branch 124 0 124 0 ! col: var: ! ;s col: 124 0 124 0 ! ;s lit lit ! lit 124 0 124 0 ! ;s lit lit ! 124 0 124 0 ! ;s con: lit ! ;s 124 0 124 0 ! ;s con: lit ! 124 0 124 0 ! ;s con: lit 124 0 124 0 ! ;s ;s var: @ user: 124 0 0 124 defer: (type) ;s cr ;s col: 124 0 0 124 cr ;s col: 124 0 0 124 ;s cr ;s col: 124 0 0 124 (type) ;s cr ;s col: 123 0 123 0 branch drop ;s ;s ;s user: 122 35 39 48 execute con: 122 122 0 0 rdrop ;s ;s con: col: col: 122 122 0 0 rdrop ;s ;s con: col: 122 122 0 0 r> ;s dup 0= col: col: 122 122 0 0 r> ;s dup 0= col: 122 122 0 0 r> ;s dup 0= 122 122 0 0 r> ;s dup 122 122 0 0 nip r> ;s dup 0= col: 122 122 0 0 nip r> ;s dup 0= 122 122 0 0 nip r> ;s dup 122 122 0 0 ?branch rdrop ;s ;s con: col: 122 122 0 0 >r >body nip r> ;s dup 122 122 0 0 >body nip r> ;s dup 0= 122 122 0 0 >body nip r> ;s dup 122 122 0 0 ;s ;s con: col: col: defer: 122 0 122 0 user: ! dup ?branch execute col: 122 0 122 0 user: ! dup ?branch execute 122 0 122 0 lit floats over = ?branch col: 122 0 122 0 floats over = ?branch col: r> 122 0 122 0 floats over = ?branch col: 122 0 122 0 cells over = ?branch lit floats 122 0 122 0 branch dup ?branch drop user: @ 122 0 122 0 branch dup ?branch drop user: 122 0 122 0 @ user: ! dup ?branch execute 122 0 122 0 ;s branch dup ?branch drop user: 122 0 122 0 ! dup ?branch execute col: user: 122 0 122 0 ! dup ?branch execute col: 122 0 122 0 ! dup ?branch execute 121 35 39 47 nip nip execute con: ;s branch 121 35 39 47 nip nip execute con: ;s 121 35 39 47 nip nip execute con: 121 35 39 47 nip execute con: ;s branch col: 121 35 39 47 nip execute con: ;s branch 121 35 39 47 nip execute con: ;s 121 35 39 47 nip execute con: 121 35 39 47 execute con: ;s branch col: sp@ 121 35 39 47 execute con: ;s branch col: 121 35 39 47 execute con: ;s branch 121 35 39 47 execute con: ;s 121 35 39 47 con: ;s branch col: sp@ user: 121 35 39 47 con: ;s branch col: sp@ 121 35 39 47 con: ;s branch col: 121 35 39 47 con: ;s branch 121 35 39 47 ?branch nip nip execute con: ;s 121 35 39 47 ?branch nip nip execute con: 121 121 0 0 con: + ;s col: 121 121 0 0 col: con: + ;s col: 121 121 0 0 @ var: col: con: swap ! 121 121 0 0 @ var: col: con: swap 121 121 0 0 @ var: col: con: 121 121 0 0 @ var: col: 121 121 0 0 ;s col: con: + ;s 121 121 0 0 ;s col: con: + 121 121 0 0 ! swap col: 121 117 1 3 swap ! ;s user: col: con: 121 117 1 3 swap ! ;s user: col: 121 117 1 3 con: swap ! ;s user: col: 121 117 1 3 ! ;s user: col: con: swap 121 117 1 3 ! ;s user: col: con: 121 117 1 3 ! ;s user: col: 121 0 121 0 unloop lp+ ;s 121 0 121 0 unloop lp+ 121 0 121 0 (loop) unloop lp+ ;s 121 0 121 0 (loop) unloop lp+ 120 67 1 52 nip nip execute col: var: col: 120 67 1 52 nip execute col: var: col: 120 38 48 34 execute col: col: col: r> dup 120 120 0 0 var: @ ?branch dup col: lit 120 120 0 0 var: @ ?branch dup col: 120 120 0 0 var: ! var: @ ?branch dup 120 120 0 0 var: ! branch lit col: var: 120 120 0 0 var: ! branch lit col: 120 120 0 0 var: ! branch lit 120 120 0 0 var: ! branch 120 120 0 0 swap (?do) unloop ;s ;s swap 120 120 0 0 lit cells + ;s var: ! 120 120 0 0 lit cells + ;s var: 120 120 0 0 dup col: lit cells + ;s 120 120 0 0 dup col: lit cells + 120 120 0 0 dup col: lit cells 120 120 0 0 col: lit cells + ;s var: 120 120 0 0 cells + ;s var: ! branch 120 120 0 0 cells + ;s var: ! 120 120 0 0 cells + ;s var: 120 120 0 0 branch lit col: var: @ dup 120 120 0 0 branch lit col: var: @ 120 120 0 0 branch lit col: var: 120 120 0 0 @ ?branch dup col: lit cells 120 120 0 0 @ ?branch dup col: lit 120 120 0 0 @ ?branch dup col: 120 120 0 0 ?branch dup col: lit cells + 120 120 0 0 ?branch dup col: lit cells 120 120 0 0 ?branch dup col: lit 120 120 0 0 ;s var: ! branch lit col: 120 120 0 0 ;s var: ! branch lit 120 120 0 0 ;s var: ! branch 120 120 0 0 ;s col: over col: ;s @ 120 120 0 0 ;s col: over col: ;s 120 120 0 0 ;s col: over col: 120 120 0 0 + ;s var: ! branch lit 120 120 0 0 + ;s var: ! branch 120 120 0 0 (?do) unloop ;s ;s swap user: 120 120 0 0 (?do) unloop ;s ;s swap 120 120 0 0 ! var: @ ?branch dup col: 120 120 0 0 ! var: @ ?branch dup 120 120 0 0 ! branch lit col: var: @ 120 120 0 0 ! branch lit col: var: 120 120 0 0 ! branch lit col: 120 120 0 0 ! branch lit 120 0 120 0 lp+ ;s @local1 field: 120 0 120 0 ?branch lp+2 ;s lp+ branch >l 120 0 120 0 ?branch lp+2 ;s lp+ branch 119 85 24 10 user: ! rdrop rdrop rdrop lit 119 85 24 10 user: ! rdrop rdrop rdrop 119 85 24 10 user: ! rdrop rdrop 119 85 24 10 user: ! rdrop 119 85 24 10 rdrop rdrop rdrop lit ;s 119 85 24 10 rdrop rdrop rdrop lit 119 85 24 10 rdrop rdrop rdrop 119 85 24 10 rdrop rdrop lit ;s 119 85 24 10 rdrop rdrop lit 119 85 24 10 rdrop lit ;s 119 85 24 10 r> user: ! rdrop rdrop rdrop 119 85 24 10 r> user: ! rdrop rdrop 119 85 24 10 r> user: ! rdrop 119 85 24 10 ;s r> user: ! rdrop rdrop 119 85 24 10 ;s r> user: ! rdrop 119 85 24 10 ! rdrop rdrop rdrop lit ;s 119 85 24 10 ! rdrop rdrop rdrop lit 119 85 24 10 ! rdrop rdrop rdrop 119 85 24 10 ! rdrop rdrop 119 85 24 10 ! rdrop 119 119 0 0 var: @ var: col: con: swap 119 119 0 0 var: @ var: col: con: 119 119 0 0 var: @ var: col: 119 119 0 0 var: @ ?branch user: @ col: 119 119 0 0 var: @ ?branch user: @ 119 119 0 0 var: @ ?branch user: 119 119 0 0 var: @ ;s col: over col: 119 119 0 0 var: @ ;s col: over 119 119 0 0 var: ! var: @ ?branch user: 119 119 0 0 var: ! ;s swap ! var: 119 119 0 0 var: ! ;s >r dup col: 119 119 0 0 var: ! ;s >r dup 119 119 0 0 var: ! ;s >r 119 119 0 0 user: @ col: var: col: con: 119 119 0 0 user: @ col: var: col: 119 119 0 0 user: ! user: @ col: var: 119 119 0 0 user: ! user: @ col: 119 119 0 0 user: ! swap col: col: var: 119 119 0 0 user: ! swap col: col: 119 119 0 0 user: ! swap col: 119 119 0 0 user: ! ;s ;s dup col: 119 119 0 0 user: ! ;s ;s dup 119 119 0 0 swap user: ! user: @ col: 119 119 0 0 swap user: ! user: @ 119 119 0 0 swap user: ! user: 119 119 0 0 swap user: ! swap col: col: 119 119 0 0 swap user: ! swap col: 119 119 0 0 swap user: ! swap 119 119 0 0 swap col: col: var: dup @ 119 119 0 0 swap col: col: var: dup 119 119 0 0 swap col: ;s ! ;s lit 119 119 0 0 swap ! var: col: con: swap 119 119 0 0 swap ! var: col: con: 119 119 0 0 swap ! var: col: 119 119 0 0 swap ! var: 119 119 0 0 swap ! ;s branch dup col: 119 119 0 0 swap ! ;s branch dup 119 119 0 0 r> col: cell+ cell+ ;s ! 119 119 0 0 r> col: cell+ cell+ ;s 119 119 0 0 r> col: cell+ cell+ 119 119 0 0 r> col: cell+ 119 119 0 0 lit var: ! ;s >r dup 119 119 0 0 lit var: ! ;s >r 119 119 0 0 lit cells + ;s @ dup 119 119 0 0 lit cells + ;s @ col: 119 119 0 0 execute col: col: var: @ var: 119 119 0 0 dup col: var: @ ;s col: 119 119 0 0 dup col: var: @ ;s 119 119 0 0 dup col: col: lit cells + 119 119 0 0 dup col: col: lit cells 119 119 0 0 dup col: col: lit 119 119 0 0 dup col: ;s @ con: <> 119 119 0 0 does-code! ;s ;s swap user: ! 119 119 0 0 does-code! ;s ;s swap user: 119 119 0 0 con: swap ! ;s branch dup 119 119 0 0 con: <> ?branch dup col: cell+ 119 119 0 0 con: <> ?branch dup col: 119 119 0 0 con: <> ?branch dup 119 119 0 0 con: + ;s ;s 119 119 0 0 col: var: @ var: col: con: 119 119 0 0 col: var: @ var: col: 119 119 0 0 col: var: @ ;s col: over 119 119 0 0 col: con: + ;s ;s 119 119 0 0 col: col: var: @ var: col: 119 119 0 0 col: col: var: @ var: 119 119 0 0 col: col: lit cells + ;s 119 119 0 0 col: col: lit cells + 119 119 0 0 col: col: lit cells 119 119 0 0 col: cell+ cell+ ;s @ r> 119 119 0 0 col: cell+ ;s @ dup 0< 119 119 0 0 col: ;s ! ;s lit var: 119 119 0 0 col: ;s ! ;s lit 119 119 0 0 cells + ;s @ dup col: 119 119 0 0 cells + ;s @ col: cell+ 119 119 0 0 cell+ cell+ ;s @ r> col: 119 119 0 0 cell+ cell+ ;s @ r> 119 119 0 0 cell+ ;s @ r> col: cell+ 119 119 0 0 cell+ ;s @ r> col: 119 119 0 0 cell+ ;s @ r> 119 119 0 0 cell+ ;s @ dup 0< ?branch 119 119 0 0 cell+ ;s @ dup 0< 119 119 0 0 branch dup col: ;s var: ! 119 119 0 0 branch dup col: ;s var: 119 119 0 0 branch dup col: ;s 119 119 0 0 branch dup col: 119 119 0 0 @ r> col: cell+ cell+ ;s 119 119 0 0 @ r> col: cell+ cell+ 119 119 0 0 @ r> col: cell+ 119 119 0 0 @ r> col: 119 119 0 0 @ r> 119 119 0 0 @ dup col: ;s @ con: 119 119 0 0 @ dup col: ;s @ 119 119 0 0 @ dup col: ;s 119 119 0 0 @ dup 0< ?branch 119 119 0 0 @ dup 0< 119 119 0 0 @ con: <> ?branch dup col: 119 119 0 0 @ con: <> ?branch dup 119 119 0 0 @ col: var: col: con: swap 119 119 0 0 @ col: var: col: con: 119 119 0 0 @ col: cell+ cell+ ;s @ 119 119 0 0 @ col: cell+ cell+ ;s 119 119 0 0 @ col: cell+ cell+ 119 119 0 0 @ col: cell+ 119 119 0 0 @ ?branch user: @ col: col: 119 119 0 0 @ ?branch user: @ col: 119 119 0 0 @ ?branch user: @ 119 119 0 0 @ ?branch user: 119 119 0 0 @ ;s col: over col: ;s 119 119 0 0 @ ;s col: over col: 119 119 0 0 ?branch user: @ col: col: defer: 119 119 0 0 ?branch user: @ col: col: 119 119 0 0 ?branch user: @ col: 119 119 0 0 ?branch dup col: cell+ ;s @ 119 119 0 0 ?branch dup col: cell+ ;s 119 119 0 0 ?branch dup col: cell+ 119 119 0 0 ?branch col: col: col: var: @ 119 119 0 0 ?branch col: col: col: var: 119 119 0 0 >r dup col: col: lit cells 119 119 0 0 >r dup col: col: lit 119 119 0 0 >r dup col: col: 119 119 0 0 <> ?branch dup col: cell+ ;s 119 119 0 0 <> ?branch dup col: cell+ 119 119 0 0 <> ?branch dup col: 119 119 0 0 <> ?branch dup 119 119 0 0 ;s user: ! ;s ;s dup 119 119 0 0 ;s swap user: ! user: @ 119 119 0 0 ;s swap user: ! user: 119 119 0 0 ;s swap user: ! swap col: 119 119 0 0 ;s swap user: ! swap 119 119 0 0 ;s swap ! var: col: con: 119 119 0 0 ;s swap ! var: col: 119 119 0 0 ;s swap ! var: 119 119 0 0 ;s lit var: ! ;s >r 119 119 0 0 ;s dup col: var: @ ;s 119 119 0 0 ;s dup col: var: @ 119 119 0 0 ;s dup col: var: 119 119 0 0 ;s does-code! ;s ;s swap user: 119 119 0 0 ;s col: col: col: col: col: 119 119 0 0 ;s branch dup col: ;s var: 119 119 0 0 ;s branch dup col: ;s 119 119 0 0 ;s branch dup col: 119 119 0 0 ;s @ r> col: cell+ cell+ 119 119 0 0 ;s @ r> col: cell+ 119 119 0 0 ;s @ r> col: 119 119 0 0 ;s @ r> 119 119 0 0 ;s @ dup col: ;s @ 119 119 0 0 ;s @ dup col: ;s 119 119 0 0 ;s @ dup col: 119 119 0 0 ;s @ dup 0< ?branch 119 119 0 0 ;s @ dup 0< 119 119 0 0 ;s @ con: <> ?branch dup 119 119 0 0 ;s @ col: cell+ cell+ ;s 119 119 0 0 ;s @ col: cell+ cell+ 119 119 0 0 ;s @ col: cell+ 119 119 0 0 ;s >r dup col: col: lit 119 119 0 0 ;s >r dup col: col: 119 119 0 0 ;s >r dup col: 119 119 0 0 ;s >r dup 119 119 0 0 ;s ;s swap user: ! user: 119 119 0 0 ;s ;s dup col: var: @ 119 119 0 0 ;s ;s dup col: var: 119 119 0 0 ;s ! ;s lit var: ! 119 119 0 0 + ;s @ dup col: ;s 119 119 0 0 + ;s @ dup col: 119 119 0 0 + ;s @ col: cell+ cell+ 119 119 0 0 + ;s @ col: cell+ 119 119 0 0 ! var: @ ?branch user: @ 119 119 0 0 ! var: @ ?branch user: 119 119 0 0 ! user: @ col: var: col: 119 119 0 0 ! user: @ col: var: 119 119 0 0 ! swap col: col: var: dup 119 119 0 0 ! swap col: col: var: 119 119 0 0 ! swap col: col: 119 119 0 0 ! ;s swap ! var: col: 119 119 0 0 ! ;s swap ! var: 119 119 0 0 ! ;s branch dup col: ;s 119 119 0 0 ! ;s branch dup col: 119 119 0 0 ! ;s branch dup 119 119 0 0 ! ;s >r dup col: col: 119 119 0 0 ! ;s >r dup col: 119 119 0 0 ! ;s >r dup 119 119 0 0 ! ;s ;s dup col: var: 119 119 0 0 ! ;s ;s dup col: 119 0 119 0 lp+2 ;s @local1 118 35 36 47 and ?branch nip nip execute con: 118 118 0 0 con: + ;s col: con: + 118 118 0 0 con: + ;s col: con: 118 118 0 0 col: con: + ;s col: con: 118 118 0 0 col: col: con: + ;s col: 118 118 0 0 col: col: con: + ;s 118 118 0 0 col: col: con: + 118 118 0 0 ;s col: con: + ;s ;s 118 118 0 0 + ;s col: con: + ;s 118 118 0 0 + ;s col: con: + 118 118 0 0 + ;s col: con: 118 0 60 58 drop ;s col: col: user: @ 118 0 60 58 drop ;s col: col: user: 118 0 60 58 drop ;s col: col: 118 0 118 0 @local0 col: >l lp- col: col: 118 0 118 0 @local0 col: >l lp- col: 118 0 118 0 ;s ! ;s lp+ ;s @local1 118 0 118 0 ! ;s lp+ ;s @local1 118 0 0 118 swap +! ;s ;s ;s drop 118 0 0 118 +! ;s ;s ;s drop ;s 118 0 0 118 +! ;s ;s ;s drop 117 75 16 26 rdrop ;s col: 117 117 0 0 unloop 2drop ;s ;s ;s drop 117 117 0 0 drop ;s col: lit cells + 117 117 0 0 drop ;s col: lit cells 117 117 0 0 drop ;s col: lit 117 117 0 0 @ dup 0< ?branch col: col: 117 117 0 0 @ dup 0< ?branch col: 117 117 0 0 ;s drop ;s col: lit cells 117 117 0 0 ;s drop ;s col: lit 117 117 0 0 ;s @ dup 0< ?branch col: 117 117 0 0 ;s ;s drop ;s col: lit 117 117 0 0 2drop ;s ;s ;s drop ;s 117 117 0 0 2drop ;s ;s ;s drop 117 117 0 0 0< ?branch col: col: col: var: 117 0 117 0 cells + ;s ! (loop) unloop 117 0 117 0 ;s ! (loop) unloop 117 0 117 0 + ;s ! (loop) unloop 117 0 117 0 ! (loop) unloop 116 98 13 5 dup ?branch r> 116 32 32 52 col: 2dup u< ?branch = ;s 116 32 32 52 col: 2dup u< ?branch = 116 32 32 52 @ col: 2dup u< ?branch = 116 115 1 0 branch dup ?branch rdrop ;s >r 116 0 116 0 @local# col: col: col: user: @ 116 0 116 0 @local# col: col: col: user: 116 0 116 0 @local# col: col: col: 116 0 116 0 @local# col: col: 116 0 116 0 @local# col: 116 0 116 0 @ lit col: >l >l @local0 116 0 116 0 @ lit col: >l >l 116 0 116 0 @ lit col: >l 116 0 116 0 >l >l >l >l >l 116 0 116 0 ;s @local# col: col: col: user: 116 0 116 0 ;s @local# col: col: col: 116 0 116 0 ;s @local# col: col: 116 0 116 0 ;s @local# col: 116 0 116 0 ;s @local# 116 0 116 0 ;s +! ;s ! ;s @local# 116 0 116 0 ;s ! ;s @local# col: col: 116 0 116 0 ;s ! ;s @local# col: 116 0 116 0 ;s ! ;s @local# 116 0 116 0 +! ;s ! ;s @local# col: 116 0 116 0 +! ;s ! ;s @local# 116 0 116 0 ! ;s @local# col: col: col: 116 0 116 0 ! ;s @local# col: col: 116 0 116 0 ! ;s @local# col: 116 0 116 0 ! ;s @local# 115 14 86 15 dup >r 2@ 115 14 86 15 >r 2@ 115 115 0 0 ;s ;s ;s ;s swap 115 10 3 102 +! ;s ;s branch 114 22 61 31 @ ?branch col: col: col: user: 114 22 61 31 @ ?branch col: col: col: 114 15 13 86 1+ var: 114 0 114 0 var: = ?branch i col: col: 114 0 114 0 var: = ?branch i col: 114 0 114 0 var: = ?branch i 114 0 114 0 lp+2 ;s cr (loop) @local1 i 114 0 114 0 lp+2 ;s cr (loop) @local1 114 0 114 0 lp+2 ;s cr (loop) 114 0 114 0 i col: col: dup 0< ;s 114 0 114 0 i col: col: dup 0< 114 0 114 0 i col: col: dup 114 0 114 0 i col: col: 114 0 114 0 field: @ lit col: >l >l 114 0 114 0 field: @ lit col: >l 114 0 114 0 field: @ lit col: 114 0 114 0 field: @ lit 114 0 114 0 dup var: = ?branch i col: 114 0 114 0 dup var: = ?branch i 114 0 114 0 defer: (type) ;s lit col: >l 114 0 114 0 cr (loop) @local1 i col: cells 114 0 114 0 cr (loop) @local1 i col: 114 0 114 0 cr (loop) @local1 i 114 0 114 0 cr (loop) @local1 114 0 114 0 cr (loop) 114 0 114 0 @local1 field: @ lit col: >l 114 0 114 0 @local1 field: @ lit col: 114 0 114 0 @local1 field: @ lit 114 0 114 0 @ dup var: = ?branch i 114 0 114 0 ?branch i col: col: dup 0< 114 0 114 0 ?branch i col: col: dup 114 0 114 0 ?branch i col: col: 114 0 114 0 ?branch i col: 114 0 114 0 ?branch 2drop lp+2 ;s cr (loop) 114 0 114 0 = ?branch i col: col: dup 114 0 114 0 = ?branch i col: col: 114 0 114 0 = ?branch i col: 114 0 114 0 ;s lit col: >l >l @local0 114 0 114 0 ;s lit col: >l >l 114 0 114 0 ;s lit col: >l 114 0 114 0 ;s cr (loop) @local1 i col: 114 0 114 0 ;s cr (loop) @local1 i 114 0 114 0 ;s cr (loop) @local1 114 0 114 0 ;s cr (loop) 114 0 114 0 ;s @local1 field: @ lit col: 114 0 114 0 ;s @local1 field: @ lit 114 0 114 0 2drop lp+2 ;s cr (loop) @local1 114 0 114 0 2drop lp+2 ;s cr (loop) 114 0 114 0 (type) ;s lit col: >l >l 114 0 114 0 (type) ;s lit col: >l 114 0 0 114 rot rot - ?dup ?branch ?dup 114 0 0 114 rot - ?dup ?branch ?dup ?branch 114 0 0 114 rot - ?dup ?branch ?dup 114 0 0 114 ?dup ?branch ?dup ?branch 114 0 0 114 ?dup ?branch ?dup 114 0 0 114 ?branch ?dup ?branch 114 0 0 114 ?branch ?dup 114 0 0 114 - ?dup ?branch ?dup ?branch 114 0 0 114 - ?dup ?branch ?dup 113 0 113 0 lit defer: (emit) ;s @local1 col: 113 0 113 0 defer: (emit) ;s @local1 col: >l 113 0 113 0 defer: (emit) ;s @local1 col: 113 0 113 0 (emit) ;s @local1 col: >l lp- 113 0 113 0 (emit) ;s @local1 col: >l 113 0 113 0 (emit) ;s @local1 col: 112 28 64 20 var: swap 112 0 112 0 swap col: >l >l @local0 >l 112 0 112 0 swap col: >l >l @local0 112 0 112 0 swap col: >l >l 112 0 112 0 swap col: >l 112 0 112 0 swap ! ;s @local1 112 0 112 0 over does: @ + @ ;s 112 0 112 0 over does: @ + @ 112 0 112 0 over does: @ + 112 0 112 0 over does: @ 112 0 112 0 over does: 112 0 112 0 lp+2 ;s ?branch 112 0 112 0 lp+2 ;s 0= ?branch @local3 col: 112 0 112 0 lp+2 ;s 0= ?branch @local3 112 0 112 0 lp+ ;s @local1 field: over does: 112 0 112 0 lp+ ;s @local1 field: over 112 0 112 0 field: over does: @ + @ 112 0 112 0 field: over does: @ + 112 0 112 0 field: over does: @ 112 0 112 0 field: over does: 112 0 112 0 field: over 112 0 112 0 drop lp+ ;s @local1 field: over 112 0 112 0 drop lp+ ;s @local1 field: 112 0 112 0 drop lp+ ;s @local1 112 0 112 0 con: swap ! ;s @local1 112 0 112 0 con: lp+2 ;s ?branch 112 0 112 0 con: lp+2 ;s 0= ?branch @local3 112 0 112 0 col: con: swap ! ;s @local1 112 0 112 0 col: cells + ;s @ swap 112 0 112 0 cells + ;s @ swap col: 112 0 112 0 cells + ;s @ swap 112 0 112 0 @local1 field: over does: @ + 112 0 112 0 @local1 field: over does: @ 112 0 112 0 @local1 field: over does: 112 0 112 0 @local1 field: over 112 0 112 0 @local1 2@ drop lp+ ;s @local1 112 0 112 0 @ swap col: >l >l @local0 112 0 112 0 @ swap col: >l >l 112 0 112 0 @ swap col: >l 112 0 112 0 ;s @local1 field: over does: @ 112 0 112 0 ;s @local1 field: over does: 112 0 112 0 ;s @local1 field: over 112 0 112 0 ;s @ swap col: >l >l 112 0 112 0 ;s @ swap col: >l 112 0 112 0 ;s 0= ?branch @local3 col: >l 112 0 112 0 ;s 0= ?branch @local3 col: 112 0 112 0 ;s 0= ?branch @local3 112 0 112 0 2@ drop lp+ ;s @local1 field: 112 0 112 0 2@ drop lp+ ;s @local1 112 0 112 0 0= ?branch @local3 col: >l lp- 112 0 112 0 0= ?branch @local3 col: >l 112 0 112 0 0= ?branch @local3 col: 112 0 112 0 0= ?branch @local3 112 0 112 0 + ;s @ swap col: >l 112 0 112 0 + ;s @ swap col: 111 80 5 26 nip nip execute col: con: 111 80 5 26 nip execute col: con: 111 80 5 26 execute col: con: 111 80 5 26 ?branch nip nip execute col: con: 111 13 0 98 over 0= 110 4 48 58 ;s (loop) unloop ;s ;s col: 110 4 48 58 (loop) unloop ;s ;s col: col: 110 4 48 58 (loop) unloop ;s ;s col: 110 0 110 0 lp+ ;s ?branch 110 0 110 0 cell+ @local1 @ lp+ ;s ?branch 110 0 110 0 @local1 @ lp+ ;s ?branch 110 0 110 0 @ lp+ ;s ?branch 109 99 5 5 ;s (loop) unloop ;s ;s ;s 109 99 5 5 (loop) unloop ;s ;s ;s 109 22 56 31 var: @ ?branch col: col: col: 109 22 56 31 user: ! ;s var: col: con: 109 22 56 31 user: ! ;s var: col: 109 22 56 31 user: ! ;s var: 109 22 56 31 swap ! ;s col: dup con: 109 22 56 31 swap ! ;s col: dup 109 22 56 31 swap ! ;s branch ;s ;s 109 22 56 31 swap ! ;s branch ;s 109 22 56 31 over - swap ! ;s col: 109 22 56 31 nip ;s user: ! ;s var: 109 22 56 31 con: swap ! ;s branch ;s 109 22 56 31 ?branch var: @ ?branch col: col: 109 22 56 31 ?branch var: @ ?branch col: 109 22 56 31 = ?branch var: @ ?branch col: 109 22 56 31 ;s user: ! ;s var: col: 109 22 56 31 ;s user: ! ;s var: 109 22 56 31 ;s col: dup con: ! col: 109 22 56 31 ;s col: dup con: ! 109 22 56 31 ;s col: dup con: 109 22 56 31 - swap ! ;s col: dup 109 22 56 31 - swap ! ;s col: 109 22 56 31 ! ;s col: dup con: ! 109 22 56 31 ! ;s col: dup con: 109 22 56 31 ! ;s branch ;s ;s 109 22 56 31 ! ;s branch ;s 109 109 0 0 does-code! ;s ;s ;s swap user: 109 109 0 0 does-code! ;s ;s ;s swap 109 109 0 0 ;s does-code! ;s ;s ;s swap 109 109 0 0 ;s ;s ;s swap user: ! 109 109 0 0 ;s ;s ;s swap user: 109 0 109 0 @local1 field: col: >l >l 109 0 0 109 execute col: var: col: col: 108 8 0 100 var: +! ;s ;s branch 108 8 0 100 var: +! ;s ;s 108 15 18 75 r> col: col: col: 108 108 0 0 swap ! ;s nip ;s dup 108 108 0 0 nip ;s dup col: ;s var: 108 108 0 0 nip ;s dup col: ;s 108 108 0 0 nip ;s dup col: 108 108 0 0 ;s nip ;s dup col: ;s 108 108 0 0 ;s nip ;s dup col: 108 108 0 0 ;s nip ;s dup 108 108 0 0 ! ;s nip ;s dup col: 108 108 0 0 ! ;s nip ;s dup 108 0 108 0 lp+2 ;s 0= ?branch lp+2 ;s 108 0 108 0 lp+2 ;s 0= ?branch lp+2 108 0 108 0 drop con: lp+2 ;s 0= ?branch 108 0 108 0 drop con: lp+2 ;s 0= 108 0 108 0 con: lp+2 ;s 0= ?branch lp+2 108 0 108 0 ?branch drop con: lp+2 ;s 0= 108 0 108 0 ;s @local0 field: 108 0 108 0 ;s 0= ?branch lp+2 ;s lp+ 108 0 108 0 ;s 0= ?branch lp+2 ;s 108 0 108 0 ;s 0= ?branch lp+2 108 0 108 0 0= ?branch lp+2 ;s lp+ branch 108 0 108 0 0= ?branch lp+2 ;s lp+ 108 0 108 0 0= ?branch lp+2 ;s 108 0 108 0 0= ?branch lp+2 107 107 0 0 ;s ;s swap user: ! swap 107 0 107 0 lp+2 ;s lp+ ;s @local1 col: 107 0 107 0 lp+2 ;s lp+ ;s @local1 105 5 100 0 nip execute col: col: col: lit 105 5 100 0 execute col: col: col: lit 105 5 100 0 col: col: col: lit 105 45 34 26 nip execute col: col: col: user: 105 19 33 53 lit col: >r dup 105 10 62 33 ;s col: user: @ ?branch 105 0 58 47 var: col: col: col: user: @ 105 0 58 47 var: col: col: col: user: 105 0 0 105 var: @ var: (?do) unloop ;s 105 0 0 105 var: @ var: (?do) unloop 105 0 0 105 var: @ col: swap (?do) unloop 105 0 0 105 var: (?do) unloop ;s col: var: 105 0 0 105 var: (?do) unloop ;s col: 105 0 0 105 var: (?do) unloop ;s 105 0 0 105 var: (?do) unloop 105 0 0 105 swap (?do) unloop ;s var: 2! 105 0 0 105 lit lit 2swap swap (?do) unloop 105 0 0 105 lit 2swap swap (?do) unloop ;s 105 0 0 105 lit 2swap swap (?do) unloop 105 0 0 105 execute col: var: col: col: col: 105 0 0 105 col: var: @ var: (?do) unloop 105 0 0 105 col: swap (?do) unloop ;s 105 0 0 105 col: swap (?do) unloop 105 0 0 105 @ var: (?do) unloop ;s col: 105 0 0 105 @ var: (?do) unloop ;s 105 0 0 105 @ var: (?do) unloop 105 0 0 105 @ col: swap (?do) unloop ;s 105 0 0 105 @ col: swap (?do) unloop 105 0 0 105 2swap swap (?do) unloop ;s var: 105 0 0 105 2swap swap (?do) unloop ;s 105 0 0 105 2swap swap (?do) unloop 105 0 0 105 (?do) unloop ;s var: 2! 105 0 0 105 (?do) unloop ;s col: var: 2@ 105 0 0 105 (?do) unloop ;s col: var: 104 0 104 0 lp- @local1 ?branch lp+2 ;s 104 0 104 0 lp- @local1 ?branch lp+2 104 0 104 0 @local1 @local0 does: @ + @ 104 0 104 0 @local1 @local0 does: @ + 104 0 104 0 @local1 @local0 does: @ 104 0 104 0 @local1 @local0 does: 104 0 104 0 @local1 ?branch lp+2 ;s 104 0 104 0 @local1 ?branch lp+2 104 0 104 0 >l lp- @local1 ?branch lp+2 ;s 104 0 104 0 >l lp- @local1 ?branch lp+2 103 6 29 68 0< ?branch lit 103 103 0 0 var: @ @ dup con: = 103 103 0 0 var: @ @ dup con: 103 103 0 0 var: @ @ dup 103 103 0 0 user: +! ;s col: dup col: 103 103 0 0 user: +! ;s col: dup 103 103 0 0 unloop ;s ;s ;s branch 103 103 0 0 execute col: col: col: var: @ 103 103 0 0 c! ;s ;s var: @ @ 103 103 0 0 c! ;s ;s var: @ 103 103 0 0 @ dup con: = ?branch 103 103 0 0 @ dup con: = 103 103 0 0 @ dup con: 103 103 0 0 @ @ dup con: = ?branch 103 103 0 0 @ @ dup con: = 103 103 0 0 @ @ dup con: 103 103 0 0 @ @ dup 103 103 0 0 ;s var: @ @ dup con: 103 103 0 0 ;s var: @ @ dup 103 103 0 0 ;s var: @ @ 103 103 0 0 ;s c! ;s ;s var: @ 103 103 0 0 ;s c! ;s ;s var: 103 103 0 0 ;s ;s var: @ @ dup 103 103 0 0 ;s ;s var: @ @ 103 103 0 0 1+ user: +! ;s col: dup 103 103 0 0 + ;s c! ;s ;s var: 102 42 39 21 drop con: ;s 102 29 62 11 ;s swap 2dup 102 0 102 0 lp- @local1 field: @ @local1 lit 102 0 102 0 lp- @local1 field: @ @local1 102 0 102 0 lp+ ;s lp+ ;s @local1 102 0 102 0 >l lp- @local1 field: @ @local1 101 63 18 20 var: ! ;s ;s ;s branch 101 63 18 20 var: ! ;s ;s ;s 101 39 62 0 swap col: col: user: @ 101 39 62 0 swap col: col: user: 101 101 0 0 lit (?do) unloop ;s ;s 101 101 0 0 ;s lit (?do) unloop ;s ;s 101 0 101 0 lp+!# ;s lp+ ;s @local1 100 83 12 5 user: ! >r 100 83 12 5 r> r> user: ! 100 83 12 5 r> r> user: 100 83 12 5 ! >r 100 27 40 33 ;s ! ;s ;s col: var: 100 0 100 0 lp+2 ;s ?branch @local1 field: @ 100 0 100 0 lp+2 ;s ?branch @local1 field: 100 0 100 0 lp+2 ;s ?branch @local1 100 0 100 0 lit ! ;s lit col: >r 100 0 100 0 execute col: col: col: lit lit 100 0 100 0 drop con: lp+2 ;s ?branch @local1 100 0 100 0 drop con: lp+2 ;s ?branch 100 0 100 0 con: lp+2 ;s ?branch @local1 field: 100 0 100 0 con: lp+2 ;s ?branch @local1 100 0 100 0 con: lit ! ;s lit col: 100 0 100 0 con: lit ! ;s lit 100 0 100 0 col: col: col: lit lit ! 100 0 100 0 col: col: col: lit lit 100 0 100 0 ?branch lp+ ;s 100 0 100 0 ?branch drop con: lp+2 ;s ?branch 100 0 100 0 ;s con: lit ! ;s lit 100 0 100 0 ;s ?branch @local1 field: @ @local1 100 0 100 0 ;s ?branch @local1 field: @ 100 0 100 0 ;s ?branch @local1 field: 100 0 100 0 ! ;s lit col: >r defer: 100 0 0 100 var: +! ;s ;s branch branch 100 0 0 100 lit var: +! ;s ;s branch 100 0 0 100 lit var: +! ;s ;s 100 0 0 100 ?branch lit var: +! ;s ;s 100 0 0 100 ?branch lit @ execute col: lit 100 0 0 100 ;s ;s branch branch lit col: 100 0 0 100 ;s ;s branch branch lit 100 0 0 100 ;s ;s branch branch 100 0 0 100 +! ;s ;s branch branch lit 100 0 0 100 +! ;s ;s branch branch 99 61 7 31 code-address! ;s lit col: 99 61 7 31 code-address! ;s lit 99 61 7 31 ;s code-address! ;s lit col: 99 61 7 31 ;s code-address! ;s lit 99 61 7 31 ;s ! ;s code-address! ;s lit 99 61 7 31 ! ;s code-address! ;s lit col: 99 61 7 31 ! ;s code-address! ;s lit 99 15 18 66 r> drop 98 81 12 5 ;s col: ?dup ?branch ;s ;s 98 0 98 0 field: @ @local1 col: >l >l 98 0 98 0 @local0 field: @ 98 0 0 98 over 0= 0= ?branch 98 0 0 98 over 0= 0= 97 97 0 0 var: @ user: @ ?branch cell+ 97 97 0 0 var: @ user: @ ?branch 97 97 0 0 var: @ user: @ 97 97 0 0 user: @ ?branch cell+ @ col: 97 97 0 0 user: @ ?branch cell+ @ 97 97 0 0 user: @ ?branch cell+ 97 97 0 0 execute col: col: var: @ user: 97 97 0 0 con: + ;s ;s con: ;s 97 97 0 0 con: + ;s ;s con: 97 97 0 0 col: var: @ user: @ ?branch 97 97 0 0 col: var: @ user: @ 97 97 0 0 col: var: @ user: 97 97 0 0 col: con: + ;s ;s con: 97 97 0 0 col: col: var: @ user: @ 97 97 0 0 col: col: var: @ user: 97 97 0 0 cell+ @ col: col: con: + 97 97 0 0 cell+ @ col: col: con: 97 97 0 0 cell+ @ col: col: 97 97 0 0 @ user: @ ?branch cell+ @ 97 97 0 0 @ user: @ ?branch cell+ 97 97 0 0 @ user: @ ?branch 97 97 0 0 @ col: col: con: + ;s 97 97 0 0 @ col: col: con: + 97 97 0 0 @ col: col: con: 97 97 0 0 @ ?branch cell+ @ col: col: 97 97 0 0 @ ?branch cell+ @ col: 97 97 0 0 @ ?branch cell+ @ 97 97 0 0 @ ?branch cell+ 97 97 0 0 ?branch dup col: col: var: @ 97 97 0 0 ?branch dup col: col: var: 97 97 0 0 ?branch dup col: col: 97 97 0 0 ?branch cell+ @ col: col: con: 97 97 0 0 ?branch cell+ @ col: col: 97 97 0 0 ?branch cell+ @ col: 97 97 0 0 ?branch cell+ @ 97 97 0 0 ;s con: ;s ?branch 97 97 0 0 ;s ;s con: ;s ?branch 97 97 0 0 ;s ;s con: ;s 97 97 0 0 + ;s ;s con: ;s ?branch 97 97 0 0 + ;s ;s con: ;s 97 97 0 0 + ;s ;s con: 97 96 1 0 ;s ;s ;s swap col: col: 97 96 1 0 ;s ;s ;s swap col: 97 42 31 24 ;s ;s ;s col: dup col: 97 0 97 0 lp+ ;s lp+ ;s lp+ branch 96 96 0 0 ;s ;s ;s ;s swap col: 96 9 62 25 ;s col: user: @ ?branch col: 96 26 32 38 r@ pick r@ pick 96 26 32 38 r@ pick r@ 96 26 32 38 pick r@ pick 96 26 32 38 pick r@ 96 0 0 96 ?dup ?branch ?dup ?branch ;s col: 96 0 0 96 ?dup ?branch ?dup ?branch ;s 96 0 0 96 ?branch ?dup ?branch ;s col: col: 96 0 0 96 ?branch ?dup ?branch ;s col: 96 0 0 96 ?branch ?dup ?branch ;s 96 0 0 96 ;s ;s branch col: var: col: 96 0 0 96 ;s ;s branch col: var: 96 0 0 96 ;s ;s ;s branch col: var: 96 0 0 96 - ?dup ?branch ?dup ?branch ;s 95 59 4 32 swap ! ;s ;s branch col: 94 94 0 0 ;s col: dup @ con: = 94 94 0 0 ;s col: dup @ con: 94 94 0 0 ;s col: dup @ 94 73 14 7 user: ! user: col: con: swap 94 73 14 7 user: ! user: col: con: 94 73 14 7 user: ! user: col: 94 73 14 7 ! lit col: >r sp@ r> 94 73 14 7 ! lit col: >r sp@ 94 73 14 7 ! lit col: >r 94 1 14 79 swap (?do) unloop ;s ;s col: 94 1 14 79 (?do) unloop ;s ;s col: 94 0 94 0 lp+ ;s lp+ ;s @local1 col: 94 0 94 0 does: @ + @ ;s var: 94 0 94 0 @ + @ ;s var: 94 0 94 0 + @ ;s var: 93 74 18 1 ?branch ;s ;s ;s ;s branch 93 0 93 0 lp+ branch >l >l @local1 93 0 93 0 lp+ branch >l >l 93 0 93 0 defer: (type) ;s lp+ ;s col: 93 0 93 0 branch >l >l @local1 93 0 93 0 branch >l >l 93 0 93 0 @local0 1+ 93 0 93 0 ?branch @local0 1+ 93 0 93 0 (type) ;s lp+ ;s col: col: 93 0 93 0 (type) ;s lp+ ;s col: 92 60 2 30 user: ! col: col: user: @ 92 60 2 30 user: ! col: col: user: 92 60 2 30 lit user: ! col: col: user: 92 60 2 30 lit user: ! col: col: 92 60 2 30 lit user: ! col: 92 60 2 30 col: lit user: ! col: col: 92 60 2 30 col: lit user: ! col: 92 60 2 30 code-address! ;s lit col: lit lit 92 60 2 30 code-address! ;s lit col: lit 92 60 2 30 @ ?dup ;s ?branch ;s col: 92 60 2 30 @ ?dup ;s ?branch ;s ;s 92 60 2 30 @ ;s col: lit >code-address ;s 92 60 2 30 @ ;s col: lit >code-address 92 60 2 30 @ ;s @ ;s col: lit 92 60 2 30 ?dup ;s ?branch var: @ field: 92 60 2 30 ?dup ;s ?branch ;s col: user: 92 60 2 30 ?dup ;s ?branch ;s col: 92 60 2 30 ?dup ;s ?branch ;s ;s col: 92 60 2 30 ?dup ;s ?branch ;s ;s 92 60 2 30 ?branch var: @ field: @ field: 92 60 2 30 ?branch var: @ field: @ 92 60 2 30 ?branch var: @ field: 92 60 2 30 ?branch ;s col: user: @ ?dup 92 60 2 30 ?branch ;s ;s col: lit lit 92 60 2 30 ?branch ;s ;s col: lit 92 60 2 30 ;s lit col: lit lit ! 92 60 2 30 ;s lit col: lit lit 92 60 2 30 ;s code-address! ;s lit col: lit 92 60 2 30 ;s @ ;s col: lit >code-address 92 60 2 30 ;s @ ;s col: lit 92 60 2 30 ;s ?branch var: @ field: @ 92 60 2 30 ;s ?branch var: @ field: 92 60 2 30 ;s ?branch ;s col: user: @ 92 60 2 30 ;s ?branch ;s col: user: 92 60 2 30 ;s ?branch ;s ;s col: lit 92 60 2 30 ;s ?branch ;s ;s col: 92 25 16 51 ;s r> r> 92 24 34 34 ;s ! ;s ;s ;s col: 92 24 34 34 ! ;s ;s ;s col: 92 0 92 0 lp- @local1 ?branch lp+2 ;s lp+ 92 0 92 0 @local1 ?branch lp+2 ;s lp+ ;s 92 0 92 0 @local1 ?branch lp+2 ;s lp+ 92 0 92 0 ?branch lp+2 ;s lp+ ;s 92 0 92 0 ;s branch drop ;s ;s user: 91 91 0 0 ;s col: col: user: @ 0= 91 91 0 0 ! col: col: col: 91 72 13 6 user: @ user: @ = ?branch 91 72 13 6 user: @ user: @ = 91 72 13 6 user: @ user: ! user: @ 91 72 13 6 user: @ user: ! user: 91 72 13 6 user: @ user: ! 91 72 13 6 user: @ >r user: @ user: 91 72 13 6 user: @ >r >r ;s user: 91 72 13 6 user: @ >r >r ;s 91 72 13 6 user: @ >r >r 91 72 13 6 user: @ = ?branch 91 72 13 6 user: @ = 91 72 13 6 user: ! user: @ >r >r 91 72 13 6 user: ! user: @ >r 91 72 13 6 user: ! lit col: >r sp@ 91 72 13 6 user: ! lit col: >r 91 72 13 6 r> user: @ >r user: @ 91 72 13 6 r> user: @ >r user: 91 72 13 6 r> user: @ >r 91 72 13 6 r> user: @ 91 72 13 6 col: r> user: @ >r user: 91 72 13 6 col: r> user: @ >r 91 72 13 6 col: r> user: @ 91 72 13 6 col: r> user: 91 72 13 6 col: col: r> user: @ >r 91 72 13 6 col: col: r> user: @ 91 72 13 6 col: col: r> user: 91 72 13 6 @ user: @ = ?branch 91 72 13 6 @ user: @ = 91 72 13 6 @ user: ! user: @ >r 91 72 13 6 @ user: ! user: @ 91 72 13 6 @ user: ! user: 91 72 13 6 @ >r user: @ user: @ 91 72 13 6 @ >r user: @ user: 91 72 13 6 @ >r >r ;s user: ! 91 72 13 6 @ >r >r ;s user: 91 72 13 6 @ >r >r ;s 91 72 13 6 @ >r >r 91 72 13 6 >r user: @ user: @ = 91 72 13 6 >r user: @ user: @ 91 72 13 6 >r user: @ user: 91 72 13 6 >r >r ;s user: ! 91 72 13 6 >r >r ;s user: 91 72 13 6 >r >r ;s 91 72 13 6 >r ;s user: ! 91 72 13 6 >r ;s user: 91 72 13 6 ! user: @ >r >r ;s 91 72 13 6 ! user: @ >r >r 91 72 13 6 ! user: @ >r 91 21 43 27 ! ;s branch ;s ;s ;s 90 71 13 6 user: @ = ?branch r@ user: 90 71 13 6 user: @ = ?branch r@ 90 71 13 6 user: +! user: @ user: ! 90 71 13 6 user: +! user: @ user: 90 71 13 6 user: +! user: @ 90 71 13 6 user: +! user: 90 71 13 6 r@ user: +! user: @ user: 90 71 13 6 r@ user: +! user: @ 90 71 13 6 r@ user: +! user: 90 71 13 6 r@ user: +! 90 71 13 6 r@ user: 90 71 13 6 @ user: @ = ?branch r@ 90 71 13 6 @ = ?branch r@ user: +! 90 71 13 6 @ = ?branch r@ user: 90 71 13 6 @ = ?branch r@ 90 71 13 6 ?branch r@ user: +! user: @ 90 71 13 6 ?branch r@ user: +! user: 90 71 13 6 ?branch r@ user: +! 90 71 13 6 ?branch r@ user: 90 71 13 6 = ?branch r@ user: +! user: 90 71 13 6 = ?branch r@ user: +! 90 71 13 6 = ?branch r@ user: 90 71 13 6 = ?branch r@ 90 71 13 6 +! user: @ user: ! user: 90 71 13 6 +! user: @ user: ! 90 71 13 6 +! user: @ user: 90 71 13 6 +! user: @ 90 71 13 6 +! user: 90 29 38 23 ?branch ;s ;s branch col: sp@ 90 29 38 23 ?branch ;s ;s branch col: 90 29 38 23 ?branch ;s ;s branch 90 19 18 53 var: ;s branch col: sp@ user: 90 19 18 53 var: ;s branch col: sp@ 90 19 18 53 var: ;s branch col: 90 19 18 53 var: ;s branch 90 19 18 53 nip nip execute var: ;s branch 90 19 18 53 nip nip execute var: ;s 90 19 18 53 nip nip execute var: 90 19 18 53 nip execute var: ;s branch col: 90 19 18 53 nip execute var: ;s branch 90 19 18 53 nip execute var: ;s 90 19 18 53 nip execute var: 90 19 18 53 execute var: ;s branch col: sp@ 90 19 18 53 execute var: ;s branch col: 90 19 18 53 execute var: ;s branch 90 19 18 53 execute var: ;s 90 19 18 53 and ?branch nip nip execute var: 90 19 18 53 ?branch nip nip execute var: ;s 90 19 18 53 ?branch nip nip execute var: 90 15 55 20 over r> 90 14 13 63 col: col: user: @ ?branch col: 90 0 90 0 col: >l >l @local0 field: @ 90 0 90 0 col: >l >l @local0 field: 90 0 90 0 @local0 field: @ @local1 col: >l 90 0 90 0 @local0 field: @ @local1 col: 90 0 90 0 @local0 field: @ @local1 90 0 90 0 >l @local0 field: @ @local1 col: 90 0 90 0 >l @local0 field: @ @local1 90 0 90 0 >l @local0 field: @ 90 0 90 0 >l @local0 field: 90 0 90 0 >l >l @local0 field: @ @local1 90 0 90 0 >l >l @local0 field: @ 90 0 90 0 >l >l @local0 field: 90 0 0 90 cr ;s col: col: r> r> 90 0 0 90 cr ;s col: col: r> 90 0 0 90 cr ;s col: col: 90 0 0 90 ;s cr ;s col: col: r> 90 0 0 90 ;s cr ;s col: col: 90 0 0 90 (type) ;s cr ;s col: col: 89 89 0 0 con: var: @ 89 0 29 60 rot col: 0< ?branch lit col: 89 0 29 60 rot col: 0< ?branch lit 89 0 29 60 col: 0< ?branch lit col: col: 89 0 29 60 col: 0< ?branch lit col: 89 0 29 60 col: 0< ?branch lit 89 0 29 60 c! ;s ;s col: 2drop col: 89 0 29 60 c! ;s ;s col: 2drop 89 0 29 60 @ c! ;s ;s col: 2drop 89 0 29 60 @ c! ;s ;s col: 89 0 29 60 ?branch lit col: col: col: col: 89 0 29 60 ?branch lit col: col: col: 89 0 29 60 ;s rot col: 0< ?branch lit 89 0 29 60 ;s ;s col: 2drop col: col: 89 0 29 60 ;s ;s col: 2drop col: 89 0 29 60 ;s ;s col: 2drop 89 0 29 60 0< ?branch lit col: col: col: 89 0 29 60 0< ?branch lit col: col: 89 0 29 60 0< ?branch lit col: 89 0 29 60 +! @ c! ;s ;s col: 88 71 12 5 user: ! r> user: ! >r 88 71 12 5 user: ! >r ;s 88 71 12 5 r> user: ! >r ;s 88 71 12 5 r> user: ! >r 88 71 12 5 r> r> user: ! r> user: 88 71 12 5 r> r> user: ! r> 88 71 12 5 dup ?branch r> r> user: ! 88 71 12 5 dup ?branch r> r> user: 88 71 12 5 dup ?branch r> r> 88 71 12 5 col: dup ?branch r> r> user: 88 71 12 5 col: dup ?branch r> r> 88 71 12 5 col: dup ?branch r> 88 71 12 5 col: dup ?branch 88 71 12 5 ?branch r> r> user: ! r> 88 71 12 5 ?branch r> r> user: ! 88 71 12 5 ?branch r> r> user: 88 71 12 5 ?branch r> r> 88 71 12 5 ! r> user: ! >r ;s 88 71 12 5 ! r> user: ! >r 88 71 12 5 ! >r ;s 88 20 20 48 swap var: 88 17 28 43 rdrop ;s ;s ;s ;s 88 17 28 43 ?branch rdrop ;s ;s ;s ;s 88 0 88 0 lp- @local1 con: = ?branch con: 88 0 88 0 lp+ ;s lp+ ;s @local3 does: 88 0 88 0 lp+ ;s lp+ ;s @local3 88 0 88 0 lp+ ;s col: >l lp- col: 88 0 88 0 lp+ ;s col: >l lp- 88 0 88 0 lp+ ;s col: >l 88 0 88 0 lp+ ;s @local3 does: @ + 88 0 88 0 lp+ ;s @local3 does: @ 88 0 88 0 lp+ ;s @local3 does: 88 0 88 0 field: @ col: col: dup 0< 88 0 88 0 field: @ col: col: dup 88 0 88 0 defer: (type) ;s @local3 col: >l 88 0 88 0 defer: (type) ;s @local3 col: 88 0 88 0 defer: (type) ;s @local3 88 0 88 0 count defer: (type) ;s @local3 col: 88 0 88 0 count defer: (type) ;s @local3 88 0 88 0 con: = ?branch con: col: >l 88 0 88 0 con: = ?branch con: col: 88 0 88 0 @local1 field: @ col: col: dup 88 0 88 0 @local1 field: @ col: col: 88 0 88 0 @local1 con: = ?branch con: col: 88 0 88 0 @local1 con: = ?branch con: 88 0 88 0 @ col: col: dup 0< ;s 88 0 88 0 @ col: col: dup 0< 88 0 88 0 @ ;s col: >l lp- col: 88 0 88 0 ?branch con: col: >l lp- col: 88 0 88 0 ?branch con: col: >l lp- 88 0 88 0 ?branch con: col: >l 88 0 88 0 ?branch con: col: 88 0 88 0 = ?branch con: col: >l lp- 88 0 88 0 = ?branch con: col: >l 88 0 88 0 = ?branch con: col: 88 0 88 0 ;s lp+ ;s lp+ ;s @local3 88 0 88 0 ;s lp+ ;s @local3 does: @ 88 0 88 0 ;s lp+ ;s @local3 does: 88 0 88 0 ;s count defer: (type) ;s @local3 88 0 88 0 ;s @local3 does: @ + @ 88 0 88 0 ;s @local3 does: @ + 88 0 88 0 ;s @local3 does: @ 88 0 88 0 ;s @local3 does: 88 0 88 0 ;s @local1 field: @ col: col: 88 0 88 0 ;s @local1 field: @ col: 88 0 88 0 (type) ;s @local3 col: >l lp- 88 0 88 0 (type) ;s @local3 col: >l 88 0 88 0 (type) ;s @local3 col: 88 0 88 0 (type) ;s @local3 88 0 88 0 (type) ;s @local1 field: @ lit 88 0 88 0 (type) ;s @local1 field: @ col: 87 20 42 25 ;s ;s dup 0= col: col: 87 20 42 25 ;s ;s dup 0= col: 87 20 42 25 ;s ;s dup 0= 87 20 42 25 ;s ;s ;s dup 0= col: 87 20 42 25 ;s ;s ;s dup 0= 87 13 16 58 ;s swap con: 87 0 87 0 lp- con: 87 0 87 0 lp+ ;s @local0 87 0 87 0 field: @local1 field: col: >l >l 87 0 87 0 field: @local1 field: col: >l 87 0 87 0 field: @local1 field: col: 87 0 87 0 >l lp- con: 87 0 87 0 >l >l >l >l >l >l 86 86 0 0 var: @ ! ;s ;s branch 86 86 0 0 var: @ ! ;s ;s 86 86 0 0 var: @ ! ;s 86 86 0 0 rdrop ;s con: var: @ ! 86 86 0 0 rdrop ;s con: var: @ 86 86 0 0 rdrop ;s con: var: 86 86 0 0 dup con: = ?branch con: <> 86 86 0 0 dup con: = ?branch con: 86 86 0 0 con: var: @ ! ;s ;s 86 86 0 0 con: var: @ ! ;s 86 86 0 0 con: var: @ ! 86 86 0 0 con: = ?branch con: <> col: 86 86 0 0 con: = ?branch con: <> 86 86 0 0 @ dup con: = ?branch con: 86 86 0 0 @ ! ;s ;s branch col: 86 86 0 0 @ ! ;s ;s branch 86 86 0 0 ?branch rdrop ;s con: var: @ 86 86 0 0 ?branch rdrop ;s con: var: 86 86 0 0 ?branch rdrop ;s con: 86 86 0 0 ?branch con: <> col: col: r> 86 86 0 0 ?branch con: <> col: col: 86 86 0 0 ?branch con: <> col: 86 86 0 0 ?branch con: <> 86 86 0 0 >r ?branch rdrop ;s con: var: 86 86 0 0 >r ?branch rdrop ;s con: 86 86 0 0 = ?branch con: <> col: col: 86 86 0 0 = ?branch con: <> col: 86 86 0 0 = ?branch con: <> 86 86 0 0 ;s con: var: @ ! ;s 86 86 0 0 ;s con: var: @ ! 86 86 0 0 ;s con: var: @ 86 86 0 0 ;s >r ?branch rdrop ;s con: 86 57 0 29 over col: col: 86 57 0 29 ;s over col: col: 86 27 36 23 0= ?branch ;s ;s branch col: 86 27 36 23 0= ?branch ;s ;s branch 86 0 86 0 lp- con: lit 86 0 86 0 execute col: >l lp- @local1 col: 86 0 86 0 >l lp- con: lit 86 0 0 86 @ 0= ?branch does: @ does: 86 0 0 86 ?branch does: @ does: @ col: 86 0 0 86 ?branch does: @ does: @ 86 0 0 86 ?branch does: @ does: 86 0 0 86 ;s ! does: @ col: var: 86 0 0 86 ;s ! does: @ col: 86 0 0 86 0= ?branch does: @ does: @ 86 0 0 86 0= ?branch does: @ does: 86 0 0 86 + ;s ! does: @ col: 86 0 0 86 ! does: @ col: var: col: 86 0 0 86 ! does: @ col: var: 86 0 0 86 ! does: @ col: 85 82 1 2 ;s ;s ;s col: col: user: 85 57 0 28 ;s ;s over col: col: 84 27 22 35 var: @ col: dup con: ! 84 27 22 35 var: @ col: dup con: 84 27 22 35 var: @ col: dup 84 27 22 35 var: @ ?branch var: @ col: 84 27 22 35 user: ! ;s col: con: @ 84 27 22 35 user: ! ;s col: con: 84 27 22 35 nip ;s user: ! ;s col: 84 27 22 35 col: var: @ ?branch var: @ 84 27 22 35 col: var: @ ?branch var: 84 27 22 35 @ col: dup con: ! col: 84 27 22 35 @ col: dup con: ! 84 27 22 35 @ col: dup con: 84 27 22 35 @ ?branch var: @ col: dup 84 27 22 35 @ ?branch var: @ col: 84 27 22 35 ?branch var: @ col: dup con: 84 27 22 35 ?branch var: @ col: dup 84 27 22 35 ;s user: ! ;s col: con: 84 27 22 35 ;s user: ! ;s col: 84 27 22 35 ;s col: con: @ col: col: 84 27 22 35 ! ;s col: con: @ col: 84 27 22 35 ! ;s col: con: @ 84 27 22 35 ! ;s col: con: 84 0 84 0 cr lp+ ;s @local1 col: field: 84 0 84 0 cr lp+ ;s @local1 col: 84 0 84 0 cr lp+ ;s @local1 84 0 84 0 @local2 @local3 col: 84 0 84 0 @local2 @local3 84 0 84 0 ;s cr lp+ ;s @local1 col: 84 0 84 0 ;s cr lp+ ;s @local1 83 46 22 15 drop branch ;s ;s branch col: 83 46 22 15 drop branch ;s ;s branch 83 46 22 15 ;s drop branch ;s ;s branch 83 0 83 0 ;s @local0 col: 82 82 0 0 (loop) unloop ;s ;s ;s branch 82 4 57 21 r> ;s ;s branch col: sp@ 82 4 57 21 r> ;s ;s branch col: 82 4 57 21 r> ;s ;s branch 82 30 27 25 rdrop ;s ;s over 82 30 27 25 ?branch rdrop ;s ;s over 82 30 27 25 >r ?branch rdrop ;s ;s over 82 0 82 0 ;s @local1 @local0 81 81 0 0 @ col: var: @ ;s 81 22 4 55 drop branch ;s ;s ;s 81 22 4 55 ;s drop branch ;s ;s ;s 81 20 52 9 allocate col: 81 20 52 9 allocate 81 15 50 16 -rot 81 14 51 16 open-file 81 14 51 16 con: open-file 81 0 81 0 @local1 ! lp+ ;s 81 0 81 0 @local1 ! lp+ 81 0 0 81 var: col: col: col: col: user: 81 0 0 81 var: col: col: col: col: 81 0 0 81 col: var: col: col: col: col: 80 80 0 0 lit (?do) unloop ;s ;s user: 80 80 0 0 2drop ;s ;s ;s branch 80 80 0 0 (?do) unloop ;s ;s user: ! 80 80 0 0 (?do) unloop ;s ;s user: 80 14 50 16 >r con: open-file 80 0 70 10 r> cell+ cell+ (loop) 80 0 70 10 r> cell+ cell+ 80 0 70 10 r> cell+ 80 0 70 10 cell+ cell+ (loop) 80 0 0 80 1+ var: 2@ 79 79 0 0 var: @ ;s rot ! col: 79 79 0 0 var: @ ;s rot ! 79 79 0 0 var: @ ;s rot 79 79 0 0 unloop d>s ;s ;s r@ rot 79 79 0 0 unloop d>s ;s ;s r@ 79 79 0 0 unloop 2drop ;s ;s branch dup 79 79 0 0 unloop 2drop ;s ;s branch 79 79 0 0 rot col: col: var: @ + 79 79 0 0 rot col: col: var: @ 79 79 0 0 rot col: col: var: 79 79 0 0 rot ! col: col: col: var: 79 79 0 0 rot ! col: col: col: 79 79 0 0 rot ! col: col: 79 79 0 0 rot ! col: 79 79 0 0 r@ rot col: col: var: @ 79 79 0 0 r@ rot col: col: var: 79 79 0 0 r@ rot col: col: 79 79 0 0 r@ rot col: 79 79 0 0 r@ rot 79 79 0 0 dup @ col: var: @ ;s 79 79 0 0 dup @ col: var: @ 79 79 0 0 dup @ col: var: 79 79 0 0 dup ?branch dup col: col: var: 79 79 0 0 dup ?branch dup col: col: 79 79 0 0 d>s ;s ;s r@ rot col: 79 79 0 0 d>s ;s ;s r@ rot 79 79 0 0 d>s ;s ;s r@ 79 79 0 0 con: ;s ?branch ;s ;s ;s 79 79 0 0 con: ;s ?branch ;s ;s 79 79 0 0 con: ;s ?branch ;s 79 79 0 0 col: var: @ ;s rot ! 79 79 0 0 col: var: @ ;s rot 79 79 0 0 col: col: cell+ ;s dup @ 79 79 0 0 col: col: cell+ ;s dup 79 79 0 0 col: cell+ ;s dup @ col: 79 79 0 0 col: cell+ ;s dup @ 79 79 0 0 col: cell+ ;s dup 79 79 0 0 cell+ ;s dup @ col: var: 79 79 0 0 cell+ ;s dup @ col: 79 79 0 0 cell+ ;s dup @ 79 79 0 0 cell+ ;s dup 79 79 0 0 @ col: var: @ ;s rot 79 79 0 0 @ ;s rot ! col: col: 79 79 0 0 @ ;s rot ! col: 79 79 0 0 @ ;s rot ! 79 79 0 0 @ ;s rot 79 79 0 0 ?branch col: col: cell+ ;s dup 79 79 0 0 ;s rot ! col: col: col: 79 79 0 0 ;s rot ! col: col: 79 79 0 0 ;s rot ! col: 79 79 0 0 ;s rot ! 79 79 0 0 ;s r@ rot col: col: var: 79 79 0 0 ;s r@ rot col: col: 79 79 0 0 ;s r@ rot col: 79 79 0 0 ;s r@ rot 79 79 0 0 ;s dup @ col: var: @ 79 79 0 0 ;s dup @ col: var: 79 79 0 0 ;s dup @ col: 79 79 0 0 ;s dup @ 79 79 0 0 ;s con: ;s ?branch ;s ;s 79 79 0 0 ;s con: ;s ?branch ;s 79 79 0 0 ;s ?branch ;s ;s ;s 79 79 0 0 ;s ;s r@ rot col: col: 79 79 0 0 ;s ;s r@ rot col: 79 79 0 0 ;s ;s r@ rot 79 79 0 0 ;s ;s r@ 79 79 0 0 ;s ;s con: ;s ?branch ;s 79 79 0 0 2drop ;s ;s branch dup ?branch 79 79 0 0 2drop ;s ;s branch dup 79 79 0 0 (loop) unloop 2drop ;s ;s branch 79 79 0 0 (+loop) unloop d>s ;s ;s r@ 79 79 0 0 ! col: col: col: var: @ 79 79 0 0 ! col: col: col: var: 79 22 35 22 (f83find) ;s ;s dup ?branch ;s 79 14 50 15 var: swap cmove 2dup var: r@ 79 14 50 15 var: swap cmove 2dup var: 79 14 50 15 var: swap cmove 2dup 79 14 50 15 var: swap cmove 79 14 50 15 var: r@ + swap cmove var: 79 14 50 15 var: r@ + swap cmove 79 14 50 15 var: r@ + swap 79 14 50 15 var: r@ + 79 14 50 15 var: over r> + dup >r 79 14 50 15 var: over r> + dup 79 14 50 15 var: over r> + 79 14 50 15 var: over r> 79 14 50 15 swap cmove var: over r> + 79 14 50 15 swap cmove var: over r> 79 14 50 15 swap cmove var: over 79 14 50 15 swap cmove var: 79 14 50 15 swap cmove 2dup var: r@ + 79 14 50 15 swap cmove 2dup var: r@ 79 14 50 15 swap cmove 2dup var: 79 14 50 15 swap cmove 2dup 79 14 50 15 r@ + swap cmove var: over 79 14 50 15 r@ + swap cmove var: 79 14 50 15 r@ + swap cmove 79 14 50 15 r@ + swap 79 14 50 15 r@ + 79 14 50 15 r> + dup >r con: open-file 79 14 50 15 r> + dup >r con: 79 14 50 15 r> + dup >r 79 14 50 15 r> + dup 79 14 50 15 r> + 79 14 50 15 over r> + dup >r con: 79 14 50 15 over r> + dup >r 79 14 50 15 over r> + dup 79 14 50 15 over r> + 79 14 50 15 open-file 0= ?branch 79 14 50 15 open-file 0= 79 14 50 15 dup >r var: swap cmove 2dup 79 14 50 15 dup >r var: swap cmove 79 14 50 15 dup >r var: swap 79 14 50 15 dup >r var: 79 14 50 15 dup >r con: open-file 0= ?branch 79 14 50 15 dup >r con: open-file 0= 79 14 50 15 dup >r con: open-file 79 14 50 15 dup >r con: 79 14 50 15 dup >r 2@ dup >r var: 79 14 50 15 dup >r 2@ dup >r 79 14 50 15 dup >r 2@ dup 79 14 50 15 con: open-file 0= ?branch 79 14 50 15 con: open-file 0= 79 14 50 15 cmove var: over r> + dup 79 14 50 15 cmove var: over r> + 79 14 50 15 cmove var: over r> 79 14 50 15 cmove var: over 79 14 50 15 cmove 2dup var: r@ + swap 79 14 50 15 cmove 2dup var: r@ + 79 14 50 15 cmove 2dup var: r@ 79 14 50 15 cmove 2dup var: 79 14 50 15 cmove 2dup 79 14 50 15 >r var: swap cmove 2dup var: 79 14 50 15 >r var: swap cmove 2dup 79 14 50 15 >r var: swap cmove 79 14 50 15 >r var: swap 79 14 50 15 >r con: open-file 0= ?branch 79 14 50 15 >r con: open-file 0= 79 14 50 15 >r 2@ dup >r var: swap 79 14 50 15 >r 2@ dup >r var: 79 14 50 15 >r 2@ dup >r 79 14 50 15 >r 2@ dup 79 14 50 15 2dup var: r@ + swap cmove 79 14 50 15 2dup var: r@ + swap 79 14 50 15 2dup var: r@ + 79 14 50 15 2dup var: r@ 79 14 50 15 2@ dup >r var: swap cmove 79 14 50 15 2@ dup >r var: swap 79 14 50 15 2@ dup >r var: 79 14 50 15 2@ dup >r 79 14 50 15 2@ dup 79 14 50 15 + swap cmove var: over r> 79 14 50 15 + swap cmove var: over 79 14 50 15 + swap cmove var: 79 14 50 15 + swap cmove 79 14 50 15 + dup >r con: open-file 0= 79 14 50 15 + dup >r con: open-file 79 14 50 15 + dup >r con: 79 14 50 15 + dup >r 79 1 7 71 @ ;s >r 79 0 79 0 lit cells over = ?branch col: 79 0 79 0 cells over = ?branch col: r> 79 0 79 0 cells over = ?branch col: 79 0 79 0 ?branch lp+ ;s @local1 col: field: 79 0 79 0 ?branch lp+ ;s @local1 col: 79 0 79 0 ?branch lp+ ;s @local1 79 0 79 0 ;s branch drop ;s ;s ;s 78 54 0 24 ;s swap ! ;s ;s branch 78 54 0 24 ;s swap ! ;s ;s 78 54 0 24 ;s swap ! ;s 78 40 13 25 ;s ;s branch ;s ;s branch 78 37 26 15 ;s ;s ;s var: 78 0 78 0 branch lp+ ;s @local3 lit col: 78 0 78 0 branch lp+ ;s @local3 lit 78 0 78 0 branch lp+ ;s @local3 78 0 78 0 @local3 col: >l >l 78 0 78 0 @local2 @local3 col: >l >l 78 0 78 0 @local2 @local3 col: >l 78 0 78 0 @local0 branch lp+ ;s @local3 lit 78 0 78 0 @local0 branch lp+ ;s @local3 78 0 78 0 ?branch @local0 branch lp+ ;s @local3 77 57 0 20 nip nip execute col: con: col: 77 57 0 20 nip execute col: con: col: 77 57 0 20 execute col: con: col: 77 47 6 24 execute col: col: con: 77 40 16 21 col: col: lit col: 77 0 77 0 lp+!# ;s lp+ ;s @local1 col: 77 0 77 0 dup ?branch 2drop lp+!# ;s lp+ 77 0 77 0 ?branch 2drop lp+!# ;s lp+ ;s 77 0 77 0 ?branch 2drop lp+!# ;s lp+ 77 0 77 0 2drop lp+!# ;s lp+ ;s @local1 77 0 77 0 2drop lp+!# ;s lp+ ;s 77 0 77 0 2drop lp+!# ;s lp+ 76 58 0 18 lit ;s col: 76 56 0 20 nip execute col: con: col: col: 76 56 0 20 execute col: con: col: col: defer: 76 56 0 20 execute col: con: col: col: 76 17 28 31 rdrop ;s ;s ;s ;s ;s 76 0 76 0 unloop lp+ ;s lp+ ;s 76 0 76 0 unloop lp+ ;s lp+ 76 0 76 0 ;s ! (loop) unloop lp+ ;s 76 0 76 0 ;s ! (loop) unloop lp+ 76 0 76 0 + ;s ! (loop) unloop lp+ 76 0 76 0 (loop) unloop lp+ ;s lp+ ;s 76 0 76 0 (loop) unloop lp+ ;s lp+ 76 0 76 0 ! (loop) unloop lp+ ;s 76 0 76 0 ! (loop) unloop lp+ 75 55 17 3 u> ?branch lit - dup lit 75 55 17 3 u> ?branch lit - dup 75 55 17 3 u> ?branch lit - 75 55 17 3 u> ?branch lit 75 55 17 3 u<= ?branch 75 55 17 3 u<= 75 55 17 3 lit u> ?branch lit - dup 75 55 17 3 lit u> ?branch lit - 75 55 17 3 lit u> ?branch lit 75 55 17 3 lit u<= ?branch 75 55 17 3 lit u<= 75 55 17 3 lit - dup lit u<= ?branch 75 55 17 3 lit - dup lit u<= 75 55 17 3 dup lit u> ?branch lit - 75 55 17 3 dup lit u> ?branch lit 75 55 17 3 dup lit u<= ?branch 75 55 17 3 dup lit u<= 75 55 17 3 ?branch lit - dup lit u<= 75 55 17 3 ?branch lit - dup lit 75 55 17 3 ?branch lit - dup 75 55 17 3 ?branch lit - 75 55 17 3 - dup lit u> ?branch lit 75 55 17 3 - dup lit u<= ?branch 75 55 17 3 - dup lit u<= 75 23 27 25 var: ! ;s ;s col: dup 75 21 23 31 lit lit col: 75 20 31 24 var: ! ;s ;s lit col: 75 20 31 24 var: ! ;s ;s lit 75 20 31 24 rdrop ;s ;s ;s col: dup 75 20 31 24 lit var: ! ;s ;s lit 75 20 31 24 ! ;s ;s lit col: 1+ 75 20 31 24 ! ;s ;s col: var: col: 75 16 4 55 drop branch ;s ;s ;s branch 75 0 75 0 execute col: >l >l @local0 field: 75 0 75 0 ?branch lp+2 ;s lp+ ;s @local1 75 0 0 75 @ ;s col: col: col: var: 75 0 0 75 ;s +! ;s ! ;s swap 75 0 0 75 ;s ! ;s swap col: col: 75 0 0 75 ;s ! ;s swap col: 75 0 0 75 ;s ! ;s swap 75 0 0 75 +! ;s ! ;s swap col: 75 0 0 75 +! ;s ! ;s swap 75 0 0 75 ! ;s swap col: col: col: 75 0 0 75 ! ;s swap col: col: 75 0 0 75 ! ;s swap col: 74 18 36 20 ;s ;s 0= ?branch ;s ;s 74 18 36 20 ;s 0= ?branch ;s ;s branch 74 15 36 23 user: +! ;s user: @ ?branch 74 15 36 23 user: +! ;s user: @ 74 15 36 23 user: +! ;s user: 74 15 36 23 ?branch 1+ user: +! ;s user: 74 15 36 23 ;s user: @ ?branch 74 15 36 23 1+ user: +! ;s user: @ 74 15 36 23 1+ user: +! ;s user: 74 15 36 23 +! ;s user: @ ?branch 74 15 36 23 +! ;s user: @ 74 15 36 23 +! ;s user: 74 12 0 62 ;s ;s rot 74 0 74 0 branch dup ?branch execute col: 74 0 74 0 branch dup ?branch execute 74 0 74 0 ;s branch dup ?branch execute col: 74 0 74 0 ;s branch dup ?branch execute 74 0 74 0 ;s ;s branch dup ?branch execute 73 53 17 3 u<= ?branch dup user: @ u>= 73 53 17 3 u<= ?branch dup user: @ 73 53 17 3 u<= ?branch dup user: 73 53 17 3 u<= ?branch dup 73 53 17 3 lit u<= ?branch dup user: @ 73 53 17 3 lit u<= ?branch dup user: 73 53 17 3 lit u<= ?branch dup 73 53 17 3 dup lit u<= ?branch dup user: 73 53 17 3 dup lit u<= ?branch dup 73 53 17 3 - dup lit u<= ?branch dup 73 42 20 11 ;s ! ;s ;s branch col: 73 28 17 28 code-address! ;s ;s lit col: col: 73 28 17 28 code-address! ;s ;s lit col: 73 28 17 28 code-address! ;s ;s lit 73 28 17 28 ;s code-address! ;s ;s lit col: 73 28 17 28 ;s code-address! ;s ;s lit 73 28 17 28 ! ;s code-address! ;s ;s lit 73 20 25 28 var: @ dup var: <= ?branch 73 20 25 28 var: @ dup var: <= 73 20 25 28 var: @ dup lit >= col: 73 20 25 28 var: @ dup lit >= 73 20 25 28 var: @ dup lit 73 20 25 28 var: <= ?branch 73 20 25 28 var: <= 73 20 25 28 u>= ?branch col: 73 20 25 28 tuck ! cell+ var: ! ;s 73 20 25 28 tuck ! cell+ var: ! 73 20 25 28 tuck ! cell+ var: 73 20 25 28 rdrop ;s tuck ! cell+ tuck 73 20 25 28 rdrop ;s tuck ! cell+ 73 20 25 28 rdrop ;s tuck ! 73 20 25 28 rdrop ;s tuck 73 20 25 28 r@ u>= ?branch col: 73 20 25 28 r@ u>= ?branch 73 20 25 28 r@ u>= 73 20 25 28 over r@ u>= ?branch col: 73 20 25 28 over r@ u>= ?branch 73 20 25 28 over r@ u>= 73 20 25 28 over r@ 73 20 25 28 lit >= col: col: r> r> 73 20 25 28 lit >= col: col: r> 73 20 25 28 lit >= col: col: 73 20 25 28 lit >= col: 73 20 25 28 lit >= 73 20 25 28 dup var: <= ?branch 73 20 25 28 dup var: <= 73 20 25 28 dup lit >= col: col: r> 73 20 25 28 dup lit >= col: col: 73 20 25 28 dup lit >= col: 73 20 25 28 dup lit >= 73 20 25 28 col: var: @ dup var: <= 73 20 25 28 col: var: @ dup lit >= 73 20 25 28 col: var: @ dup lit 73 20 25 28 cell+ var: ! ;s 73 20 25 28 cell+ var: ! 73 20 25 28 cell+ var: 73 20 25 28 cell+ tuck ! cell+ var: ! 73 20 25 28 cell+ tuck ! cell+ var: 73 20 25 28 cell+ tuck ! cell+ tuck ! 73 20 25 28 cell+ tuck ! cell+ tuck 73 20 25 28 @ dup var: <= ?branch 73 20 25 28 @ dup var: <= 73 20 25 28 @ dup lit >= col: col: 73 20 25 28 @ dup lit >= col: 73 20 25 28 @ dup lit >= 73 20 25 28 @ dup lit 73 20 25 28 ?branch rdrop ;s tuck ! cell+ 73 20 25 28 ?branch rdrop ;s tuck ! 73 20 25 28 ?branch rdrop ;s tuck 73 20 25 28 >r ?branch rdrop ;s tuck ! 73 20 25 28 >r ?branch rdrop ;s tuck 73 20 25 28 >= col: col: r> r> dup 73 20 25 28 >= col: col: r> r> 73 20 25 28 >= col: col: r> 73 20 25 28 >= col: col: 73 20 25 28 >= col: 73 20 25 28 <= ?branch 73 20 25 28 <= 73 20 25 28 ;s tuck ! cell+ tuck ! 73 20 25 28 ;s tuck ! cell+ tuck 73 20 25 28 ;s tuck ! cell+ 73 20 25 28 ;s tuck ! 73 20 25 28 ;s over r@ u>= ?branch col: 73 20 25 28 ;s over r@ u>= ?branch 73 20 25 28 ;s over r@ u>= 73 20 25 28 ;s over r@ 73 20 25 28 ;s >r ?branch rdrop ;s tuck 73 20 25 28 ! cell+ var: ! ;s 73 20 25 28 ! cell+ var: ! 73 20 25 28 ! cell+ var: 73 20 25 28 ! cell+ tuck ! cell+ var: 73 20 25 28 ! cell+ tuck ! cell+ tuck 73 19 23 31 lit lit col: >r 73 1 57 15 ?branch ;s col: user: @ ?branch 73 1 57 15 ;s 0= ?branch ;s col: user: 73 1 57 15 0= ?branch ;s col: user: @ 73 1 57 15 0= ?branch ;s col: user: 73 1 1 71 user: @ ;s @ ;s >r 73 1 1 71 @ ;s @ ;s >r 73 1 1 71 ;s @ ;s >r 73 0 73 0 field: ! @local0 73 0 73 0 execute col: >l >l @local1 73 0 73 0 branch dup ?branch execute col: user: 73 0 73 0 @local0 field: ! @local0 73 0 73 0 @local0 field: ! 73 0 73 0 @local# execute col: >l >l @local1 73 0 73 0 ! lp+ ;s lp+ ;s 73 0 73 0 ! lp+ ;s lp+ 73 0 73 0 ! @local0 73 0 63 10 r> cell+ cell+ (loop) dup >r 73 0 63 10 r> cell+ cell+ (loop) dup 73 0 63 10 cell+ cell+ (loop) dup >r 2@ 73 0 63 10 cell+ cell+ (loop) dup >r 73 0 63 10 cell+ cell+ (loop) dup 73 0 63 10 cell+ (loop) dup >r 2@ 73 0 63 10 cell+ (loop) dup >r 73 0 63 10 (loop) dup >r 2@ 73 0 63 10 (loop) dup >r 72 48 0 24 nip execute col: col: defer: noop 72 48 0 24 execute col: col: defer: noop col: 72 48 0 24 execute col: col: defer: noop 72 48 0 24 col: col: defer: noop col: col: 72 48 0 24 col: col: defer: noop col: 72 48 0 24 col: col: defer: noop 72 48 0 24 ;s col: lit user: ! col: 72 48 0 24 ;s col: lit user: ! 72 48 0 24 ;s col: lit user: 72 35 16 21 nip execute col: col: lit col: 72 35 16 21 execute col: col: lit col: 72 21 33 18 nip nip execute col: var: @ 72 21 33 18 nip execute col: var: @ 72 21 33 18 execute col: var: @ 72 13 27 32 ;s ;s ;s r> 72 0 72 0 lp+ ;s @local1 @ col: >l 72 0 72 0 lp+ ;s @local1 @ col: 72 0 72 0 lp+ ;s @local1 @ 72 0 72 0 lp+ ;s @local1 ! lp+ ;s 72 0 72 0 lp+ ;s @local1 ! lp+ 72 0 72 0 lp+ ;s @local1 ! 72 0 72 0 lit over = ?branch drop col: 72 0 72 0 lit over = ?branch drop 72 0 72 0 field: col: >l >l @local0 col: 72 0 72 0 field: col: >l >l @local0 72 0 72 0 col: lit over = ?branch drop 72 0 72 0 @local1 @ col: >l >l @local0 72 0 72 0 @local1 @ col: >l >l 72 0 72 0 @local1 @ col: >l 72 0 72 0 @local1 @ col: 72 0 72 0 >l @local0 col: >l lp- col: 72 0 72 0 ;s lp+ ;s @local1 @ col: 72 0 72 0 ;s lp+ ;s @local1 @ 72 0 72 0 ;s @local1 @ col: >l >l 72 0 72 0 ;s @local1 @ col: >l 72 0 72 0 ;s @local1 @ col: 72 0 72 0 ;s @local1 @ 72 0 72 0 ;s @local1 ! lp+ ;s 72 0 72 0 ;s @local1 ! lp+ 72 0 72 0 ;s @local1 ! 72 0 72 0 ! ;s lp+ ;s @local1 @ 71 71 0 0 does-code! ;s ;s ;s col: 71 71 0 0 ;s does-code! ;s ;s ;s col: 71 71 0 0 ;s ?branch ;s ;s ;s ;s 71 64 7 0 rdrop ;s dup 71 64 7 0 ?branch rdrop ;s dup 71 6 52 13 drop ;s dup 71 6 52 13 ?branch drop ;s dup 71 16 23 32 - dup ?branch 71 0 71 0 lp- con: lit (do) 71 0 71 0 lp- @local1 col: >l lp- var: 71 0 71 0 >l lp- con: lit (do) 70 6 62 2 compare 70 6 52 12 var: @ ?branch over col: lit 70 6 52 12 var: @ ?branch over col: 70 6 52 12 var: @ ?branch over 70 6 52 12 u<> ?branch drop ;s dup col: 70 6 52 12 u<> ?branch drop ;s dup 70 6 52 12 u<> ?branch drop ;s 70 6 52 12 u<> ?branch drop 70 6 52 12 u<> ?branch 70 6 52 12 u<> 70 6 52 12 swap ! ;s con: @ col: 70 6 52 12 swap ! ;s con: @ 70 6 52 12 over - swap ! ;s con: 70 6 52 12 dup col: lit over 0<> ?branch 70 6 52 12 dup col: lit over 0<> 70 6 52 12 dup col: lit over 70 6 52 12 drop ;s dup col: lit over 70 6 52 12 drop ;s dup col: lit 70 6 52 12 drop ;s dup col: 70 6 52 12 drop ;s ;s con: ! ;s 70 6 52 12 drop ;s ;s con: ! 70 6 52 12 drop ;s ;s con: 70 6 52 12 drop ;s ;s col: col: col: 70 6 52 12 drop ;s ;s col: col: 70 6 52 12 con: @ col: 2dup u<> ?branch 70 6 52 12 con: @ col: 2dup u<> 70 6 52 12 con: ! ;s 70 6 52 12 col: 2dup u<> ?branch drop ;s 70 6 52 12 col: 2dup u<> ?branch drop 70 6 52 12 col: 2dup u<> ?branch 70 6 52 12 col: 2dup u<> 70 6 52 12 branch drop ;s ;s con: ! 70 6 52 12 branch drop ;s ;s con: 70 6 52 12 branch drop ;s ;s col: col: 70 6 52 12 @ col: 2dup u<> ?branch drop 70 6 52 12 @ col: 2dup u<> ?branch 70 6 52 12 @ col: 2dup u<> 70 6 52 12 @ ?branch over col: lit over 70 6 52 12 @ ?branch over col: lit 70 6 52 12 @ ?branch over col: 70 6 52 12 @ ?branch over 70 6 52 12 ?branch var: @ ?branch over col: 70 6 52 12 ?branch var: @ ?branch over 70 6 52 12 ?branch over col: lit over 0<> 70 6 52 12 ?branch over col: lit over 70 6 52 12 ?branch over col: lit 70 6 52 12 ?branch drop ;s dup col: lit 70 6 52 12 ?branch drop ;s dup col: 70 6 52 12 ?branch branch drop ;s ;s con: 70 6 52 12 = ?branch var: @ ?branch over 70 6 52 12 ;s dup col: lit over 0<> 70 6 52 12 ;s dup col: lit over 70 6 52 12 ;s dup col: lit 70 6 52 12 ;s con: @ col: 2dup u<> 70 6 52 12 ;s con: @ col: 2dup 70 6 52 12 ;s con: @ col: 70 6 52 12 ;s con: @ 70 6 52 12 ;s con: ! ;s 70 6 52 12 ;s con: ! 70 6 52 12 ;s ;s con: ! ;s 70 6 52 12 ;s ;s con: ! 70 6 52 12 2dup u<> ?branch drop ;s dup 70 6 52 12 2dup u<> ?branch drop ;s 70 6 52 12 2dup u<> ?branch drop 70 6 52 12 2dup u<> ?branch 70 6 52 12 2dup u<> 70 6 52 12 - swap ! ;s con: @ 70 6 52 12 - swap ! ;s con: 70 6 52 12 ! ;s con: @ col: 2dup 70 6 52 12 ! ;s con: @ col: 70 6 52 12 ! ;s con: @ 70 40 6 24 nip nip execute col: col: con: 70 40 6 24 nip execute col: col: con: 70 39 31 0 ;s swap col: col: user: @ 70 39 31 0 ;s swap col: col: user: 70 17 28 25 ;s ;s ;s lit col: 1+ 70 17 28 25 ;s ! ;s ;s ;s lit 70 17 28 25 ! ;s ;s ;s lit col: 70 17 28 25 ! ;s ;s ;s lit 70 15 49 6 swap >r dup allocate col: 70 15 49 6 swap >r dup allocate 70 15 49 6 swap >r dup 70 15 49 6 swap 2dup r> -rot move ;s 70 15 49 6 swap 2dup r> -rot move 70 15 49 6 swap 2dup r> -rot 70 15 49 6 swap 2dup r> 70 15 49 6 r> -rot move ;s 70 15 49 6 r> -rot move 70 15 49 6 r> -rot 70 15 49 6 dup allocate col: 70 15 49 6 dup allocate 70 15 49 6 col: swap >r dup allocate col: 70 15 49 6 col: swap >r dup allocate 70 15 49 6 col: swap >r dup 70 15 49 6 >r dup allocate col: 70 15 49 6 >r dup allocate 70 15 49 6 ;s swap 2dup r> -rot move 70 15 49 6 ;s swap 2dup r> -rot 70 15 49 6 ;s swap 2dup r> 70 15 49 6 2dup r> -rot move ;s 70 15 49 6 2dup r> -rot move 70 15 49 6 2dup r> -rot 70 15 49 6 -rot move ;s 70 15 49 6 -rot move 70 0 70 0 lp- lit @local1 70 0 70 0 lp- lit 70 0 70 0 col: >l lp- lit @local1 70 0 70 0 col: >l lp- lit 70 0 70 0 >l lp- lit @local1 70 0 70 0 >l lp- lit 69 67 1 1 nip execute col: var: col: con: 69 67 1 1 execute col: var: col: con: swap 69 67 1 1 execute col: var: col: con: 69 31 27 11 ?branch ;s swap 69 17 27 25 rdrop ;s ;s over col: lit 69 17 27 25 rdrop ;s ;s over col: 69 17 27 25 ?branch rdrop ;s ;s over col: 69 17 27 25 ?branch ;s col: var: col: con: 69 17 27 25 ?branch ;s col: var: col: 69 17 27 25 = ;s 0= ?branch ;s col: 69 17 27 25 ;s over col: lit over 0<> 69 17 27 25 ;s over col: lit over 69 17 27 25 ;s over col: lit 69 17 27 25 ;s col: con: @ col: 2dup 69 17 27 25 ;s ;s over col: lit over 69 17 27 25 ;s ;s over col: lit 69 17 27 25 ;s ;s col: con: @ col: 69 17 27 25 ;s ;s col: con: @ 69 17 27 25 ;s ! ;s ;s col: con: 69 17 27 25 0= ?branch ;s col: var: col: 69 17 27 25 ! ;s ;s col: con: @ 69 17 27 25 ! ;s ;s col: con: 69 0 69 0 field: @ col: >l 69 0 69 0 drop + >r ;s @local0 field: 69 0 69 0 drop + >r ;s @local0 69 0 69 0 >r ;s @local0 field: 69 0 69 0 >r ;s @local0 69 0 69 0 ;s drop + >r ;s @local0 69 0 69 0 + >r ;s @local0 field: 69 0 69 0 + >r ;s @local0 68 20 20 28 var: <= ?branch con: - dup 68 20 20 28 var: <= ?branch con: - 68 20 20 28 var: <= ?branch con: 68 20 20 28 var: ! ;s over r@ u>= 68 20 20 28 var: ! ;s over r@ 68 20 20 28 var: ! ;s over 68 20 20 28 swap var: ! ;s over r@ 68 20 20 28 swap var: ! ;s over 68 20 20 28 swap var: ! ;s 68 20 20 28 swap var: ! 68 20 20 28 dup var: <= ?branch con: - 68 20 20 28 dup var: <= ?branch con: 68 20 20 28 dup @ swap var: ! ;s 68 20 20 28 dup @ swap var: ! 68 20 20 28 dup @ swap var: 68 20 20 28 con: - dup @ swap var: 68 20 20 28 @ swap var: ! ;s over 68 20 20 28 @ swap var: ! ;s 68 20 20 28 @ swap var: ! 68 20 20 28 @ swap var: 68 20 20 28 @ dup var: <= ?branch con: 68 20 20 28 ?branch con: - dup @ swap 68 20 20 28 ?branch con: - dup @ 68 20 20 28 ?branch con: - dup 68 20 20 28 ?branch con: - 68 20 20 28 <= ?branch con: - dup @ 68 20 20 28 <= ?branch con: - dup 68 20 20 28 <= ?branch con: - 68 20 20 28 <= ?branch con: 68 20 20 28 - dup @ swap var: ! 68 20 20 28 - dup @ swap var: 68 20 20 28 ! ;s over r@ u>= ?branch 68 20 20 28 ! ;s over r@ u>= 68 20 20 28 ! ;s over r@ 68 16 27 25 col: col: col: con: <> col: 68 16 27 25 col: col: col: con: <> 68 0 68 0 branch >l lp- @local1 ?branch lp+2 68 0 68 0 @ col: >l lp- 68 0 0 68 ;s + @ execute col: col: 68 0 0 68 + @ execute col: col: 67 42 1 24 ! ;s ;s ;s swap 67 29 27 11 col: ?dup ?branch ;s swap 2dup 67 29 27 11 col: ?dup ?branch ;s swap 67 29 27 11 ?dup ?branch ;s swap 2dup 67 29 27 11 ?dup ?branch ;s swap 67 29 27 11 ?branch ;s swap 2dup 67 0 67 0 swap ! ;s @local1 i col: 67 0 67 0 swap ! ;s @local1 i 67 0 67 0 con: swap ! ;s @local1 i 67 0 67 0 @local1 field: @local1 field: 67 0 67 0 @local1 field: @local1 67 0 67 0 @ <> ?branch var: col: con: 67 0 67 0 @ <> ?branch var: col: 67 0 67 0 @ <> ?branch var: 67 0 67 0 <> ?branch var: col: con: swap 67 0 67 0 <> ?branch var: col: con: 67 0 67 0 <> ?branch var: col: 67 0 67 0 <> ?branch var: 67 0 67 0 ;s @local1 i col: cells + 67 0 67 0 ;s @local1 i col: cells 67 0 67 0 ;s @local1 i col: 67 0 67 0 ;s @local1 i 67 0 67 0 ;s @ <> ?branch var: col: 67 0 67 0 ;s @ <> ?branch var: 67 0 67 0 + ;s @ <> ?branch var: 67 0 67 0 ! ;s @local1 i col: cells 67 0 67 0 ! ;s @local1 i col: 67 0 67 0 ! ;s @local1 i 66 57 0 9 ?branch ;s ;s col: col: 66 42 0 24 swap ! ;s ;s ;s swap 66 42 0 24 noop ;s ;s ;s branch col: 66 42 0 24 noop ;s ;s ;s branch 66 42 0 24 noop ;s ;s ;s 66 42 0 24 defer: noop ;s ;s ;s branch 66 42 0 24 defer: noop ;s ;s ;s 66 42 0 24 ;s defer: noop ;s ;s ;s 66 42 0 24 ;s ;s swap ! ;s ;s 66 42 0 24 ;s ;s swap ! ;s 66 42 0 24 ;s ;s swap ! 66 42 0 24 ;s ;s ;s swap ! ;s 66 42 0 24 ;s ;s ;s swap ! 66 42 0 24 ! ;s ;s ;s swap ! 66 21 24 21 branch dup @ dup ?branch nip 66 19 33 14 lit col: >r dup ?branch over 66 19 33 14 lit col: >r dup ?branch 66 0 1 65 ?branch swap 66 0 0 66 dup var: 2@ col: drop swap 66 0 0 66 dup var: 2@ col: drop 66 0 0 66 dup var: 2@ col: 66 0 0 66 dup var: 2@ 66 0 0 66 does: @ + ;s @ dup 66 0 0 66 defer: (type) ;s 1+ var: 2@ 66 0 0 66 defer: (type) ;s 1+ var: 66 0 0 66 defer: (type) ;s 1+ 66 0 0 66 count defer: (type) ;s 1+ var: 66 0 0 66 count defer: (type) ;s 1+ 66 0 0 66 @ dup var: 2@ col: drop 66 0 0 66 @ dup var: 2@ col: 66 0 0 66 @ dup var: 2@ 66 0 0 66 @ + ;s @ dup var: 66 0 0 66 @ + ;s @ dup 66 0 0 66 ;s count defer: (type) ;s 1+ 66 0 0 66 ;s @ dup var: 2@ col: 66 0 0 66 ;s @ dup var: 2@ 66 0 0 66 ;s 1+ var: 2@ col: drop 66 0 0 66 ;s 1+ var: 2@ col: 66 0 0 66 ;s 1+ var: 2@ 66 0 0 66 ;s 1+ var: 66 0 0 66 ;s 1+ 66 0 0 66 1+ var: 2@ col: drop swap 66 0 0 66 1+ var: 2@ col: drop 66 0 0 66 1+ var: 2@ col: 66 0 0 66 + ;s @ dup var: 2@ 66 0 0 66 (type) ;s 1+ var: 2@ col: 66 0 0 66 (type) ;s 1+ var: 2@ 66 0 0 66 (type) ;s 1+ var: 66 0 0 66 (type) ;s 1+ 65 34 23 8 c! ;s ;s ;s branch col: 65 34 23 8 c! ;s ;s ;s branch 65 0 65 0 execute col: >l >l @local0 @local1 65 0 0 65 swap drop 65 0 0 65 col: swap (?do) unloop ;s ;s 65 0 0 65 ?branch swap drop 65 0 0 65 (?do) unloop ;s var: 2! ;s 65 0 0 65 (?do) unloop ;s ;s col: var: 64 64 0 0 >r ?branch rdrop ;s dup 64 64 0 0 ;s >r ?branch rdrop ;s dup 64 23 32 9 nip execute col: lit col: user: 64 23 32 9 execute col: lit col: user: @ 64 23 32 9 execute col: lit col: user: 64 19 17 28 ! ;s ;s r> 64 16 27 21 nip execute col: col: col: con: 64 16 27 21 execute col: col: col: con: 64 13 16 35 ;s ;s r> r> 64 0 64 0 swap lp+ branch >l >l @local1 64 0 64 0 swap lp+ branch >l >l 64 0 64 0 swap lp+ branch >l 64 0 64 0 swap lp+ branch 64 0 64 0 swap lp+ 64 0 64 0 nip nip execute col: >l >l 64 0 64 0 nip nip execute col: >l 64 0 64 0 nip execute col: >l >l 64 0 64 0 nip execute col: >l 64 0 64 0 lp+ branch >l >l @local1 col: 64 0 64 0 lp+ ;s ?branch @local0 1+ swap 64 0 64 0 lp+ ;s ?branch @local0 1+ 64 0 64 0 lp+ ;s ?branch @local0 64 0 64 0 branch >l >l @local1 col: >l 64 0 64 0 branch >l >l @local1 col: 64 0 64 0 @local1 @ lp+ ;s ?branch @local0 64 0 64 0 @local0 1+ swap lp+ branch >l 64 0 64 0 @local0 1+ swap lp+ branch 64 0 64 0 @local0 1+ swap lp+ 64 0 64 0 @local0 1+ swap 64 0 64 0 @ lp+ ;s ?branch @local0 1+ 64 0 64 0 @ lp+ ;s ?branch @local0 64 0 64 0 ?branch nip nip execute col: >l 64 0 64 0 ?branch @local0 1+ swap lp+ branch 64 0 64 0 ?branch @local0 1+ swap lp+ 64 0 64 0 ?branch @local0 1+ swap 64 0 64 0 ;s ?branch @local0 1+ swap lp+ 64 0 64 0 ;s ?branch @local0 1+ swap 64 0 64 0 ;s ?branch @local0 1+ 64 0 64 0 1+ swap lp+ branch >l >l 64 0 64 0 1+ swap lp+ branch >l 64 0 64 0 1+ swap lp+ branch 64 0 64 0 1+ swap lp+ 64 0 64 0 1+ swap 64 0 0 64 swap +! ;s ;s ;s ?branch 64 0 0 64 ;s ;s ;s ?branch 64 0 0 64 +! ;s ;s ;s ?branch 63 63 0 0 ;s ;s col: dup @ con: 63 63 0 0 ;s ;s col: dup @ 63 63 0 0 ;s ;s ;s col: dup @ 63 19 21 23 col: lit lit col: 62 62 0 0 rdrop ;s dup col: ;s @ 62 62 0 0 rdrop ;s dup col: ;s 62 62 0 0 rdrop ;s dup col: 62 62 0 0 rdrop ;s col: cell+ ;s @ 62 62 0 0 rdrop ;s col: cell+ ;s 62 62 0 0 rdrop ;s col: cell+ 62 62 0 0 r> ;s 0= col: col: r> 62 62 0 0 r> ;s 0= col: col: 62 62 0 0 r> ;s 0= col: 62 62 0 0 r> ;s 0= 62 62 0 0 nip r> ;s 0= col: col: 62 62 0 0 nip r> ;s 0= col: 62 62 0 0 nip r> ;s 0= 62 62 0 0 con: = col: col: r> r> 62 62 0 0 con: = col: col: r> 62 62 0 0 con: = col: col: 62 62 0 0 con: = col: 62 62 0 0 col: cell+ ;s @ ;s 62 62 0 0 col: ;s @ con: = col: 62 62 0 0 cell+ ;s @ ;s 62 62 0 0 branch ;s ;s user: @ 0= 62 62 0 0 branch ;s ;s user: @ 62 62 0 0 branch ;s ;s user: 62 62 0 0 @ con: = col: col: r> 62 62 0 0 @ con: = col: col: 62 62 0 0 @ con: = col: 62 62 0 0 ?branch rdrop ;s dup col: ;s 62 62 0 0 ?branch rdrop ;s dup col: 62 62 0 0 ?branch rdrop ;s col: cell+ ;s 62 62 0 0 ?branch rdrop ;s col: cell+ 62 62 0 0 ?branch rdrop ;s col: 62 62 0 0 >r ?branch rdrop ;s dup col: 62 62 0 0 >r ?branch rdrop ;s col: cell+ 62 62 0 0 >r ?branch rdrop ;s col: 62 62 0 0 >r >body nip r> ;s 0= 62 62 0 0 >body nip r> ;s 0= col: 62 62 0 0 >body nip r> ;s 0= 62 62 0 0 = col: col: r> r> dup 62 62 0 0 = col: col: r> r> 62 62 0 0 = col: col: r> 62 62 0 0 = col: col: 62 62 0 0 = col: 62 62 0 0 ;s dup col: ;s @ con: 62 62 0 0 ;s dup col: ;s @ 62 62 0 0 ;s col: cell+ ;s @ ;s 62 62 0 0 ;s col: cell+ ;s @ 62 62 0 0 ;s col: cell+ ;s 62 62 0 0 ;s branch ;s ;s user: @ 62 62 0 0 ;s branch ;s ;s user: 62 62 0 0 ;s @ con: = col: col: 62 62 0 0 ;s @ con: = col: 62 62 0 0 ;s >r ?branch rdrop ;s col: 62 62 0 0 ;s ;s branch ;s ;s user: 62 62 0 0 2drop ;s ;s ;s branch col: 62 59 1 2 user: ! user: ! user: col: 62 59 1 2 user: ! user: ! user: 62 59 1 2 ! user: ! user: col: con: 62 59 1 2 ! user: ! user: col: 62 59 1 2 ! user: ! user: 62 19 29 14 nip execute col: var: @ ?branch 62 19 29 14 execute col: var: @ ?branch 62 0 62 0 swap col: col: user: @ ;s 62 0 62 0 @local1 field: ! 62 0 62 0 @local0 branch lp+ ;s dup @local1 62 0 62 0 @local0 branch lp+ ;s dup 62 0 62 0 ?branch @local0 branch lp+ ;s dup 61 4 36 21 var: r@ cmove var: r> ;s 61 4 36 21 var: r@ cmove var: r> 61 4 36 21 var: r@ cmove var: 61 4 36 21 var: r@ cmove 61 4 36 21 var: r> ;s 61 4 36 21 var: r> 61 4 36 21 r@ cmove var: r> ;s 61 4 36 21 r@ cmove var: r> 61 4 36 21 r@ cmove var: 61 4 36 21 r@ cmove 61 4 36 21 cmove var: r> ;s 61 4 36 21 cmove var: r> 61 4 36 21 >r var: r@ cmove var: r> 61 4 36 21 >r var: r@ cmove var: 61 4 36 21 >r var: r@ cmove 61 4 36 21 >r var: r@ 61 17 21 23 col: lit lit col: >r 61 15 21 25 >r lit col: 61 14 42 5 r> -rot move ;s col: 61 14 42 5 2dup r> -rot move ;s col: 61 14 42 5 2! ;s var: 61 14 42 5 -rot move ;s col: 61 13 16 32 drop col: var: 61 0 61 0 unloop lp+ ;s lp+ ;s lp+ 61 0 61 0 lp- lit @local1 >l >l @local1 61 0 61 0 lp- lit @local1 >l >l 61 0 61 0 lp- lit @local1 >l 61 0 61 0 lit @local1 >l >l @local1 61 0 61 0 lit @local1 >l >l 61 0 61 0 lit @local1 >l 61 0 61 0 lit (do) @local0 i col: cells 61 0 61 0 lit (do) @local0 i col: 61 0 61 0 lit (do) @local0 i 61 0 61 0 lit (do) @local0 61 0 61 0 field: col: >l >l con: lit 61 0 61 0 field: col: >l >l con: 61 0 61 0 field: @ col: >l lp- lit 61 0 61 0 field: @ col: >l lp- 61 0 61 0 execute col: >l >l @local0 col: 61 0 61 0 drop + >r ;s @local1 col: 61 0 61 0 con: lit (do) @local0 i col: 61 0 61 0 con: lit (do) @local0 i 61 0 61 0 con: lit (do) @local0 61 0 61 0 col: >l lp- lit @local1 >l 61 0 61 0 col: >l lp- con: 61 0 61 0 col: >l >l con: lit (do) 61 0 61 0 col: >l >l con: lit 61 0 61 0 col: >l >l con: 61 0 61 0 @local1 field: col: >l >l con: 61 0 61 0 @local1 >l >l @local1 61 0 61 0 @local1 >l >l 61 0 61 0 @local0 lp+2 ;s 61 0 61 0 @local0 lp+2 61 0 61 0 @local0 field: @local1 field: col: >l 61 0 61 0 @local0 field: @local1 field: col: 61 0 61 0 @local0 field: @local1 field: 61 0 61 0 @local0 field: @local1 61 0 61 0 @local0 col: >l lp- var: @ 61 0 61 0 @local0 col: >l lp- var: 61 0 61 0 @ col: >l lp- lit @local1 61 0 61 0 @ col: >l lp- lit 61 0 61 0 >r ;s @local1 col: >l lp- 61 0 61 0 >r ;s @local1 col: >l 61 0 61 0 >r ;s @local1 col: 61 0 61 0 >r ;s @local0 field: @local1 field: 61 0 61 0 >r ;s @local0 field: @local1 61 0 61 0 >l lp- lit @local1 >l >l 61 0 61 0 >l lp- lit @local1 >l 61 0 61 0 >l con: lit (do) @local0 i 61 0 61 0 >l con: lit (do) @local0 61 0 61 0 >l con: lit (do) 61 0 61 0 >l con: lit 61 0 61 0 >l con: 61 0 61 0 >l @local0 col: >l lp- var: 61 0 61 0 >l >l con: lit (do) @local0 61 0 61 0 >l >l con: lit (do) 61 0 61 0 >l >l con: lit 61 0 61 0 >l >l con: 61 0 61 0 ;s @local1 col: >l lp- var: 61 0 61 0 ;s @local0 field: @local1 field: col: 61 0 61 0 ;s @local0 field: @local1 field: 61 0 61 0 ;s @local0 field: @local1 61 0 61 0 + >r ;s @local1 col: >l 61 0 61 0 + >r ;s @local1 col: 61 0 61 0 + >r ;s @local0 field: @local1 61 0 61 0 (do) @local0 i col: cells + 61 0 61 0 (do) @local0 i col: cells 61 0 61 0 (do) @local0 i col: 61 0 61 0 (do) @local0 i 61 0 61 0 (do) @local0 61 0 61 0 ! (loop) unloop lp+ ;s lp+ 61 0 0 61 var: @ does: @ + ;s 61 0 0 61 var: @ does: @ + 61 0 0 61 var: @ does: @ 61 0 0 61 var: @ does: 61 0 0 61 swap does: @ + ;s ! 61 0 0 61 swap does: @ + ;s 61 0 0 61 swap does: @ + 61 0 0 61 swap does: @ 61 0 0 61 r@ = ?branch does: @ + 61 0 0 61 r@ = ?branch does: @ 61 0 0 61 r@ = ?branch does: 61 0 0 61 execute var: @ does: @ + 61 0 0 61 execute var: @ does: @ 61 0 0 61 execute var: @ does: 61 0 0 61 dup r@ = ?branch does: @ 61 0 0 61 dup r@ = ?branch does: 61 0 0 61 does: @ + ;s @ swap 61 0 0 61 does: @ + ;s @ r@ 61 0 0 61 does: @ + ;s @ = 61 0 0 61 does: @ + ;s ! branch 61 0 0 61 branch ;s con: (+loop) 61 0 0 61 branch ;s con: 61 0 0 61 @ swap does: @ + ;s 61 0 0 61 @ swap does: @ + 61 0 0 61 @ swap does: @ 61 0 0 61 @ swap does: 61 0 0 61 @ r@ does: @ + ;s 61 0 0 61 @ r@ does: @ + 61 0 0 61 @ r@ does: @ 61 0 0 61 @ r@ does: 61 0 0 61 @ dup r@ = ?branch does: 61 0 0 61 @ does: @ + ;s @ 61 0 0 61 @ = rdrop ;s ?branch r@ 61 0 0 61 @ = rdrop ;s ?branch 61 0 0 61 @ = rdrop ;s 61 0 0 61 @ = rdrop 61 0 0 61 @ + ;s @ swap does: 61 0 0 61 @ + ;s @ swap 61 0 0 61 @ + ;s @ r@ does: 61 0 0 61 @ + ;s @ r@ 61 0 0 61 @ + ;s @ = rdrop 61 0 0 61 @ + ;s @ = 61 0 0 61 @ + ;s ! branch ;s 61 0 0 61 @ + ;s ! branch 61 0 0 61 ?branch execute var: @ does: @ 61 0 0 61 ?branch execute var: @ does: 61 0 0 61 ?branch execute var: @ 61 0 0 61 ?branch does: @ + ;s @ 61 0 0 61 ?branch does: @ + ;s 61 0 0 61 ?branch does: @ + 61 0 0 61 = rdrop ;s ?branch r@ col: 61 0 0 61 = rdrop ;s ?branch r@ 61 0 0 61 = rdrop ;s ?branch 61 0 0 61 = rdrop ;s 61 0 0 61 = rdrop 61 0 0 61 = ?branch does: @ + ;s 61 0 0 61 = ?branch does: @ + 61 0 0 61 = ?branch does: @ 61 0 0 61 = ?branch does: 61 0 0 61 ;s @ swap does: @ + 61 0 0 61 ;s @ swap does: @ 61 0 0 61 ;s @ swap does: 61 0 0 61 ;s @ r@ does: @ + 61 0 0 61 ;s @ r@ does: @ 61 0 0 61 ;s @ r@ does: 61 0 0 61 ;s @ r@ 61 0 0 61 ;s @ = rdrop ;s ?branch 61 0 0 61 ;s @ = rdrop ;s 61 0 0 61 ;s @ = rdrop 61 0 0 61 ;s @ = 61 0 0 61 ;s ?branch execute var: @ does: 61 0 0 61 ;s ?branch execute var: @ 61 0 0 61 ;s ;s ?branch execute var: @ 61 0 0 61 ;s ! branch ;s con: (+loop) 61 0 0 61 ;s ! branch ;s con: 61 0 0 61 ;s ! branch ;s 61 0 0 61 ;s ! branch 61 0 0 61 + ;s @ swap does: @ 61 0 0 61 + ;s @ swap does: 61 0 0 61 + ;s @ r@ does: @ 61 0 0 61 + ;s @ r@ does: 61 0 0 61 + ;s @ r@ 61 0 0 61 + ;s @ = rdrop ;s 61 0 0 61 + ;s @ = rdrop 61 0 0 61 + ;s @ = 61 0 0 61 + ;s ! branch ;s con: 61 0 0 61 + ;s ! branch ;s 61 0 0 61 + ;s ! branch 61 0 0 61 ! branch ;s con: (+loop) 61 0 0 61 ! branch ;s con: 60 60 0 0 cell+ cell+ ;s ! ;s lit 60 60 0 0 cell+ ;s ! ;s lit col: 60 60 0 0 cell+ ;s ! ;s lit 60 6 1 53 execute drop ;s branch col: 60 6 1 53 execute drop ;s branch 60 6 1 53 execute drop ;s 60 6 1 53 execute drop 60 6 1 53 drop ;s branch col: 60 5 44 11 con: ! ;s ;s 60 5 44 11 ;s con: ! ;s ;s 60 5 44 11 ;s ;s con: ! ;s ;s 60 4 35 21 var: r> ;s ;s branch col: 60 4 35 21 var: r> ;s ;s branch 60 4 35 21 var: r> ;s ;s 60 4 35 21 user: @ ?branch con: min >r 60 4 35 21 user: @ ?branch con: min 60 4 35 21 user: @ ?branch con: 60 4 35 21 r@ cmove var: r> ;s ;s 60 4 35 21 min >r var: r@ cmove var: 60 4 35 21 min >r var: r@ cmove 60 4 35 21 min >r var: r@ 60 4 35 21 min >r var: 60 4 35 21 min >r 60 4 35 21 con: min >r var: r@ cmove 60 4 35 21 con: min >r var: r@ 60 4 35 21 con: min >r var: 60 4 35 21 con: min >r 60 4 35 21 con: min 60 4 35 21 cmove var: r> ;s ;s branch 60 4 35 21 cmove var: r> ;s ;s 60 4 35 21 @ ?branch con: min >r var: 60 4 35 21 @ ?branch con: min >r 60 4 35 21 @ ?branch con: min 60 4 35 21 ?branch con: min >r var: r@ 60 4 35 21 ?branch con: min >r var: 60 4 35 21 ?branch con: min >r 60 4 35 21 ?branch con: min 60 4 35 21 ;s user: @ ?branch con: min 60 4 35 21 ;s user: @ ?branch con: 60 4 35 21 +! ;s user: @ ?branch con: 60 37 17 6 var: + @ user: ! lit 60 37 17 6 var: + @ user: ! 60 37 17 6 var: + @ user: 60 37 17 6 var: + @ 60 37 17 6 user: ! lit /string branch ;s 60 37 17 6 user: ! lit /string branch 60 37 17 6 user: ! lit /string 60 37 17 6 u< ?branch cells var: + @ 60 37 17 6 u< ?branch cells var: + 60 37 17 6 u< ?branch cells var: 60 37 17 6 u< ?branch cells 60 37 17 6 lit u< ?branch cells var: + 60 37 17 6 lit u< ?branch cells var: 60 37 17 6 lit u< ?branch cells 60 37 17 6 lit /string branch ;s user: col: 60 37 17 6 lit /string branch ;s user: 60 37 17 6 lit /string branch ;s 60 37 17 6 dup lit u< ?branch cells var: 60 37 17 6 dup lit u< ?branch cells 60 37 17 6 cells var: + @ user: ! 60 37 17 6 cells var: + @ user: 60 37 17 6 cells var: + @ 60 37 17 6 cells var: + 60 37 17 6 branch ;s user: col: con: swap 60 37 17 6 branch ;s user: col: con: 60 37 17 6 branch ;s user: col: 60 37 17 6 @ user: ! lit /string branch 60 37 17 6 @ user: ! lit /string 60 37 17 6 @ user: ! lit 60 37 17 6 ?branch cells var: + @ user: 60 37 17 6 ?branch cells var: + @ 60 37 17 6 ?branch cells var: + 60 37 17 6 ?branch cells var: 60 37 17 6 ?branch cells 60 37 17 6 /string branch ;s user: col: con: 60 37 17 6 /string branch ;s user: col: 60 37 17 6 /string branch ;s user: 60 37 17 6 /string branch ;s 60 37 17 6 - dup lit u< ?branch cells 60 37 17 6 + @ user: ! lit /string 60 37 17 6 + @ user: ! lit 60 37 17 6 + @ user: ! 60 37 17 6 + @ user: 60 37 17 6 ! lit /string branch ;s user: 60 37 17 6 ! lit /string branch ;s 60 37 17 6 ! lit /string branch 60 37 17 6 ! lit /string 60 19 26 15 ;s ;s ;s var: @ 60 15 18 27 user: @ lit pick col: lit 60 15 18 27 user: @ lit pick col: 60 15 18 27 user: @ lit pick 60 15 18 27 r> col: col: col: col: user: 60 15 18 27 r> col: col: col: col: 60 15 18 27 pick col: lit over 0<> ?branch 60 15 18 27 pick col: lit over 0<> 60 15 18 27 pick col: lit over 60 15 18 27 pick col: lit 60 15 18 27 nip ;s - dup ?branch 60 15 18 27 nip ;s - dup 60 15 18 27 nip ;s - 60 15 18 27 lit pick col: lit over 0<> 60 15 18 27 lit pick col: lit over 60 15 18 27 lit pick col: lit 60 15 18 27 lit lit col: >r >r 60 15 18 27 lit col: >r >r 60 15 18 27 faligned nip ;s - dup ?branch 60 15 18 27 faligned nip ;s - dup 60 15 18 27 faligned nip ;s - 60 15 18 27 drop r> col: col: col: col: 60 15 18 27 drop r> col: col: col: 60 15 18 27 drop r> col: col: 60 15 18 27 drop r> col: 60 15 18 27 col: >r >r user: @ lit 60 15 18 27 col: >r >r user: @ 60 15 18 27 col: >r >r user: 60 15 18 27 @ lit pick col: lit over 60 15 18 27 @ lit pick col: lit 60 15 18 27 @ lit pick col: 60 15 18 27 ?branch faligned nip ;s - dup 60 15 18 27 ?branch faligned nip ;s - 60 15 18 27 >r user: @ lit pick col: 60 15 18 27 >r user: @ lit pick 60 15 18 27 >r user: @ lit 60 15 18 27 >r >r user: @ lit pick 60 15 18 27 >r >r user: @ lit 60 15 18 27 = ;s 0= ?branch ;s ;s 60 15 18 27 ;s - dup ?branch 60 15 18 27 ;s - dup 60 15 18 27 0<> ?branch faligned nip ;s - 60 0 60 0 user: @ ;s @ swap col: 60 0 60 0 user: @ ;s @ swap 60 0 60 0 user: @ ;s ! drop ;s 60 0 60 0 user: @ ;s ! drop 60 0 60 0 user: @ ;s ! 60 0 60 0 swap invert and ;s col: user: 60 0 60 0 swap invert and ;s col: 60 0 60 0 swap col: 1- tuck + swap 60 0 60 0 swap col: 1- tuck + 60 0 60 0 swap col: 1- tuck 60 0 60 0 swap col: 1- 60 0 60 0 invert and ;s col: user: @ 60 0 60 0 invert and ;s col: user: 60 0 60 0 invert and ;s col: 60 0 60 0 col: user: @ ;s @ swap 60 0 60 0 col: user: @ ;s ! drop 60 0 60 0 col: user: @ ;s ! 60 0 60 0 col: >l lp- con: lit 60 0 60 0 and ;s col: user: @ ;s 60 0 60 0 and ;s col: user: @ 60 0 60 0 and ;s col: user: 60 0 60 0 and ;s col: 60 0 60 0 @local0 field: col: 60 0 60 0 @ swap col: 1- tuck + 60 0 60 0 @ swap col: 1- tuck 60 0 60 0 @ swap col: 1- 60 0 60 0 @ ;s @ swap col: 1- 60 0 60 0 @ ;s @ swap col: 60 0 60 0 @ ;s @ swap 60 0 60 0 @ ;s ! drop ;s col: 60 0 60 0 @ ;s ! drop ;s 60 0 60 0 @ ;s ! drop 60 0 60 0 @ ;s ! 60 0 60 0 ;s col: user: @ ;s ! 60 0 60 0 ;s col: user: @ ;s 60 0 60 0 ;s @ swap col: 1- tuck 60 0 60 0 ;s @ swap col: 1- 60 0 60 0 ;s ! drop ;s col: col: 60 0 60 0 ;s ! drop ;s col: 60 0 60 0 ;s ! drop ;s 60 0 60 0 ;s ! drop 60 0 60 0 + swap invert and ;s col: 60 0 60 0 ! drop ;s col: col: user: 60 0 60 0 ! drop ;s col: col: 60 0 60 0 ! drop ;s col: 59 58 1 0 >r ;s col: 59 58 0 1 user: ! execute col: col: sp@ 59 58 0 1 swap ! ;s lit user: ! 59 58 0 1 swap ! ;s lit user: 59 58 0 1 lit user: ! lit col: >r 59 58 0 1 lit user: ! lit col: 59 58 0 1 lit user: ! lit 59 58 0 1 execute col: col: sp@ user: @ 59 58 0 1 execute col: col: sp@ user: 59 58 0 1 execute col: col: sp@ 59 58 0 1 con: swap ! ;s lit user: 59 58 0 1 >r >r ;s user: ! user: 59 58 0 1 >r ;s user: ! user: ! 59 58 0 1 >r ;s user: ! user: 59 58 0 1 ;s user: ! user: ! user: 59 58 0 1 ;s lit user: ! lit col: 59 58 0 1 ;s lit user: ! lit 59 58 0 1 ! execute col: col: sp@ user: 59 58 0 1 ! execute col: col: sp@ 59 58 0 1 ! ;s lit user: ! lit 59 17 18 24 ! ;s ;s drop 59 15 17 27 r> drop col: con: @ col: 59 15 17 27 r> drop col: con: @ 59 15 17 27 r> drop col: con: 59 15 17 27 r> drop col: 59 15 17 27 nip ;s - dup ?branch drop 59 15 17 27 dup ?branch drop r> col: col: 59 15 17 27 dup ?branch drop r> col: 59 15 17 27 drop col: con: @ col: 2dup 59 15 17 27 drop col: con: @ col: 59 15 17 27 drop col: con: @ 59 15 17 27 drop col: con: 59 15 17 27 ?branch drop r> col: col: col: 59 15 17 27 ?branch drop r> col: col: 59 15 17 27 ?branch drop r> col: 59 15 17 27 ;s r> drop col: con: @ 59 15 17 27 ;s r> drop col: con: 59 15 17 27 ;s r> drop col: 59 15 17 27 ;s r> drop 59 15 17 27 ;s ;s r> drop col: con: 59 15 17 27 ;s ;s r> drop col: 59 15 17 27 ;s ;s r> drop 59 15 17 27 ;s - dup ?branch drop r> 59 15 17 27 ;s - dup ?branch drop 59 15 17 27 ;s ! ;s ;s r> drop 59 15 17 27 ;s ! ;s ;s r> 59 15 17 27 - dup ?branch drop r> col: 59 15 17 27 - dup ?branch drop r> 59 15 17 27 - dup ?branch drop 59 15 17 27 +! ;s ! ;s ;s r> 59 15 17 27 ! ;s ;s r> drop col: 59 15 17 27 ! ;s ;s r> drop 59 15 17 27 ! ;s ;s ;s col: col: 59 0 18 41 swap (?do) unloop ;s lit col: 59 0 18 41 swap (?do) unloop ;s lit 59 0 18 41 faligned swap (?do) unloop ;s lit 59 0 18 41 (?do) unloop ;s lit col: user: 59 0 18 41 (?do) unloop ;s lit col: 59 0 18 41 (?do) unloop ;s lit 59 0 0 59 rot col: col: col: user: @ 59 0 0 59 rot col: col: col: user: 59 0 0 59 rot col: col: col: 59 0 0 59 r@ execute col: var: col: col: 59 0 0 59 r@ execute col: var: col: 59 0 0 59 r@ execute col: var: 59 0 0 59 over 0= 0= ?branch r@ execute 59 0 0 59 over 0= 0= ?branch r@ 59 0 0 59 drop ;s swap 59 0 0 59 branch over 0= 0= ?branch 59 0 0 59 branch over 0= 0= 59 0 0 59 branch over 0= 59 0 0 59 ?branch r@ execute col: var: col: 59 0 0 59 ?branch r@ execute col: var: 59 0 0 59 ?branch r@ execute col: 59 0 0 59 ?branch r@ execute 59 0 0 59 ;s rot col: col: col: user: 59 0 0 59 ;s rot col: col: col: 59 0 0 59 ;s rot col: col: 59 0 0 59 ;s branch over 0= 0= ?branch 59 0 0 59 ;s branch over 0= 0= 59 0 0 59 ;s branch over 0= 59 0 0 59 ;s branch over 59 0 0 59 ;s ;s rot col: col: col: 59 0 0 59 ;s ;s rot col: col: 59 0 0 59 ;s ;s rot col: 59 0 0 59 ;s ;s branch over 0= 0= 59 0 0 59 ;s ;s branch over 0= 59 0 0 59 ;s ;s branch over 59 0 0 59 ;s ;s ;s branch over 0= 59 0 0 59 ;s ;s ;s branch over 59 0 0 59 ;s 2! ;s ;s rot col: 59 0 0 59 ;s 2! ;s ;s rot 59 0 0 59 2! ;s ;s rot col: col: 59 0 0 59 2! ;s ;s rot col: 59 0 0 59 2! ;s ;s rot 59 0 0 59 0= ?branch r@ execute col: var: 59 0 0 59 0= ?branch r@ execute col: 59 0 0 59 0= ?branch r@ execute 59 0 0 59 0= ?branch r@ 59 0 0 59 0= 0= ?branch r@ execute col: 59 0 0 59 0= 0= ?branch r@ execute 59 0 0 59 0= 0= ?branch r@ 59 0 0 59 +! ;s 2! ;s ;s rot 59 0 0 59 ! ;s ;s ;s branch over 58 58 0 0 user: ! >r ;s col: ?dup 58 58 0 0 user: ! >r ;s col: 58 58 0 0 unloop 2drop ;s ;s ;s lit 58 58 0 0 rdrop rdrop rdrop lit ;s col: 58 58 0 0 rdrop rdrop lit ;s col: dup 58 58 0 0 rdrop rdrop lit ;s col: 58 58 0 0 rdrop lit ;s col: dup ?branch 58 58 0 0 rdrop lit ;s col: dup 58 58 0 0 rdrop lit ;s col: 58 58 0 0 rdrop ;s ;s ;s col: col: 58 58 0 0 r> user: ! >r ;s col: 58 58 0 0 lit ;s col: dup ?branch r> 58 58 0 0 lit ;s col: dup ?branch 58 58 0 0 lit ;s col: dup 58 58 0 0 dup ?branch 2drop ;s r> user: 58 58 0 0 dup ?branch 2drop ;s r> 58 58 0 0 ?branch 2drop ;s r> user: ! 58 58 0 0 ?branch 2drop ;s r> user: 58 58 0 0 ?branch 2drop ;s r> 58 58 0 0 >r ;s col: ?dup ?branch ;s 58 58 0 0 >r ;s col: ?dup ?branch 58 58 0 0 >r ;s col: ?dup 58 58 0 0 ;s dup ?branch 2drop ;s r> 58 58 0 0 ;s col: dup ?branch r> r> 58 58 0 0 ;s col: dup ?branch r> 58 58 0 0 ;s col: dup ?branch 58 58 0 0 ;s ;s ;s ;s ;s swap 58 58 0 0 2drop ;s r> user: ! rdrop 58 58 0 0 2drop ;s r> user: ! 58 58 0 0 2drop ;s r> user: 58 58 0 0 2drop ;s r> 58 58 0 0 2drop ;s ;s ;s lit col: 58 58 0 0 2drop ;s ;s ;s lit 58 58 0 0 ! >r ;s col: ?dup ?branch 58 58 0 0 ! >r ;s col: ?dup 58 58 0 0 ! >r ;s col: 58 57 0 1 over col: col: var: 58 57 0 1 ;s over col: col: var: 58 54 2 2 @ ;s ;s branch col: sp@ 58 54 2 2 @ ;s ;s branch col: 58 54 2 2 @ ;s ;s branch 58 12 30 16 nip execute col: lit lit ! 58 12 30 16 execute col: lit lit ! user: 58 12 30 16 execute col: lit lit ! 58 0 58 0 var: @local1 col: >l >l >l 58 0 58 0 var: @local1 col: >l >l 58 0 58 0 var: @local1 col: >l 58 0 58 0 var: @local1 col: 58 0 58 0 lp+2 ;s @local1 does: @ + 58 0 58 0 lp+2 ;s @local1 does: @ 58 0 58 0 lp+2 ;s @local1 does: 58 0 58 0 lp+!# ;s lp+2 ;s @local1 does: 58 0 58 0 lp+!# ;s lp+2 ;s @local1 58 0 58 0 drop ;s ;s ;s ;s @local1 58 0 58 0 does: @ + @ ;s 0<> 58 0 58 0 col: >l >l col: 58 0 58 0 col: >l >l @local0 does: @ 58 0 58 0 col: >l >l @local0 does: 58 0 58 0 @local1 col: >l >l >l lp- 58 0 58 0 @local1 col: >l >l >l 58 0 58 0 @ ;s var: @local1 col: >l 58 0 58 0 @ ;s var: @local1 col: 58 0 58 0 @ ;s var: @local1 58 0 58 0 @ ;s 0<> ?branch 58 0 58 0 @ ;s 0<> 58 0 58 0 @ + @ ;s var: @local1 58 0 58 0 @ + @ ;s 0<> ?branch 58 0 58 0 @ + @ ;s 0<> 58 0 58 0 >l col: 58 0 58 0 >l @local0 does: @ + @ 58 0 58 0 >l @local0 does: @ + 58 0 58 0 >l @local0 does: @ 58 0 58 0 >l @local0 does: 58 0 58 0 >l >l col: 58 0 58 0 >l >l @local0 does: @ + 58 0 58 0 >l >l @local0 does: @ 58 0 58 0 >l >l @local0 does: 58 0 58 0 ;s var: col: col: col: user: 58 0 58 0 ;s var: col: col: col: 58 0 58 0 ;s var: col: col: 58 0 58 0 ;s var: @local1 col: >l >l 58 0 58 0 ;s var: @local1 col: >l 58 0 58 0 ;s var: @local1 col: 58 0 58 0 ;s var: @local1 58 0 58 0 ;s lp+2 ;s @local1 does: @ 58 0 58 0 ;s lp+2 ;s @local1 does: 58 0 58 0 ;s lp+2 ;s @local1 58 0 58 0 ;s ;s @local1 58 0 58 0 ;s ;s ;s @local1 58 0 58 0 ;s ;s ;s ;s @local1 58 0 58 0 ;s 0<> ?branch 58 0 58 0 ;s 0<> 58 0 58 0 2drop lp+!# ;s lp+2 ;s @local1 58 0 58 0 + @ ;s var: @local1 col: 58 0 58 0 + @ ;s var: @local1 58 0 58 0 + @ ;s 0<> ?branch 58 0 58 0 + @ ;s 0<> 58 0 0 58 var: @ col: col: col: col: 58 0 0 58 ;s drop ;s col: col: user: 58 0 0 58 ;s drop ;s col: col: 58 0 0 58 ;s col: col: user: @ ?branch 58 0 0 58 ;s col: col: col: col: user: 58 0 0 58 ;s ;s drop ;s col: col: 58 0 0 58 +! ;s ! ;s ;s var: 57 57 0 0 var: @ ;s ;s over col: 57 57 0 0 unloop ;s ;s ;s branch col: 57 57 0 0 swap >r ;s count ;s col: 57 57 0 0 over col: col: var: @ + 57 57 0 0 over col: col: var: @ 57 57 0 0 count ;s col: col: r> user: 57 57 0 0 count ;s col: col: r> 57 57 0 0 count ;s col: col: 57 57 0 0 count ;s col: 57 57 0 0 @ ;s ;s over col: col: 57 57 0 0 @ ;s ;s over col: 57 57 0 0 ?dup ?branch ;s ;s col: col: 57 57 0 0 ?branch ;s ;s col: col: col: 57 57 0 0 >r ;s count ;s col: col: 57 57 0 0 >r ;s count ;s col: 57 57 0 0 ;s swap col: col: var: @ 57 57 0 0 ;s swap col: col: var: 57 57 0 0 ;s over col: col: var: @ 57 57 0 0 ;s count ;s col: col: r> 57 57 0 0 ;s count ;s col: col: 57 57 0 0 ;s count ;s col: 57 57 0 0 ;s col: col: r> user: @ 57 57 0 0 ;s col: col: r> user: 57 57 0 0 ;s ;s swap col: col: var: 57 57 0 0 ;s ;s over col: col: var: 57 57 0 0 ;s ;s lit col: >r defer: 57 57 0 0 ;s ;s lit col: >r 57 57 0 0 ;s ;s ;s lit col: >r 57 57 0 0 2drop ;s ;s ;s ;s swap 57 1 1 55 >r var: @ lit 57 1 1 55 >r var: @ 57 0 22 35 ;s r> ;s ;s 57 0 0 57 swap +! ;s ;s ;s dup 57 0 0 57 @ ;s col: col: col: col: 57 0 0 57 ;s ;s ;s ;s does: @ 57 0 0 57 ;s ;s ;s ;s does: 57 0 0 57 +! ;s ;s ;s dup 56 56 0 0 ;s ;s ;s ;s col: dup 56 33 4 19 char+ c@ ;s 56 33 4 19 char+ c@ 56 33 4 19 @ ;s @ ;s ;s char+ 56 33 4 19 @ ;s ;s char+ c@ ;s 56 33 4 19 @ ;s ;s char+ c@ 56 33 4 19 @ ;s ;s char+ 56 33 4 19 ;s char+ c@ ;s 56 33 4 19 ;s char+ c@ 56 33 4 19 ;s char+ 56 33 4 19 ;s @ ;s ;s char+ c@ 56 33 4 19 ;s @ ;s ;s char+ 56 33 4 19 ;s ;s char+ c@ ;s 56 33 4 19 ;s ;s char+ c@ 56 33 4 19 ;s ;s char+ 56 2 44 10 ;s ;s ;s col: r> 56 16 27 13 execute col: col: col: con: <> 56 0 28 28 ;s +! ;s ! ;s + 56 0 28 28 ;s ! ;s + 56 0 28 28 +! ;s ! ;s + 56 0 28 28 ! ;s + 56 0 0 56 +! ;s ;s ;s dup ?branch 55 34 0 21 execute col: col: lit col: >r 55 34 0 21 col: col: lit col: >r 55 13 16 26 ;s rdrop ;s col: 55 1 0 54 ;s >r var: 55 0 55 0 ;s con: col: >l lp- 55 0 55 0 ;s con: col: >l 55 0 55 0 (type) ;s cr lp+ ;s @local1 55 0 0 55 + @ execute col: col: var: 54 54 0 0 ;s @ ;s ;s branch col: 54 54 0 0 ;s @ ;s ;s branch 54 12 0 42 @ execute col: ;s 54 0 54 0 lp- @local1 con: = ?branch @local3 54 0 54 0 lp+ ;s lp+ ;s con: col: 54 0 54 0 lp+ ;s lp+ ;s con: 54 0 54 0 lp+ ;s con: col: >l lp- 54 0 54 0 lp+ ;s con: col: >l 54 0 54 0 lp+ ;s con: col: 54 0 54 0 lp+ ;s con: 54 0 54 0 lit defer: (emit) ;s @local0 col: 54 0 54 0 lit defer: (emit) ;s @local0 54 0 54 0 execute col: >l >l col: col: 54 0 54 0 execute col: >l >l col: 54 0 54 0 defer: (emit) ;s @local0 col: >l 54 0 54 0 defer: (emit) ;s @local0 col: 54 0 54 0 defer: (emit) ;s @local0 54 0 54 0 cr lp+ ;s lp+ branch >l 54 0 54 0 cr lp+ ;s lp+ branch 54 0 54 0 cr lp+ ;s lp+ 54 0 54 0 con: = ?branch @local3 col: >l 54 0 54 0 con: = ?branch @local3 col: 54 0 54 0 con: = ?branch @local3 54 0 54 0 col: lit defer: (emit) ;s @local0 54 0 54 0 col: >l >l col: col: r> 54 0 54 0 col: >l >l col: col: 54 0 54 0 @local1 con: = ?branch @local3 col: 54 0 54 0 @local1 con: = ?branch @local3 54 0 54 0 @local0 col: >l lp- @local1 does: 54 0 54 0 @local0 col: >l lp- @local1 54 0 54 0 @local# execute col: >l >l col: 54 0 54 0 >l col: col: r> r> dup 54 0 54 0 >l col: col: r> r> 54 0 54 0 >l col: col: r> 54 0 54 0 >l col: col: 54 0 54 0 >l >l col: col: r> r> 54 0 54 0 >l >l col: col: r> 54 0 54 0 >l >l col: col: 54 0 54 0 = ?branch @local3 col: >l lp- 54 0 54 0 = ?branch @local3 col: >l 54 0 54 0 = ?branch @local3 col: 54 0 54 0 = ?branch @local3 54 0 54 0 ;s lp+ ;s lp+ ;s con: 54 0 54 0 ;s lp+ ;s con: col: >l 54 0 54 0 ;s lp+ ;s con: col: 54 0 54 0 ;s lp+ ;s con: 54 0 54 0 ;s cr lp+ ;s lp+ branch 54 0 54 0 ;s cr lp+ ;s lp+ 54 0 54 0 ;s con: col: >l lp- col: 54 0 54 0 ;s @local0 col: >l lp- @local1 54 0 54 0 ;s @local0 col: >l lp- 54 0 54 0 ;s @local0 col: >l 54 0 54 0 (type) ;s cr lp+ ;s lp+ 54 0 54 0 (emit) ;s @local0 col: >l lp- 54 0 54 0 (emit) ;s @local0 col: >l 54 0 54 0 (emit) ;s @local0 col: 54 0 54 0 (emit) ;s @local0 54 0 0 54 unloop drop 2drop r> ;s ;s 54 0 0 54 unloop drop 2drop r> ;s 54 0 0 54 unloop drop 2drop r> 54 0 0 54 r> ;s ;s ;s 54 0 0 54 r> (loop) unloop drop 2drop r> 54 0 0 54 drop 2drop r> ;s ;s ;s 54 0 0 54 drop 2drop r> ;s ;s 54 0 0 54 drop 2drop r> ;s 54 0 0 54 drop 2drop r> 54 0 0 54 @ ;s @ ;s >r var: 54 0 0 54 @ ;s >r var: @ lit 54 0 0 54 @ ;s >r var: @ 54 0 0 54 @ ;s >r var: 54 0 0 54 >r var: @ lit (do) >r 54 0 0 54 >r var: @ lit (do) 54 0 0 54 ;s @ ;s >r var: @ 54 0 0 54 ;s @ ;s >r var: 54 0 0 54 ;s >r var: @ lit (do) 54 0 0 54 ;s >r var: @ lit 54 0 0 54 ;s >r var: @ 54 0 0 54 2drop r> ;s ;s ;s 54 0 0 54 2drop r> ;s ;s 54 0 0 54 2drop r> ;s 54 0 0 54 (loop) unloop drop 2drop r> ;s 54 0 0 54 (loop) unloop drop 2drop r> 53 28 23 2 drop con: ;s ?branch 53 1 34 18 ;s drop ;s ;s 53 0 53 0 @local1 field: @ col: >l lp- 53 0 53 0 @local1 field: @ col: >l 52 52 0 0 branch ;s branch ;s user: @ 52 52 0 0 branch ;s branch ;s user: 52 52 0 0 branch ;s branch ;s 52 52 0 0 ?branch col: dup @ con: = 52 52 0 0 ?branch col: dup @ con: 52 52 0 0 ;s branch ;s branch ;s user: 52 52 0 0 ;s branch ;s branch ;s 52 52 0 0 ;s branch ;s branch 52 52 0 0 ;s ;s branch ;s branch ;s 52 52 0 0 ;s ;s branch ;s branch 52 52 0 0 ;s ;s ;s branch ;s branch 52 35 4 13 col: col: con: col: col: 52 35 4 13 col: col: con: col: 52 25 6 21 ! ;s ;s ;s branch ;s 52 21 23 8 swap c! ;s ;s ;s 51 51 0 0 var: ! ;s col: col: 51 5 44 2 con: ! ;s ;s branch col: 51 5 44 2 con: ! ;s ;s branch 51 5 44 2 ;s con: ! ;s ;s branch 51 21 29 1 swap ;s branch 51 0 0 51 swap 0<> and ?branch col: col: 51 0 0 51 swap 0<> and ?branch col: 51 0 0 51 execute drop ;s branch col: var: 51 0 0 51 drop ;s branch col: var: col: 51 0 0 51 drop ;s branch col: var: 51 0 0 51 drop 2drop ;s ;s ?branch col: 51 0 0 51 col: lit col: col: col: user: 51 0 0 51 col: lit col: col: col: 51 0 0 51 @ execute drop ;s branch col: 51 0 0 51 @ execute drop ;s branch 51 0 0 51 @ execute drop ;s 51 0 0 51 @ execute drop 51 0 0 51 @ ;s + @ execute drop 51 0 0 51 ?branch col: lit col: col: col: 51 0 0 51 ?branch col: lit col: col: 51 0 0 51 ;s ?branch col: lit col: col: 51 0 0 51 ;s ?branch col: lit col: 51 0 0 51 ;s ?branch col: lit 51 0 0 51 ;s ;s ?branch col: lit col: 51 0 0 51 ;s ;s ?branch col: lit 51 0 0 51 ;s + @ execute drop ;s 51 0 0 51 ;s + @ execute drop 51 0 0 51 2drop ;s ;s ?branch col: lit 51 0 0 51 2drop ;s ;s ?branch col: 51 0 0 51 0= swap 0<> and ?branch col: 51 0 0 51 + @ execute drop ;s branch 51 0 0 51 + @ execute drop ;s 51 0 0 51 + @ execute drop 50 19 23 8 swap c! ;s ;s ;s branch 50 15 16 19 nip execute col: lit lit col: 50 15 16 19 execute col: lit lit col: 50 0 50 0 @local1 @local0 field: col: >l >l 50 0 50 0 @local1 @local0 field: col: >l 50 0 50 0 @local1 @local0 field: col: 50 0 50 0 @local1 @local0 field: 50 0 50 0 @local1 ! lp+ ;s lp+ ;s 50 0 50 0 @local1 ! lp+ ;s lp+ 50 0 50 0 @local0 field: col: >l >l @local0 50 0 50 0 @local0 field: col: >l >l 50 0 50 0 @local0 field: col: >l 50 0 50 0 ;s lp+ ;s lp+ ;s @local1 50 0 50 0 ;s @local1 ! lp+ ;s lp+ 50 0 0 50 nip execute col: var: col: col: 49 32 4 13 col: col: con: col: col: defer: 49 26 15 8 + ;s ! ;s ;s branch 49 18 23 8 xor swap c! ;s ;s ;s 49 0 49 0 branch lp+ ;s @local1 ! lp+ 49 0 49 0 branch lp+ ;s @local1 ! 49 0 49 0 branch lp+ ;s @local1 49 0 49 0 @local0 branch lp+ ;s @local1 ! 49 0 49 0 @local0 branch lp+ ;s @local1 49 0 49 0 ?branch @local0 branch lp+ ;s @local1 49 0 0 49 ;s >r col: 48 48 0 0 ;s ;s ;s lit col: dup 48 16 25 7 lit (?do) dup 48 13 16 19 var: ! ;s rdrop ;s col: 48 13 16 19 var: ! ;s rdrop ;s 48 13 16 19 var: ! ;s rdrop 48 13 16 19 u>= ?branch col: var: @ dup 48 13 16 19 u>= ?branch col: var: @ 48 13 16 19 u>= ?branch col: var: 48 13 16 19 swap lit col: 1+ con: * 48 13 16 19 swap lit col: 1+ con: 48 13 16 19 swap lit col: 1+ 48 13 16 19 swap lit col: 48 13 16 19 swap con: - swap lit col: 48 13 16 19 swap con: - swap lit 48 13 16 19 swap con: - swap 48 13 16 19 swap ! ;s ;s drop con: 48 13 16 19 swap ! ;s ;s drop 48 13 16 19 rot col: con: <> col: col: 48 13 16 19 rot col: con: <> col: 48 13 16 19 rot col: con: <> 48 13 16 19 rot col: con: 48 13 16 19 rdrop ;s col: r> dup cell+ 48 13 16 19 rdrop ;s col: r> dup 48 13 16 19 rdrop ;s col: r> 48 13 16 19 rdrop ;s ;s col: >r >r 48 13 16 19 rdrop ;s ;s col: >r 48 13 16 19 rdrop ;s ;s ;s swap con: 48 13 16 19 rdrop ;s ;s ;s swap 48 13 16 19 rdrop ;s ;s ;s r> r> 48 13 16 19 rdrop ;s ;s ;s r> 48 13 16 19 r@ u>= ?branch col: var: @ 48 13 16 19 r@ u>= ?branch col: var: 48 13 16 19 r@ pick rdrop dup col: con: 48 13 16 19 r@ pick rdrop dup col: 48 13 16 19 r@ pick rdrop dup 48 13 16 19 r@ pick rdrop 48 13 16 19 r@ pick r@ pick rdrop dup 48 13 16 19 r@ pick r@ pick rdrop 48 13 16 19 r@ pick r@ pick r@ pick 48 13 16 19 r@ pick r@ pick r@ 48 13 16 19 r> rot col: con: <> col: 48 13 16 19 r> rot col: con: <> 48 13 16 19 r> rot col: con: 48 13 16 19 r> rot col: 48 13 16 19 r> rot 48 13 16 19 r> r> rot col: con: <> 48 13 16 19 r> r> rot col: con: 48 13 16 19 r> r> rot col: 48 13 16 19 r> r> rot 48 13 16 19 pick rdrop dup col: con: con: 48 13 16 19 pick rdrop dup col: con: 48 13 16 19 pick rdrop dup col: 48 13 16 19 pick rdrop dup 48 13 16 19 pick rdrop 48 13 16 19 pick r@ pick rdrop dup col: 48 13 16 19 pick r@ pick rdrop dup 48 13 16 19 pick r@ pick rdrop 48 13 16 19 pick r@ pick r@ pick rdrop 48 13 16 19 pick r@ pick r@ pick 48 13 16 19 pick r@ pick r@ 48 13 16 19 over r@ u>= ?branch col: var: 48 13 16 19 lit lit col: >r >r lit 48 13 16 19 lit col: >r >r lit col: 48 13 16 19 lit col: >r >r lit 48 13 16 19 execute col: lit lit col: >r 48 13 16 19 drop con: ;s ;s 48 13 16 19 drop col: var: @ dup var: 48 13 16 19 drop col: var: @ dup 48 13 16 19 drop col: var: @ 48 13 16 19 drop >r drop col: var: @ 48 13 16 19 drop >r drop col: var: 48 13 16 19 drop >r drop col: 48 13 16 19 drop >r drop 48 13 16 19 drop >r 48 13 16 19 con: swap ! ;s ;s drop 48 13 16 19 con: - swap lit col: 1+ 48 13 16 19 con: - swap lit col: 48 13 16 19 con: - swap lit 48 13 16 19 con: - swap 48 13 16 19 con: * 1- >r r@ pick 48 13 16 19 col: lit lit col: >r >r 48 13 16 19 col: drop >r drop col: var: 48 13 16 19 col: drop >r drop col: 48 13 16 19 col: drop >r drop 48 13 16 19 col: drop >r 48 13 16 19 col: >r >r lit col: 1+ 48 13 16 19 col: >r >r lit col: 48 13 16 19 col: >r >r lit 48 13 16 19 cell+ var: ! ;s rdrop ;s 48 13 16 19 cell+ var: ! ;s rdrop 48 13 16 19 ?branch rdrop ;s ;s col: >r 48 13 16 19 ?branch rdrop ;s ;s ;s swap 48 13 16 19 ?branch rdrop ;s ;s ;s r> 48 13 16 19 ?branch col: var: @ dup lit 48 13 16 19 ?branch col: var: @ dup 48 13 16 19 ?branch col: var: @ 48 13 16 19 ?branch ;s ;s col: drop >r 48 13 16 19 ?branch ;s ;s col: drop 48 13 16 19 >r r@ pick r@ pick r@ 48 13 16 19 >r r@ pick r@ pick 48 13 16 19 >r r@ pick r@ 48 13 16 19 >r r@ pick 48 13 16 19 >r lit col: 1+ con: * 48 13 16 19 >r lit col: 1+ con: 48 13 16 19 >r lit col: 1+ 48 13 16 19 >r drop col: var: @ dup 48 13 16 19 >r drop col: var: @ 48 13 16 19 >r drop col: var: 48 13 16 19 >r drop col: 48 13 16 19 >r >r lit col: 1+ con: 48 13 16 19 >r >r lit col: 1+ 48 13 16 19 >r >r lit col: 48 13 16 19 >r >r lit 48 13 16 19 ;s swap con: - swap lit 48 13 16 19 ;s swap con: - swap 48 13 16 19 ;s swap con: - 48 13 16 19 ;s rdrop ;s col: r> dup 48 13 16 19 ;s rdrop ;s col: r> 48 13 16 19 ;s r> r> rot col: con: 48 13 16 19 ;s r> r> rot col: 48 13 16 19 ;s r> r> rot 48 13 16 19 ;s drop con: ;s ;s 48 13 16 19 ;s drop con: ;s 48 13 16 19 ;s drop con: 48 13 16 19 ;s col: var: @ ?branch 48 13 16 19 ;s col: drop >r drop col: 48 13 16 19 ;s col: drop >r drop 48 13 16 19 ;s col: drop >r 48 13 16 19 ;s col: drop 48 13 16 19 ;s col: >r >r user: @ 48 13 16 19 ;s col: >r >r user: 48 13 16 19 ;s col: >r >r 48 13 16 19 ;s ;s swap con: - swap 48 13 16 19 ;s ;s swap con: - 48 13 16 19 ;s ;s swap con: 48 13 16 19 ;s ;s r> r> rot col: 48 13 16 19 ;s ;s r> r> rot 48 13 16 19 ;s ;s drop con: ;s ;s 48 13 16 19 ;s ;s drop con: ;s 48 13 16 19 ;s ;s drop con: 48 13 16 19 ;s ;s col: drop >r drop 48 13 16 19 ;s ;s col: drop >r 48 13 16 19 ;s ;s col: drop 48 13 16 19 ;s ;s col: >r >r user: 48 13 16 19 ;s ;s col: >r >r 48 13 16 19 ;s ;s col: >r 48 13 16 19 ;s ;s ;s swap con: - 48 13 16 19 ;s ;s ;s swap con: 48 13 16 19 ;s ;s ;s r> r> rot 48 13 16 19 ;s ;s ;s r> r> 48 13 16 19 ;s 0= ?branch ;s ;s col: 48 13 16 19 1- >r r@ pick r@ pick 48 13 16 19 1- >r r@ pick r@ 48 13 16 19 1- >r r@ pick 48 13 16 19 0= ?branch ;s ;s col: drop 48 13 16 19 0= ?branch ;s ;s col: 48 13 16 19 - swap lit col: 1+ con: 48 13 16 19 - swap lit col: 1+ 48 13 16 19 - swap lit col: 48 13 16 19 - swap lit 48 13 16 19 * 1- >r r@ pick r@ 48 13 16 19 * 1- >r r@ pick 48 13 16 19 ! cell+ var: ! ;s rdrop 48 13 16 19 ! ;s rdrop ;s col: r> 48 13 16 19 ! ;s rdrop ;s col: 48 13 16 19 ! ;s rdrop ;s 48 13 16 19 ! ;s rdrop 48 13 16 19 ! ;s ;s drop con: ;s 48 13 16 19 ! ;s ;s drop con: 48 0 48 0 defer: (type) ;s cr @local1 48 0 48 0 cr @local1 48 0 48 0 count defer: (type) ;s cr @local1 48 0 48 0 ;s lp+ ;s @local0 48 0 48 0 ;s cr @local1 48 0 48 0 (type) ;s cr @local1 48 0 0 48 r> col: col: col: user: @ 48 0 0 48 r> col: col: col: user: 47 47 0 0 @ var: ! ;s col: 47 47 0 0 ;s @ var: ! ;s col: 47 2 35 10 ;s ;s ;s col: r> dup 47 11 0 36 execute col: col: var: col: 47 0 0 47 drop ;s col: 2dup col: lit 47 0 0 47 drop ;s col: 2dup col: 47 0 0 47 drop ;s col: 2dup 47 0 0 47 col: var: col: col: col: user: 47 0 0 47 ;s drop ;s col: 2dup col: 47 0 0 47 ;s drop ;s col: 2dup 47 0 0 47 ;s col: 2dup col: lit col: 47 0 0 47 ;s col: 2dup col: lit 47 0 0 47 ;s col: 2dup col: 47 0 0 47 ;s col: 2dup 47 0 0 47 ;s ;s drop ;s col: 2dup 46 46 0 0 unloop ;s ;s ;s branch ;s 46 46 0 0 unloop 2drop ;s ;s ;s branch 46 46 0 0 branch dup ?branch dup col: col: 46 46 0 0 branch dup ?branch dup col: 46 46 0 0 branch dup ?branch dup 46 46 0 0 ;s branch dup ?branch dup col: 46 46 0 0 ;s branch dup ?branch dup 46 46 0 0 ;s ;s branch dup ?branch dup 46 16 0 30 dup 0= ?branch ;s ;s dup 46 16 0 30 dup 0= ?branch ;s ;s 46 16 0 30 dup 0= ?branch ;s 46 16 0 30 ?branch ;s ;s dup ?branch col: 46 16 0 30 ;s dup 0= ?branch ;s ;s 46 16 0 30 ;s dup 0= ?branch ;s 46 16 0 30 0= ?branch ;s ;s dup ?branch 46 16 0 30 0= ?branch ;s ;s dup 46 16 0 30 (f83find) ;s dup 0= ?branch ;s 46 0 46 0 lp+ ;s @local1 @local0 does: @ 46 0 46 0 lp+ ;s @local1 @local0 does: 46 0 46 0 lp+ ;s @local1 @local0 46 0 46 0 lp+ ;s ?branch drop @local0 lp+2 46 0 46 0 lp+ ;s ?branch drop @local0 46 0 46 0 lp+ ;s ?branch drop 46 0 46 0 lit @local1 >l >l @local1 col: 46 0 46 0 drop @local0 lp+2 ;s lit 46 0 46 0 drop @local0 lp+2 ;s 46 0 46 0 drop @local0 lp+2 46 0 46 0 drop @local0 46 0 46 0 drop + >r ;s var: 46 0 46 0 col: cells + ;s ! lp+ 46 0 46 0 cells + ;s ! lp+ ;s 46 0 46 0 cells + ;s ! lp+ 46 0 46 0 @local1 @ lp+ ;s ?branch drop 46 0 46 0 @local1 >l >l @local1 col: >l 46 0 46 0 @local1 >l >l @local1 col: 46 0 46 0 @local0 lp+2 ;s lit 46 0 46 0 @ lp+ ;s ?branch drop @local0 46 0 46 0 @ lp+ ;s ?branch drop 46 0 46 0 @ ;s 0<> ?branch @local0 col: 46 0 46 0 @ ;s 0<> ?branch @local0 46 0 46 0 ?branch drop @local0 lp+2 ;s lit 46 0 46 0 ?branch drop @local0 lp+2 ;s 46 0 46 0 ?branch drop @local0 lp+2 46 0 46 0 ?branch drop @local0 46 0 46 0 ?branch @local0 col: >l lp- col: 46 0 46 0 ?branch @local0 col: >l lp- 46 0 46 0 ?branch @local0 col: >l 46 0 46 0 ?branch @local0 col: 46 0 46 0 >r ;s var: 46 0 46 0 ;s lp+ ;s @local1 @local0 does: 46 0 46 0 ;s lp+ ;s @local1 @local0 46 0 46 0 ;s drop + >r ;s var: 46 0 46 0 ;s col: cells + ;s ! 46 0 46 0 ;s @local1 @local0 does: @ + 46 0 46 0 ;s @local1 @local0 does: @ 46 0 46 0 ;s @local1 @local0 does: 46 0 46 0 ;s ?branch drop @local0 lp+2 ;s 46 0 46 0 ;s ?branch drop @local0 lp+2 46 0 46 0 ;s ?branch drop @local0 46 0 46 0 ;s 0<> ?branch @local0 col: >l 46 0 46 0 ;s 0<> ?branch @local0 col: 46 0 46 0 ;s 0<> ?branch @local0 46 0 46 0 ;s ! lp+ ;s 46 0 46 0 ;s ! lp+ 46 0 46 0 0<> ?branch @local0 col: >l lp- 46 0 46 0 0<> ?branch @local0 col: >l 46 0 46 0 0<> ?branch @local0 col: 46 0 46 0 0<> ?branch @local0 46 0 46 0 + @ ;s 0<> ?branch @local0 46 0 46 0 + >r ;s var: 46 0 46 0 + ;s ! lp+ ;s 46 0 46 0 + ;s ! lp+ 46 0 46 0 ! ;s lp+ ;s @local1 @local0 46 0 36 10 rdrop drop r> cell+ cell+ (loop) 46 0 36 10 rdrop drop r> cell+ cell+ 46 0 36 10 rdrop drop r> cell+ 46 0 36 10 rdrop drop r> 46 0 36 10 rdrop drop 46 0 36 10 open-file 0= ?branch rdrop drop r> 46 0 36 10 open-file 0= ?branch rdrop drop 46 0 36 10 open-file 0= ?branch rdrop 46 0 36 10 drop r> cell+ cell+ (loop) dup 46 0 36 10 drop r> cell+ cell+ (loop) 46 0 36 10 drop r> cell+ cell+ 46 0 36 10 drop r> cell+ 46 0 36 10 con: open-file 0= ?branch rdrop drop 46 0 36 10 con: open-file 0= ?branch rdrop 46 0 36 10 cell+ (loop) dup >r 2@ dup 46 0 36 10 ?branch rdrop drop r> cell+ cell+ 46 0 36 10 ?branch rdrop drop r> cell+ 46 0 36 10 ?branch rdrop drop r> 46 0 36 10 ?branch rdrop drop 46 0 36 10 >r con: open-file 0= ?branch rdrop 46 0 36 10 0= ?branch rdrop drop r> cell+ 46 0 36 10 0= ?branch rdrop drop r> 46 0 36 10 0= ?branch rdrop drop 46 0 36 10 0= ?branch rdrop 46 0 36 10 (loop) dup >r 2@ dup >r 46 0 36 10 (loop) dup >r 2@ dup 45 5 23 17 var: @ ?branch col: con: @ 45 5 23 17 var: @ ?branch col: con: 45 5 23 17 col: var: @ ?branch col: con: 45 5 23 17 col: var: @ ?branch col: 45 5 23 17 @ ?branch col: con: @ col: 45 5 23 17 @ ?branch col: con: @ 45 5 23 17 @ ?branch col: con: 45 5 23 17 ?branch col: con: @ col: col: 45 5 23 17 ?branch col: con: @ col: 45 5 23 17 ?branch col: con: @ 45 5 23 17 ?branch col: con: 45 45 0 0 var: @ ;s ;s ;s branch 45 45 0 0 var: @ ;s ;s ;s 45 45 0 0 col: var: @ ;s ;s ;s 45 45 0 0 @ ;s ;s ;s branch 45 45 0 0 @ ;s ;s ;s 45 45 0 0 ;s var: ! ;s col: col: 45 45 0 0 ;s ;s var: col: con: swap 45 45 0 0 ;s ;s var: col: con: 45 45 0 0 ;s ;s var: col: 45 42 2 1 ;s var: ! ;s ;s 45 27 0 18 ! col: var: col: 45 15 24 6 var: 2@ lit (?do) 45 15 24 6 var: 2@ lit 45 15 24 6 2@ lit (?do) 45 15 24 6 2@ lit 45 0 45 0 swap ! ;s @local1 field: @ 45 0 45 0 swap ! ;s @local1 field: 45 0 45 0 lp- con: lit (do) @local1 i 45 0 45 0 lp- con: lit (do) @local1 45 0 45 0 lp- @local1 field: @ col: >l 45 0 45 0 lp- @local1 field: @ col: 45 0 45 0 lp+!# ;s var: @ ?branch 45 0 45 0 lp+!# ;s var: @ 45 0 45 0 lp+!# ;s var: 45 0 45 0 lit (do) @local1 i col: cells 45 0 45 0 lit (do) @local1 i col: 45 0 45 0 lit (do) @local1 i 45 0 45 0 lit (do) @local1 45 0 45 0 field: col: >l lp- con: lit 45 0 45 0 field: col: >l lp- con: 45 0 45 0 field: col: >l lp- 45 0 45 0 dup ?branch 2drop lp+!# ;s var: 45 0 45 0 drop branch (loop) unloop lp+ ;s 45 0 45 0 drop branch (loop) unloop lp+ 45 0 45 0 drop branch (loop) unloop 45 0 45 0 drop + >r ;s var: col: 45 0 45 0 does: 2@ ;s col: 45 0 45 0 defer: (type) ;s cr @local1 field: 45 0 45 0 cr @local1 field: col: >l lp- 45 0 45 0 cr @local1 field: col: >l 45 0 45 0 cr @local1 field: col: 45 0 45 0 cr @local1 field: 45 0 45 0 con: swap ! ;s @local1 field: 45 0 45 0 con: lit (do) @local1 i col: 45 0 45 0 con: lit (do) @local1 i 45 0 45 0 con: lit (do) @local1 45 0 45 0 col: >l lp- con: lit (do) 45 0 45 0 branch (loop) unloop lp+ ;s 45 0 45 0 branch (loop) unloop lp+ 45 0 45 0 branch (loop) unloop 45 0 45 0 @local1 var: 45 0 45 0 @local1 field: col: >l lp- con: 45 0 45 0 @local1 field: col: >l lp- 45 0 45 0 ?branch drop branch (loop) unloop lp+ 45 0 45 0 ?branch drop branch (loop) unloop 45 0 45 0 ?branch 2drop lp+!# ;s var: @ 45 0 45 0 ?branch 2drop lp+!# ;s var: 45 0 45 0 >r ;s var: col: con: swap 45 0 45 0 >r ;s var: col: con: 45 0 45 0 >r ;s var: col: 45 0 45 0 >l lp- con: lit (do) @local1 45 0 45 0 >l lp- @local1 field: @ col: 45 0 45 0 = ?branch drop branch (loop) unloop 45 0 45 0 ;s cr @local1 field: col: >l 45 0 45 0 ;s cr @local1 field: col: 45 0 45 0 ;s cr @local1 field: 45 0 45 0 ;s @local1 field: @ @local1 lit 45 0 45 0 ;s @local1 field: @ @local1 45 0 45 0 2drop lp+!# ;s var: @ ?branch 45 0 45 0 2drop lp+!# ;s var: @ 45 0 45 0 2drop lp+!# ;s var: 45 0 45 0 2@ ;s col: 45 0 45 0 + >r ;s var: col: con: 45 0 45 0 + >r ;s var: col: 45 0 45 0 (type) ;s cr @local1 field: col: 45 0 45 0 (type) ;s cr @local1 field: 45 0 45 0 (do) @local1 i col: cells + 45 0 45 0 (do) @local1 i col: cells 45 0 45 0 (do) @local1 i col: 45 0 45 0 (do) @local1 i 45 0 45 0 (do) @local1 45 0 45 0 ! ;s @local1 field: @ @local1 45 0 45 0 ! ;s @local1 field: @ 45 0 45 0 ! ;s @local1 field: 45 0 0 45 col: col: dup col: dup con: 45 0 0 45 col: col: dup col: dup 45 0 0 45 col: col: dup col: 44 44 0 0 xor swap c! ;s ;s var: 44 44 0 0 var: @ ?branch col: lit col: 44 44 0 0 var: @ ?branch col: lit 44 44 0 0 swap c! ;s ;s var: col: 44 44 0 0 swap c! ;s ;s var: 44 44 0 0 swap ! ;s col: var: col: 44 44 0 0 swap ! ;s col: col: user: 44 44 0 0 rdrop ;s 0> ?branch dup col: 44 44 0 0 rdrop ;s 0> ?branch dup 44 44 0 0 col: ;s @ con: = ?branch 44 44 0 0 c! ;s ;s var: col: con: 44 44 0 0 c! ;s ;s var: col: 44 44 0 0 @ ?branch col: lit col: user: 44 44 0 0 @ ?branch col: lit col: 44 44 0 0 @ ?branch col: lit 44 44 0 0 ?branch rdrop ;s 0> ?branch dup 44 44 0 0 ?branch dup col: ;s @ con: 44 44 0 0 ?branch dup col: ;s @ 44 44 0 0 ?branch dup col: ;s 44 44 0 0 ?branch col: lit col: user: @ 44 44 0 0 ?branch col: lit col: user: 44 44 0 0 ;s var: @ ?branch col: lit 44 44 0 0 ;s @ con: = ?branch 44 44 0 0 ;s 0> ?branch dup col: ;s 44 44 0 0 ;s 0> ?branch dup col: 44 44 0 0 ;s 0> ?branch dup 44 44 0 0 0> ?branch dup col: ;s @ 44 44 0 0 0> ?branch dup col: ;s 44 44 0 0 0> ?branch dup col: 44 44 0 0 0> ?branch dup 44 44 0 0 ! ;s col: var: col: con: 44 44 0 0 ! ;s col: var: col: 44 41 2 1 rdrop ;s var: ! ;s ;s 44 35 4 5 execute col: col: con: col: col: 44 35 4 5 execute col: col: con: col: 44 28 15 1 ?branch drop con: ;s 44 18 17 9 allocate col: ?dup ?branch ;s 44 18 17 9 allocate col: ?dup ?branch 44 18 17 9 allocate col: ?dup 44 17 6 21 rdrop ;s 0> ?branch col: col: 44 17 6 21 negate ;s ;s ;s dup 0= 44 17 6 21 ;s 0> ?branch col: col: col: 44 17 6 21 ;s 0> ?branch col: col: 44 0 44 0 or and ?branch @local2 @local3 col: 44 0 44 0 or and ?branch @local2 @local3 44 0 44 0 nip lp+ ;s col: >l lp- 44 0 44 0 nip lp+ ;s col: >l 44 0 44 0 nip lp+ ;s col: 44 0 44 0 lp+2 ;s col: ?branch r> does: 44 0 44 0 lp+2 ;s col: ?branch r> 44 0 44 0 lp+2 ;s col: ?branch 44 0 44 0 lp+ ;s lp+ ;s @local0 lit 44 0 44 0 lp+ ;s lp+ ;s @local0 44 0 44 0 lp+ ;s branch lp+2 ;s 44 0 44 0 lp+ ;s branch lp+2 44 0 44 0 lp+ ;s branch 44 0 44 0 lp+ ;s @local1 col: >l lp- 44 0 44 0 lp+ ;s @local1 col: >l 44 0 44 0 lp+ ;s @local0 lit col: >l 44 0 44 0 lp+ ;s @local0 lit col: 44 0 44 0 lp+ ;s @local0 lit 44 0 44 0 lit defer: (emit) ;s cr col: 44 0 44 0 lit defer: (emit) ;s cr 44 0 44 0 lit @local0 field: ! @local0 field: 44 0 44 0 lit @local0 field: ! @local0 44 0 44 0 lit @local0 field: ! 44 0 44 0 lit @local0 field: 44 0 44 0 lit @local0 44 0 44 0 field: lp+ ;s 44 0 44 0 field: lp+ 44 0 44 0 field: ! @local0 field: lp+ ;s 44 0 44 0 field: ! @local0 field: lp+ 44 0 44 0 field: ! @local0 field: 44 0 44 0 execute col: >l >l @local1 field: 44 0 44 0 drop lp+ ;s col: >l lp- 44 0 44 0 drop lp+ ;s col: >l 44 0 44 0 drop lp+ ;s col: 44 0 44 0 drop con: lp+2 ;s col: ?branch 44 0 44 0 defer: (emit) ;s cr col: col: 44 0 44 0 defer: (emit) ;s cr col: 44 0 44 0 defer: (emit) ;s cr 44 0 44 0 cr lp+ ;s branch lp+2 ;s 44 0 44 0 cr lp+ ;s branch lp+2 44 0 44 0 cr lp+ ;s branch 44 0 44 0 con: lp+2 ;s col: ?branch r> 44 0 44 0 con: lp+2 ;s col: ?branch 44 0 44 0 col: lit defer: (emit) ;s cr 44 0 44 0 col: cells con: ;s 44 0 44 0 col: cells con: 44 0 44 0 col: >l >l @local1 field: @ 44 0 44 0 col: >l >l @local1 field: 44 0 44 0 col: >l >l @local0 @local1 ! 44 0 44 0 cells con: ;s 44 0 44 0 cells con: 44 0 44 0 and ?branch @local2 @local3 col: >l 44 0 44 0 and ?branch @local2 @local3 col: 44 0 44 0 and ?branch @local2 @local3 44 0 44 0 @local3 col: >l >l @local1 col: 44 0 44 0 @local3 col: >l >l @local1 44 0 44 0 @local2 @local3 col: >l >l @local1 44 0 44 0 @local1 ?branch @local0 44 0 44 0 @local1 2@ nip lp+ ;s col: 44 0 44 0 @local1 2@ drop lp+ ;s col: 44 0 44 0 @local1 ! lit @local0 field: ! 44 0 44 0 @local1 ! lit @local0 field: 44 0 44 0 @local1 ! lit @local0 44 0 44 0 @local1 ! lit 44 0 44 0 @local0 lit col: >l >l @local0 44 0 44 0 @local0 lit col: >l >l 44 0 44 0 @local0 lit col: >l 44 0 44 0 @local0 lit col: 44 0 44 0 @local0 lit 44 0 44 0 @local0 field: lp+ ;s 44 0 44 0 @local0 field: lp+ 44 0 44 0 @local0 field: ! @local0 field: lp+ 44 0 44 0 @local0 field: ! @local0 field: 44 0 44 0 @local0 @local1 ! lit @local0 field: 44 0 44 0 @local0 @local1 ! lit @local0 44 0 44 0 @local0 @local1 ! lit 44 0 44 0 @local0 @local1 ! 44 0 44 0 ?branch @local2 @local3 col: >l >l 44 0 44 0 ?branch @local2 @local3 col: >l 44 0 44 0 ?branch @local2 @local3 col: 44 0 44 0 ?branch @local2 @local3 44 0 44 0 >l @local1 field: @ 44 0 44 0 >l @local1 field: 44 0 44 0 >l @local1 ?branch @local0 44 0 44 0 >l @local1 ?branch 44 0 44 0 >l @local0 @local1 ! lit @local0 44 0 44 0 >l @local0 @local1 ! lit 44 0 44 0 >l @local0 @local1 ! 44 0 44 0 >l >l @local1 field: @ 44 0 44 0 >l >l @local1 field: 44 0 44 0 >l >l @local1 ?branch @local0 44 0 44 0 >l >l @local1 ?branch 44 0 44 0 >l >l @local0 @local1 ! lit 44 0 44 0 >l >l @local0 @local1 ! 44 0 44 0 < or and ?branch @local2 @local3 44 0 44 0 ;s lp+ ;s lp+ ;s @local0 44 0 44 0 ;s lp+ ;s @local1 col: >l 44 0 44 0 ;s lp+ ;s @local0 lit col: 44 0 44 0 ;s lp+ ;s @local0 lit 44 0 44 0 ;s cr lp+ ;s branch lp+2 44 0 44 0 ;s cr lp+ ;s branch 44 0 44 0 ;s branch lp+2 ;s 44 0 44 0 ;s branch lp+2 44 0 44 0 ;s @local0 lit col: >l >l 44 0 44 0 ;s @local0 lit col: >l 44 0 44 0 ;s @local0 lit col: 44 0 44 0 ;s @local0 lit 44 0 44 0 ;s ;s lp+ ;s @local1 col: 44 0 44 0 ;s ;s lp+ ;s @local1 44 0 44 0 ;s ;s ;s lp+ ;s @local1 44 0 44 0 2@ nip lp+ ;s col: >l 44 0 44 0 2@ nip lp+ ;s col: 44 0 44 0 2@ drop lp+ ;s col: >l 44 0 44 0 2@ drop lp+ ;s col: 44 0 44 0 (type) ;s cr lp+ ;s branch 44 0 44 0 (emit) ;s cr col: col: r> 44 0 44 0 (emit) ;s cr col: col: 44 0 44 0 (emit) ;s cr col: 44 0 44 0 (emit) ;s cr 44 0 44 0 ! lit @local0 field: ! @local0 44 0 44 0 ! lit @local0 field: ! 44 0 44 0 ! lit @local0 field: 44 0 44 0 ! lit @local0 44 0 44 0 ! @local0 field: lp+ ;s 44 0 44 0 ! @local0 field: lp+ 44 0 44 0 ! @local0 field: 44 0 0 44 ;s ?branch does: @ col: var: 44 0 0 44 ;s ?branch does: @ col: 44 0 0 44 ;s ?branch does: @ 44 0 0 44 ;s ?branch does: 44 0 0 44 ;s ;s ?branch does: @ col: 44 0 0 44 ;s ;s ?branch does: @ 44 0 0 44 ;s ;s ?branch does: 44 0 0 44 ;s ;s ;s ?branch does: @ 44 0 0 44 ;s ;s ;s ?branch does: 44 0 0 44 +! ;s ;s ;s ?branch does: 43 6 27 10 con: ;s ;s branch col: sp@ 43 6 27 10 con: ;s ;s branch col: 43 6 27 10 con: ;s ;s branch 43 4 0 39 col: = 43 3 36 4 rdrop ;s 0> ?branch col: r> 43 3 36 4 ?branch ;s ;s ;s dup 0= 43 3 36 4 ;s 0> ?branch col: r> dup 43 3 36 4 ;s 0> ?branch col: r> 43 3 36 4 0> ?branch col: r> dup cell+ 43 3 36 4 0> ?branch col: r> dup 43 3 36 4 0> ?branch col: r> 43 27 15 1 unloop ;s dup ?branch dup r> 43 27 15 1 unloop ;s dup ?branch dup 43 27 15 1 unloop ;s dup ?branch 43 27 15 1 r> - ?branch 43 27 15 1 i' i - unloop ;s dup 43 27 15 1 i' i - unloop ;s 43 27 15 1 i' i - unloop 43 27 15 1 i - unloop ;s dup ?branch 43 27 15 1 i - unloop ;s dup 43 27 15 1 i - unloop ;s 43 27 15 1 i - unloop 43 27 15 1 dup r> - ?branch 43 27 15 1 dup r> - 43 27 15 1 dup ?branch dup r> - ?branch 43 27 15 1 dup ?branch dup r> - 43 27 15 1 dup ?branch dup r> 43 27 15 1 drop con: ;s ?branch 1- i' 43 27 15 1 drop con: ;s ?branch 1- 43 27 15 1 con: ;s ?branch 1- i' i 43 27 15 1 con: ;s ?branch 1- i' 43 27 15 1 con: ;s ?branch 1- 43 27 15 1 ?branch dup r> - ?branch 43 27 15 1 ?branch dup r> - 43 27 15 1 ?branch dup r> 43 27 15 1 ?branch drop con: ;s ?branch 1- 43 27 15 1 ?branch drop con: ;s ?branch 43 27 15 1 ?branch 1- i' i - unloop 43 27 15 1 ?branch 1- i' i - 43 27 15 1 ?branch 1- i' i 43 27 15 1 ?branch 1- i' 43 27 15 1 ;s dup ?branch dup r> - 43 27 15 1 ;s dup ?branch dup r> 43 27 15 1 ;s dup ?branch dup 43 27 15 1 ;s ?branch 1- i' i - 43 27 15 1 ;s ?branch 1- i' i 43 27 15 1 ;s ?branch 1- i' 43 27 15 1 ;s ?branch 1- 43 27 15 1 1- i' i - unloop ;s 43 27 15 1 1- i' i - unloop 43 27 15 1 1- i' i - 43 27 15 1 1- i' i 43 27 15 1 1- i' 43 27 15 1 - unloop ;s dup ?branch dup 43 27 15 1 - unloop ;s dup ?branch 43 27 15 1 - unloop ;s dup 43 27 15 1 - ?branch 43 19 17 7 ;s drop col: 43 0 0 43 var: @ and ?branch 43 0 0 43 @ and ?branch 42 42 0 0 rdrop ;s 0> ?branch col: dup 42 42 0 0 does-code! ;s ;s ;s col: cell+ 42 42 0 0 col: cell+ cell+ ;s col: lit 42 42 0 0 col: cell+ cell+ ;s col: 42 42 0 0 col: cell+ ;s @ ;s ;s 42 42 0 0 cell+ cell+ ;s col: lit user: 42 42 0 0 cell+ cell+ ;s col: lit 42 42 0 0 cell+ cell+ ;s col: 42 42 0 0 cell+ ;s col: lit user: ! 42 42 0 0 cell+ ;s col: lit user: 42 42 0 0 cell+ ;s col: lit 42 42 0 0 cell+ ;s col: 42 42 0 0 cell+ ;s @ ;s ;s branch 42 42 0 0 cell+ ;s @ ;s ;s 42 42 0 0 ;s col: cell+ cell+ ;s col: 42 42 0 0 ;s col: cell+ cell+ ;s 42 42 0 0 ;s col: cell+ cell+ 42 42 0 0 ;s ;s col: cell+ cell+ ;s 42 42 0 0 ;s ;s col: cell+ cell+ 42 42 0 0 ;s ;s col: cell+ 42 42 0 0 ;s ;s ;s col: cell+ cell+ 42 42 0 0 ;s ;s ;s col: cell+ 42 42 0 0 ;s 0> ?branch col: dup @ 42 42 0 0 ;s 0> ?branch col: dup 42 42 0 0 0> ?branch col: dup @ con: 42 42 0 0 0> ?branch col: dup @ 42 42 0 0 0> ?branch col: dup 42 28 4 10 char+ c@ ;s col: 42 28 4 10 ;s char+ c@ ;s col: 42 28 4 10 ;s ;s char+ c@ ;s col: 42 25 12 5 r> user: ! col: 42 14 23 5 var: 2@ lit (?do) dup >r 42 14 23 5 var: 2@ lit (?do) dup 42 14 23 5 lit (?do) dup >r 2@ 42 14 23 5 lit (?do) dup >r 42 14 23 5 2dup lit col: >r dup ?branch 42 14 23 5 2dup lit col: >r dup 42 14 23 5 2dup lit col: >r 42 14 23 5 2dup lit col: 42 14 23 5 2dup lit 42 14 23 5 2@ lit (?do) dup >r 2@ 42 14 23 5 2@ lit (?do) dup >r 42 14 23 5 2@ lit (?do) dup 42 14 23 5 (?do) dup >r 2@ 42 14 23 5 (?do) dup >r 42 0 42 0 ! lp+ ;s lp+ ;s lp+ 42 0 0 42 execute col: ;s ;s col: var: 42 0 0 42 execute col: ;s ;s col: 42 0 0 42 col: ;s ;s col: var: col: 42 0 0 42 col: ;s ;s col: var: 42 0 0 42 col: ;s ;s col: 42 0 0 42 @ execute col: ;s ;s col: 42 0 0 42 @ execute col: ;s ;s 42 0 0 42 @ @ ;s ;s col: var: 42 0 0 42 @ ;s ;s col: var: col: 42 0 0 42 @ ! ;s ;s col: 42 0 0 42 ;s col: var: col: con: over 42 0 0 42 ;s 2! ;s ;s col: var: 42 0 0 42 ;s 2! ;s ;s col: 42 0 0 42 ;s + @ execute col: ;s 42 0 0 42 2! ;s ;s col: var: col: 42 0 0 42 2! ;s ;s col: var: 42 0 0 42 2! ;s ;s col: 42 0 0 42 +! @ ! ;s ;s col: 42 0 0 42 +! ;s 2! ;s ;s col: 42 0 0 42 + @ execute col: ;s ;s 42 0 0 42 + @ execute col: ;s 41 41 0 0 var: @ ;s ;s - col: 41 41 0 0 var: @ ;s ;s - 41 41 0 0 rdrop ;s ;s ;s lit col: 41 41 0 0 rdrop ;s ;s ;s lit 41 41 0 0 execute col: col: col: var: dup 41 41 0 0 col: var: @ ;s ;s - 41 41 0 0 col: col: col: var: dup @ 41 41 0 0 col: col: col: var: dup 41 41 0 0 @ var: ! ;s col: var: 41 41 0 0 @ ;s ;s ;s branch ;s 41 41 0 0 @ ;s ;s - col: col: 41 41 0 0 @ ;s ;s - col: 41 41 0 0 @ ;s ;s - 41 41 0 0 ?branch rdrop ;s ;s ;s lit 41 41 0 0 ;s var: ! ;s ;s ;s 41 41 0 0 ;s ;s - col: col: col: 41 41 0 0 ;s ;s - col: col: 41 41 0 0 ;s ;s - col: 41 41 0 0 ;s ;s - 41 25 15 1 user: @ u>= ?branch drop con: 41 25 15 1 user: @ u>= ?branch drop 41 25 15 1 u>= ?branch drop con: ;s ?branch 41 25 15 1 u>= ?branch drop con: ;s 41 25 15 1 u>= ?branch drop con: 41 25 15 1 u>= ?branch drop 41 25 15 1 dup user: @ u>= ?branch drop 41 25 15 1 @ u>= ?branch drop con: ;s 41 25 15 1 @ u>= ?branch drop con: 41 25 15 1 @ u>= ?branch drop 41 18 1 22 ;s ;s swap col: col: col: 41 16 0 25 var: @ 0< ?branch 41 16 0 25 var: @ 0< 41 16 0 25 var: +! col: var: @ 0< 41 16 0 25 var: +! col: var: @ 41 16 0 25 var: +! col: var: 41 16 0 25 var: +! col: 41 16 0 25 lit var: +! col: var: @ 41 16 0 25 lit var: +! col: var: 41 16 0 25 lit var: +! col: 41 16 0 25 col: var: @ 0< ?branch 41 16 0 25 col: var: @ 0< 41 16 0 25 col: lit var: +! col: var: 41 16 0 25 col: lit var: +! col: 41 16 0 25 col: lit var: +! 41 16 0 25 col: lit var: 41 16 0 25 +! col: var: @ 0< ?branch 41 16 0 25 +! col: var: @ 0< 41 16 0 25 +! col: var: @ 41 16 0 25 +! col: var: 41 16 0 25 +! col: 41 14 22 5 nip ?branch 41 14 22 5 col: 2dup lit col: >r dup 41 14 22 5 col: 2dup lit col: >r 41 14 22 5 col: 2dup lit col: 41 14 22 5 col: 2dup lit 41 0 41 0 unloop lp+2 ;s @local1 41 0 41 0 unloop lp+2 ;s 41 0 41 0 unloop lp+2 41 0 41 0 lp+2 ;s @local1 field: 41 0 41 0 ;s ! (loop) unloop lp+2 ;s 41 0 41 0 ;s ! (loop) unloop lp+2 41 0 41 0 + ;s ! (loop) unloop lp+2 41 0 41 0 (loop) unloop lp+2 ;s @local1 41 0 41 0 (loop) unloop lp+2 ;s 41 0 41 0 (loop) unloop lp+2 41 0 41 0 ! (loop) unloop lp+2 ;s @local1 41 0 41 0 ! (loop) unloop lp+2 ;s 41 0 41 0 ! (loop) unloop lp+2 41 0 0 41 branch over 0= 0= ?branch r@ 41 0 0 41 branch ;s con: (+loop) i col: 41 0 0 41 branch ;s con: (+loop) i 41 0 0 41 0= and ?branch col: col: r> 41 0 0 41 0= and ?branch col: col: 41 0 0 41 0= and ?branch col: 41 0 0 41 ! branch ;s con: (+loop) i 40 40 0 0 u> 0= ?branch 40 40 0 0 u> 0= 40 40 0 0 swap ! ;s nip ;s col: 40 40 0 0 ;s nip ;s col: 40 40 0 0 2dup u> 0= ?branch 40 40 0 0 2dup u> 0= 40 40 0 0 2dup u> 40 40 0 0 ! ;s nip ;s col: 40 2 36 2 compare 0= 40 12 10 18 ;s col: var: @ ?branch var: 40 0 40 0 lp+ ;s ;s 40 0 17 23 @ branch 40 0 0 40 swap (?do) unloop ;s var: var: 40 0 0 40 col: swap (?do) unloop ;s var: 40 0 0 40 (?do) unloop ;s var: var: @ 40 0 0 40 (?do) unloop ;s var: var: 40 0 0 40 (?do) unloop ;s var: 2! var: 39 39 0 0 swap col: col: user: @ 0= 39 39 0 0 ;s ;s swap col: col: user: 39 2 34 3 user: @ ;s +! ;s ;s 39 2 34 3 @ ;s +! ;s ;s 39 2 34 3 ;s +! ;s ;s 39 18 13 8 nip execute col: col: var: dup 39 18 13 8 execute col: col: var: dup @ 39 18 13 8 execute col: col: var: dup 39 0 0 39 swap drop r> drop ;s swap 39 0 0 39 swap drop r> drop ;s 39 0 0 39 swap drop r> drop 39 0 0 39 swap drop r> 39 0 0 39 swap con: col: = 0= col: 39 0 0 39 swap con: col: = 0= 39 0 0 39 swap con: col: = 39 0 0 39 swap con: col: 39 0 0 39 r> drop ;s swap con: col: 39 0 0 39 r> drop ;s swap con: 39 0 0 39 r> drop ;s swap 39 0 0 39 r> drop ;s 39 0 0 39 over 0= 0= ?branch swap drop 39 0 0 39 over 0= 0= ?branch swap 39 0 0 39 nip nip execute col: col: dup 39 0 0 39 nip execute col: col: dup col: 39 0 0 39 nip execute col: col: dup 39 0 0 39 lit col: >r dup 0= ?branch 39 0 0 39 lit col: >r dup 0= 39 0 0 39 execute col: col: dup col: dup 39 0 0 39 execute col: col: dup col: 39 0 0 39 execute col: col: dup 39 0 0 39 dup 0= ?branch over 0= 0= 39 0 0 39 dup 0= ?branch over 0= 39 0 0 39 dup 0= ?branch over 39 0 0 39 drop r> drop ;s swap con: 39 0 0 39 drop r> drop ;s swap 39 0 0 39 drop r> drop ;s 39 0 0 39 drop r> drop 39 0 0 39 drop ;s swap con: col: = 39 0 0 39 drop ;s swap con: col: 39 0 0 39 drop ;s swap con: 39 0 0 39 con: lit ;s 39 0 0 39 con: col: = 0= col: col: 39 0 0 39 con: col: = 0= col: 39 0 0 39 con: col: = 0= 39 0 0 39 con: col: = 39 0 0 39 col: lit col: >r dup 0= 39 0 0 39 col: lit col: >r dup 39 0 0 39 col: con: lit ;s 39 0 0 39 col: con: lit 39 0 0 39 col: >r dup 0= ?branch over 39 0 0 39 col: >r dup 0= ?branch 39 0 0 39 col: >r dup 0= 39 0 0 39 col: = 0= col: col: r> 39 0 0 39 col: = 0= col: col: 39 0 0 39 col: = 0= col: 39 0 0 39 col: = 0= 39 0 0 39 ?branch swap drop r> drop ;s 39 0 0 39 ?branch swap drop r> drop 39 0 0 39 ?branch swap drop r> 39 0 0 39 ?branch over 0= 0= ?branch 39 0 0 39 ?branch over 0= 0= 39 0 0 39 ?branch over 0= 39 0 0 39 >r dup 0= ?branch over 0= 39 0 0 39 >r dup 0= ?branch over 39 0 0 39 >r dup 0= ?branch 39 0 0 39 >r dup 0= 39 0 0 39 = 0= col: col: r> r> 39 0 0 39 = 0= col: col: r> 39 0 0 39 = 0= col: col: 39 0 0 39 = 0= col: 39 0 0 39 = 0= 39 0 0 39 ;s swap con: col: = 0= 39 0 0 39 ;s swap con: col: = 39 0 0 39 ;s swap con: col: 39 0 0 39 0= ?branch swap drop r> drop 39 0 0 39 0= ?branch swap drop r> 39 0 0 39 0= ?branch swap drop 39 0 0 39 0= ?branch swap 39 0 0 39 0= ?branch over 0= 0= ?branch 39 0 0 39 0= ?branch over 0= 0= 39 0 0 39 0= ?branch over 0= 39 0 0 39 0= ?branch over 39 0 0 39 0= 0= ?branch swap drop r> 39 0 0 39 0= 0= ?branch swap drop 39 0 0 39 0= 0= ?branch swap 38 15 14 9 var: 2@ nip 38 15 12 11 execute col: var: @ ?branch var: 38 0 38 0 ! lp+ ;s @local1 col: field: 38 0 38 0 ! lp+ ;s @local1 col: 38 0 38 0 ! lp+ ;s @local1 37 28 4 5 nip execute col: col: con: col: 37 2 35 0 allocate col: col: r> r> dup 37 2 35 0 allocate col: col: r> r> 37 2 35 0 allocate col: col: r> 37 2 35 0 allocate col: col: 37 2 30 5 over ;s branch col: sp@ user: 37 2 30 5 over ;s branch col: sp@ 37 2 30 5 over ;s branch col: 37 2 30 5 over ;s branch 37 2 30 5 over ;s 37 2 30 5 nip nip execute over ;s branch 37 2 30 5 nip nip execute over ;s 37 2 30 5 nip nip execute over 37 2 30 5 nip execute over ;s branch col: 37 2 30 5 nip execute over ;s branch 37 2 30 5 nip execute over ;s 37 2 30 5 nip execute over 37 2 30 5 execute over ;s branch col: sp@ 37 2 30 5 execute over ;s branch col: 37 2 30 5 execute over ;s branch 37 2 30 5 execute over ;s 37 2 30 5 execute over 37 2 30 5 and ?branch nip nip execute over 37 2 30 5 ?branch nip nip execute over ;s 37 2 30 5 ?branch nip nip execute over 37 0 5 32 lit lit lit 37 0 37 0 @local1 @local2 37 0 37 0 @ ?branch @local1 37 0 0 37 lit ;s ;s 37 0 0 37 ?branch ;s col: col: col: 37 0 0 37 0= ?branch ;s col: col: col: 36 28 0 8 ;s ! ;s ;s col: r> 36 28 0 8 ! ;s ;s col: r> dup 36 2 32 2 con: cells 36 1 35 0 ! ;s drop ;s 36 0 36 0 var: laddr# col: >l >l >l 36 0 36 0 var: laddr# col: >l >l 36 0 36 0 var: laddr# col: >l 36 0 36 0 var: laddr# col: 36 0 36 0 var: laddr# 36 0 36 0 swap >l >l @local3 does: @ 36 0 36 0 swap >l >l @local3 does: 36 0 36 0 swap >l >l @local3 36 0 36 0 swap >l >l 36 0 36 0 swap >l 36 0 36 0 lp+2 ;s lp+2 ;s lp+ branch 36 0 36 0 lp+2 ;s lp+2 ;s lp+ 36 0 36 0 lp+2 ;s lp+2 ;s 36 0 36 0 lp+2 ;s lp+2 36 0 36 0 lit floats over = ?branch lit 36 0 36 0 laddr# col: >l >l >l lp- 36 0 36 0 laddr# col: >l >l >l 36 0 36 0 laddr# col: >l >l 36 0 36 0 laddr# col: >l 36 0 36 0 laddr# col: 36 0 36 0 floats over = ?branch lit floats 36 0 36 0 floats over = ?branch lit 36 0 36 0 field: @ @local0 col: >l >l 36 0 36 0 field: @ @local0 col: >l 36 0 36 0 field: @ @local0 col: 36 0 36 0 field: @ @local0 36 0 36 0 dup >r 2@ 2over compare 0= 36 0 36 0 dup >r 2@ 2over compare 36 0 36 0 dup >r 2@ 2over 36 0 36 0 drop + >r ;s @local1 @local0 36 0 36 0 compare 0= ?branch 36 0 36 0 col: >l >l @local0 @local1 swap 36 0 36 0 @local1 swap >l >l @local3 does: 36 0 36 0 @local1 swap >l >l @local3 36 0 36 0 @local1 swap >l >l 36 0 36 0 @local1 swap >l 36 0 36 0 @local1 swap 36 0 36 0 @local1 field: @ @local0 col: >l 36 0 36 0 @local1 field: @ @local0 col: 36 0 36 0 @local1 field: @ @local0 36 0 36 0 @local0 @local1 swap >l >l @local3 36 0 36 0 @local0 @local1 swap >l >l 36 0 36 0 @local0 @local1 swap >l 36 0 36 0 @local0 @local1 swap 36 0 36 0 @local0 >l lp- @local1 ?branch lp+2 36 0 36 0 @ @local0 col: >l >l @local0 36 0 36 0 @ @local0 col: >l >l 36 0 36 0 @ @local0 col: >l 36 0 36 0 @ @local0 col: 36 0 36 0 @ @local0 36 0 36 0 @ ;s var: laddr# col: >l 36 0 36 0 @ ;s var: laddr# col: 36 0 36 0 @ ;s var: laddr# 36 0 36 0 @ + @ ;s var: laddr# 36 0 36 0 >r ;s @local1 @local0 field: col: 36 0 36 0 >r ;s @local1 @local0 field: 36 0 36 0 >r ;s @local1 @local0 36 0 36 0 >r 2@ 2over compare 0= ?branch 36 0 36 0 >r 2@ 2over compare 0= 36 0 36 0 >r 2@ 2over compare 36 0 36 0 >r 2@ 2over 36 0 36 0 >l @local3 does: @ + @ 36 0 36 0 >l @local3 does: @ + 36 0 36 0 >l @local3 does: @ 36 0 36 0 >l @local3 does: 36 0 36 0 >l @local3 36 0 36 0 >l @local1 field: @ @local0 col: 36 0 36 0 >l @local1 field: @ @local0 36 0 36 0 >l @local0 @local1 swap >l >l 36 0 36 0 >l @local0 @local1 swap >l 36 0 36 0 >l @local0 @local1 swap 36 0 36 0 >l >l @local3 does: @ + 36 0 36 0 >l >l @local3 does: @ 36 0 36 0 >l >l @local3 does: 36 0 36 0 >l >l @local3 36 0 36 0 >l >l @local1 field: @ @local0 36 0 36 0 >l >l @local0 @local1 swap >l 36 0 36 0 >l >l @local0 @local1 swap 36 0 36 0 ;s var: laddr# col: >l >l 36 0 36 0 ;s var: laddr# col: >l 36 0 36 0 ;s var: laddr# col: 36 0 36 0 ;s var: laddr# 36 0 36 0 ;s @local1 @local0 field: col: >l 36 0 36 0 ;s @local1 @local0 field: col: 36 0 36 0 ;s @local1 @local0 field: 36 0 36 0 2over compare 0= ?branch 36 0 36 0 2over compare 0= 36 0 36 0 2over compare 36 0 36 0 2over 36 0 36 0 2@ 2over compare 0= ?branch 36 0 36 0 2@ 2over compare 0= 36 0 36 0 2@ 2over compare 36 0 36 0 2@ 2over 36 0 36 0 + @ ;s var: laddr# col: 36 0 36 0 + @ ;s var: laddr# 36 0 36 0 + >r ;s @local1 @local0 field: 36 0 36 0 + >r ;s @local1 @local0 36 0 0 36 execute col: col: var: col: @ 36 0 0 36 col: col: var: col: @ @ 36 0 0 36 col: col: var: col: @ 36 0 0 36 @ execute col: col: var: col: 36 0 0 36 ?branch ;s col: col: col: user: 36 0 0 36 ;s + ;s col: 35 7 28 0 swap r> col: 1- tuck + 35 7 28 0 swap r> col: 1- tuck 35 7 28 0 swap r> col: 1- 35 7 28 0 swap invert and ;s dup col: 35 7 28 0 swap invert and ;s dup 35 7 28 0 swap invert and ;s ;s ;s 35 7 28 0 swap invert and ;s ;s 35 7 28 0 rot r@ col: 1- tuck + 35 7 28 0 rot r@ col: 1- tuck 35 7 28 0 rot r@ col: 1- 35 7 28 0 rot r@ col: 35 7 28 0 rot r@ 35 7 28 0 r@ col: 1- tuck + swap 35 7 28 0 r@ col: 1- tuck + 35 7 28 0 r@ col: 1- tuck 35 7 28 0 r@ col: 1- 35 7 28 0 r> col: 1- tuck + swap 35 7 28 0 r> col: 1- tuck + 35 7 28 0 r> col: 1- tuck 35 7 28 0 r> col: 1- 35 7 28 0 invert and ;s dup col: col: 35 7 28 0 invert and ;s dup col: 35 7 28 0 invert and ;s dup 35 7 28 0 invert and ;s ;s ;s 35 7 28 0 invert and ;s ;s 35 7 28 0 and ;s dup col: col: col: 35 7 28 0 and ;s dup col: col: 35 7 28 0 and ;s dup col: 35 7 28 0 and ;s dup 35 7 28 0 and ;s ;s ;s 35 7 28 0 and ;s ;s 35 7 28 0 >r rot r@ col: 1- tuck 35 7 28 0 >r rot r@ col: 1- 35 7 28 0 >r rot r@ col: 35 7 28 0 >r rot r@ 35 7 28 0 ;s >r rot r@ col: 1- 35 7 28 0 ;s >r rot r@ col: 35 7 28 0 ;s >r rot r@ 35 7 28 0 ;s >r rot 35 7 28 0 ;s + swap r> col: 1- 35 7 28 0 ;s + swap r> col: 35 7 28 0 ;s + swap r> 35 7 28 0 + swap r> col: 1- tuck 35 7 28 0 + swap r> col: 1- 35 7 28 0 + swap r> col: 35 7 28 0 + swap r> 35 7 28 0 + swap invert and ;s dup 35 7 28 0 + swap invert and ;s ;s 35 4 14 17 aligned swap (?do) unloop ;s ;s 35 15 14 6 swap >r dup allocate col: ?dup 35 15 14 6 dup allocate col: ?dup ?branch ;s 35 15 14 6 dup allocate col: ?dup ?branch 35 15 14 6 dup allocate col: ?dup 35 15 14 6 allocate col: ?dup ?branch ;s swap 35 15 14 6 ?dup ?branch ;s swap 2dup r> 35 15 14 6 ?branch ;s swap 2dup r> -rot 35 15 14 6 ?branch ;s swap 2dup r> 35 15 14 6 >r dup allocate col: ?dup ?branch 35 15 14 6 >r dup allocate col: ?dup 35 14 16 5 rdrop ;s nip ?branch 35 14 16 5 rdrop ;s nip 35 14 16 5 ?branch rdrop ;s nip ?branch 35 14 16 5 ?branch rdrop ;s nip 35 14 16 5 ;s nip ?branch 35 1 34 0 ! ;s drop ;s ;s 35 0 35 0 swap >r dup allocate col: col: 35 0 35 0 rdrop ;s swap 2dup r> -rot 35 0 35 0 rdrop ;s swap 2dup r> 35 0 35 0 rdrop ;s swap 2dup 35 0 35 0 rdrop ;s swap 35 0 35 0 lp- @local1 ?branch lp+!# ;s 35 0 35 0 lp- @local1 ?branch lp+!# 35 0 35 0 lp- @local1 >l lp- @local1 ?branch 35 0 35 0 dup allocate col: col: r> r> 35 0 35 0 dup allocate col: col: r> 35 0 35 0 dup allocate col: col: 35 0 35 0 @local1 ?branch lp+!# ;s 35 0 35 0 @local1 ?branch lp+!# 35 0 35 0 @local1 >l lp- @local1 ?branch 35 0 35 0 ?branch rdrop ;s swap 2dup r> 35 0 35 0 ?branch rdrop ;s swap 2dup 35 0 35 0 ?branch rdrop ;s swap 35 0 35 0 ?branch lp+!# ;s 35 0 35 0 ?branch lp+!# 35 0 35 0 >r dup allocate col: col: r> 35 0 35 0 >r dup allocate col: col: 35 0 35 0 >r ?branch rdrop ;s swap 2dup 35 0 35 0 >r ?branch rdrop ;s swap 35 0 35 0 >l lp- @local1 ?branch lp+!# ;s 35 0 35 0 >l lp- @local1 ?branch lp+!# 35 0 35 0 ;s >r ?branch rdrop ;s swap 35 0 35 0 ;s +! ;s ! ;s drop 35 0 35 0 ;s ! ;s drop ;s 35 0 35 0 ;s ! ;s drop 35 0 35 0 +! ;s ! ;s drop ;s 35 0 35 0 +! ;s ! ;s drop 35 0 35 0 + 2@ 35 0 22 13 ;s ;s r> ;s ;s 35 0 22 13 ;s ;s r> ;s 35 0 0 35 r> ;s ;s does: @ col: 35 0 0 35 r> ;s ;s does: @ 35 0 0 35 r> ;s ;s does: 35 0 0 35 drop does: @ col: var: col: 35 0 0 35 drop does: @ col: var: 35 0 0 35 drop does: @ col: 35 0 0 35 drop does: @ 35 0 0 35 drop does: 35 0 0 35 ?branch drop does: @ col: var: 35 0 0 35 ?branch drop does: @ col: 35 0 0 35 ?branch drop does: @ 35 0 0 35 ?branch drop does: 35 0 0 35 >r col: 2dup col: lit col: 35 0 0 35 >r col: 2dup col: lit 35 0 0 35 >r col: 2dup col: 35 0 0 35 >r col: 2dup 35 0 0 35 ;s r> ;s ;s does: @ 35 0 0 35 ;s r> ;s ;s does: 34 34 0 0 con: = ?branch lit col: dup 34 34 0 0 con: = ?branch lit col: 34 34 0 0 con: = ?branch lit 34 34 0 0 col: col: lit col: >r defer: 34 34 0 0 @ con: = ?branch lit col: 34 34 0 0 @ con: = ?branch lit 34 34 0 0 ?branch lit col: dup @ con: 34 34 0 0 ?branch lit col: dup @ 34 34 0 0 ?branch lit col: dup 34 34 0 0 = ?branch lit col: dup @ 34 34 0 0 = ?branch lit col: dup 34 34 0 0 = ?branch lit col: 34 34 0 0 ;s @ con: = ?branch lit 34 34 0 0 ;s 2drop ;s ;s ;s branch 34 34 0 0 ;s 2drop ;s ;s ;s 34 34 0 0 +! ;s 2drop ;s ;s ;s 34 3 24 7 lit <> ?branch 34 27 7 0 user: @ 0= ?branch 2drop con: 34 27 7 0 user: @ 0= ?branch 2drop 34 27 7 0 swap ! ;s branch r> user: 34 27 7 0 swap ! ;s branch r> 34 27 7 0 rdrop user: col: con: swap ! 34 27 7 0 rdrop user: col: con: swap 34 27 7 0 rdrop user: col: con: 34 27 7 0 rdrop user: col: 34 27 7 0 rdrop user: 34 27 7 0 con: swap ! ;s branch r> 34 27 7 0 branch r> user: ! ;s user: 34 27 7 0 branch r> user: ! ;s 34 27 7 0 branch r> user: ! 34 27 7 0 branch r> user: 34 27 7 0 branch r> 34 27 7 0 @ 0= ?branch 2drop con: ;s 34 27 7 0 @ 0= ?branch 2drop con: 34 27 7 0 @ 0= ?branch 2drop 34 27 7 0 ?branch 2drop user: 34 27 7 0 ?branch 2drop rdrop user: col: con: 34 27 7 0 ?branch 2drop rdrop user: col: 34 27 7 0 ?branch 2drop rdrop user: 34 27 7 0 ?branch 2drop con: ;s 34 27 7 0 ;s user: @ 0= ?branch 2drop 34 27 7 0 ;s branch r> user: ! ;s 34 27 7 0 ;s branch r> user: ! 34 27 7 0 ;s branch r> user: 34 27 7 0 ;s branch r> 34 27 7 0 2drop user: 34 27 7 0 2drop rdrop user: col: con: swap 34 27 7 0 2drop rdrop user: col: con: 34 27 7 0 2drop rdrop user: col: 34 27 7 0 2drop rdrop user: 34 27 7 0 0= ?branch 2drop con: ;s 34 27 7 0 0= ?branch 2drop con: 34 27 7 0 ! ;s branch r> user: ! 34 27 7 0 ! ;s branch r> user: 34 27 7 0 ! ;s branch r> 34 15 13 6 user: ! execute col: col: r> 34 15 13 6 execute col: col: r> user: @ 34 15 13 6 execute col: col: r> user: 34 15 13 6 ! execute col: col: r> user: 34 15 13 6 ! execute col: col: r> 34 14 15 5 col: col: 2dup lit col: >r 34 14 15 5 col: col: 2dup lit col: 34 14 15 5 col: col: 2dup lit 34 14 15 5 col: col: 2dup 34 14 12 8 ?branch ;s ;s r> 34 12 16 6 lit var: ! ;s ;s ;s 34 10 11 13 var: ! ;s ;s branch 34 1 32 1 lit > 34 0 34 0 nip execute col: >l >l >l 34 0 34 0 execute col: >l >l >l >l 34 0 34 0 compare 0= ?branch r> cell+ cell+ 34 0 34 0 compare 0= ?branch r> cell+ 34 0 34 0 compare 0= ?branch r> 34 0 34 0 @local3 col: >l >l >l 34 0 34 0 @local2 @local3 col: >l >l >l 34 0 34 0 ?branch r> cell+ cell+ (loop) 34 0 34 0 ?branch r> cell+ cell+ 34 0 34 0 ?branch r> cell+ 34 0 34 0 ?branch branch drop ;s ;s user: 34 0 34 0 ;s lp+2 ;s lp+ ;s 34 0 34 0 ;s ! ;s drop ;s ;s 34 0 34 0 2over compare 0= ?branch r> cell+ 34 0 34 0 2over compare 0= ?branch r> 34 0 34 0 2@ 2over compare 0= ?branch r> 34 0 34 0 0= ?branch r> cell+ cell+ (loop) 34 0 34 0 0= ?branch r> cell+ cell+ 34 0 34 0 0= ?branch r> cell+ 34 0 34 0 0= ?branch r> 34 0 0 34 swap 0= and ?branch col: col: 34 0 0 34 swap 0= and ?branch col: 34 0 0 34 cr ;s col: var: @ var: 34 0 0 34 cr ;s col: var: @ 34 0 0 34 cr ;s col: var: 34 0 0 34 ;s cr ;s col: var: @ 34 0 0 34 ;s cr ;s col: var: 34 0 0 34 0<> swap 0= and ?branch col: 34 0 0 34 (type) ;s cr ;s col: var: 33 9 11 13 var: ! ;s ;s branch col: 33 33 0 0 cell+ ;s @ dup ?branch dup 33 33 0 0 branch dup ?branch drop r> ;s 33 33 0 0 branch dup ?branch drop r> 33 33 0 0 @ dup ?branch dup col: col: 33 33 0 0 ;s branch dup ?branch drop r> 33 33 0 0 ;s @ dup ?branch dup col: 33 33 0 0 ;s @ dup ?branch dup 33 20 5 8 unloop ;s ;s ;s ;s branch 33 20 5 8 unloop ;s ;s ;s ;s 33 14 14 5 var: swap ;s 33 14 14 5 unloop 0<> lit and col: ?dup 33 14 14 5 unloop 0<> lit and col: 33 14 14 5 unloop 0<> lit and 33 14 14 5 unloop 0<> lit 33 14 14 5 unloop 0<> 33 14 14 5 rdrop lit branch unloop 0<> lit 33 14 14 5 rdrop lit branch unloop 0<> 33 14 14 5 rdrop lit branch unloop 33 14 14 5 rdrop lit branch 33 14 14 5 rdrop ;s nip ?branch var: 2@ 33 14 14 5 rdrop ;s nip ?branch var: 33 14 14 5 r> rdrop lit branch unloop 0<> 33 14 14 5 r> rdrop lit branch unloop 33 14 14 5 r> rdrop lit branch 33 14 14 5 r> rdrop lit 33 14 14 5 r> rdrop 33 14 14 5 open-file 0= ?branch nip nip r> 33 14 14 5 open-file 0= ?branch nip nip 33 14 14 5 open-file 0= ?branch nip 33 14 14 5 nip r> rdrop lit branch unloop 33 14 14 5 nip r> rdrop lit branch 33 14 14 5 nip r> rdrop lit 33 14 14 5 nip r> rdrop 33 14 14 5 nip nip r> rdrop lit branch 33 14 14 5 nip nip r> rdrop lit 33 14 14 5 nip nip r> rdrop 33 14 14 5 nip nip r> 33 14 14 5 nip ?branch var: 2@ lit (?do) 33 14 14 5 nip ?branch var: 2@ lit 33 14 14 5 nip ?branch var: 2@ 33 14 14 5 nip ?branch var: 33 14 14 5 lit branch unloop 0<> lit and 33 14 14 5 lit branch unloop 0<> lit 33 14 14 5 lit branch unloop 0<> 33 14 14 5 lit branch unloop 33 14 14 5 lit (?do) dup >r 2@ dup 33 14 14 5 dup ?branch rdrop ;s nip ?branch 33 14 14 5 dup ?branch rdrop ;s nip 33 14 14 5 con: open-file 0= ?branch nip nip 33 14 14 5 con: open-file 0= ?branch nip 33 14 14 5 col: ?dup ?branch ;s var: swap 33 14 14 5 close-file 33 14 14 5 branch unloop 0<> lit and col: 33 14 14 5 branch unloop 0<> lit and 33 14 14 5 branch unloop 0<> lit 33 14 14 5 branch unloop 0<> 33 14 14 5 branch unloop 33 14 14 5 branch dup ?branch rdrop ;s nip 33 14 14 5 and col: ?dup ?branch ;s var: 33 14 14 5 ?dup ?branch ;s var: swap ;s 33 14 14 5 ?dup ?branch ;s var: swap 33 14 14 5 ?branch var: 2@ lit (?do) dup 33 14 14 5 ?branch var: 2@ lit (?do) 33 14 14 5 ?branch var: 2@ lit 33 14 14 5 ?branch var: 2@ 33 14 14 5 ?branch rdrop ;s nip ?branch var: 33 14 14 5 ?branch nip nip r> rdrop lit 33 14 14 5 ?branch nip nip r> rdrop 33 14 14 5 ?branch nip nip r> 33 14 14 5 ?branch ;s var: swap ;s 33 14 14 5 ?branch ;s var: swap 33 14 14 5 >r con: open-file 0= ?branch nip 33 14 14 5 ;s var: swap ;s 33 14 14 5 ;s var: swap 33 14 14 5 ;s nip ?branch var: 2@ lit 33 14 14 5 ;s nip ?branch var: 2@ 33 14 14 5 ;s nip ?branch var: 33 14 14 5 0= ?branch nip nip r> rdrop 33 14 14 5 0= ?branch nip nip r> 33 14 14 5 0= ?branch nip nip 33 14 14 5 0<> lit and col: ?dup ?branch 33 14 14 5 0<> lit and col: ?dup 33 14 14 5 0<> lit and col: 33 14 14 5 0<> lit and 33 14 14 5 0<> lit 33 14 14 5 (?do) dup >r 2@ dup >r 33 14 14 5 (?do) dup >r 2@ dup 33 12 9 12 ?branch ;s ;s ;s ;s ;s 33 1 22 10 ;s drop ;s ;s ;s 33 0 0 33 swap +! ;s ;s ;s >r 33 0 0 33 ;s ;s >r col: 33 0 0 33 ;s ;s >r 33 0 0 33 ;s ;s ;s >r col: 33 0 0 33 ;s ;s ;s >r 33 0 0 33 +! ;s ;s ;s >r col: 33 0 0 33 +! ;s ;s ;s >r 33 0 0 33 ! ;s ;s ;s ;s does: 32 6 20 6 ;s ;s 0= ?branch ;s >body 32 6 20 6 ;s 0= ?branch ;s >body 32 32 0 0 unloop 2drop ;s ;s ;s var: 32 32 0 0 cell+ cell+ ;s ! ;s col: 32 32 0 0 cell+ ;s ! ;s col: col: 32 32 0 0 cell+ ;s ! ;s col: 32 32 0 0 ;s col: lit col: dup @ 32 32 0 0 ;s col: lit col: dup 32 32 0 0 2drop ;s ;s ;s var: 32 31 1 0 execute col: lit col: dup 32 27 5 0 con: ;s dup ?branch 32 27 5 0 con: ;s dup 32 27 5 0 ?branch 2drop con: ;s dup ?branch 32 27 5 0 ?branch 2drop con: ;s dup 32 27 5 0 2drop con: ;s dup ?branch 32 27 5 0 2drop con: ;s dup 32 27 5 0 0= ?branch 2drop con: ;s dup 32 2 29 1 swap ;s branch col: sp@ user: 32 2 29 1 swap ;s branch col: sp@ 32 2 29 1 swap ;s branch col: 32 2 29 1 nip nip execute swap ;s branch 32 2 29 1 nip nip execute swap ;s 32 2 29 1 nip nip execute swap 32 2 29 1 nip execute swap ;s branch col: 32 2 29 1 nip execute swap ;s branch 32 2 29 1 nip execute swap ;s 32 2 29 1 nip execute swap 32 2 29 1 execute swap ;s branch col: sp@ 32 2 29 1 execute swap ;s branch col: 32 2 29 1 execute swap ;s branch 32 2 29 1 execute swap ;s 32 2 29 1 execute swap 32 2 29 1 and ?branch nip nip execute swap 32 2 29 1 ?branch nip nip execute swap ;s 32 2 29 1 ?branch nip nip execute swap 32 16 11 5 nip nip execute does: col: 32 16 11 5 nip execute does: col: 32 16 11 5 execute does: col: 32 16 11 5 ?branch nip nip execute does: col: 32 14 13 5 var: 2@ tuck 1+ 2* cells 32 14 13 5 var: 2@ tuck 1+ 2* 32 14 13 5 var: 2@ tuck 1+ 32 14 13 5 var: 2@ tuck 32 14 13 5 var: 2@ nip 1- user: ! 32 14 13 5 var: 2@ nip 1- user: 32 14 13 5 var: 2@ nip 1- 32 14 13 5 var: 2! 2* cells + 2! 32 14 13 5 var: 2! 2* cells + 32 14 13 5 var: 2! 2* cells 32 14 13 5 var: 2! 2* 32 14 13 5 user: @ >r col: swap >r 32 14 13 5 user: @ >r col: swap 32 14 13 5 user: @ >r col: 32 14 13 5 user: ! lit user: ! user: 32 14 13 5 user: ! execute col: col: user: 32 14 13 5 tuck 1+ 2* cells resize col: 32 14 13 5 tuck 1+ 2* cells resize 32 14 13 5 tuck 1+ 2* cells 32 14 13 5 tuck 1+ 2* 32 14 13 5 tuck 1+ 32 14 13 5 swap 2dup 1+ var: 2! 2* 32 14 13 5 swap 2dup 1+ var: 2! 32 14 13 5 swap 2dup 1+ var: 32 14 13 5 swap 2dup 1+ 32 14 13 5 swap ! ;s lit col: >r 32 14 13 5 swap ! ;s lit col: 32 14 13 5 resize col: ?dup ?branch ;s swap 32 14 13 5 resize col: ?dup ?branch ;s 32 14 13 5 resize col: ?dup ?branch 32 14 13 5 resize col: ?dup 32 14 13 5 resize col: 32 14 13 5 resize 32 14 13 5 r> -rot move ;s col: var: 32 14 13 5 nip 1- user: ! lit col: 32 14 13 5 nip 1- user: ! lit 32 14 13 5 nip 1- user: ! 32 14 13 5 nip 1- user: 32 14 13 5 nip 1- 32 14 13 5 move ;s col: var: 2@ tuck 32 14 13 5 move ;s col: var: 2@ 32 14 13 5 move ;s col: var: 32 14 13 5 lit user: ! user: col: con: 32 14 13 5 lit user: ! user: col: 32 14 13 5 lit user: ! user: 32 14 13 5 con: swap ! ;s lit col: 32 14 13 5 col: var: 2@ tuck 1+ 2* 32 14 13 5 col: var: 2@ tuck 1+ 32 14 13 5 col: var: 2@ tuck 32 14 13 5 col: user: @ >r col: swap 32 14 13 5 col: user: @ >r col: 32 14 13 5 cells resize col: ?dup ?branch ;s 32 14 13 5 cells resize col: ?dup ?branch 32 14 13 5 cells resize col: ?dup 32 14 13 5 cells resize col: 32 14 13 5 cells resize 32 14 13 5 cells + 2! ;s var: 2@ 32 14 13 5 cells + 2! ;s var: 32 14 13 5 cells + 2! ;s 32 14 13 5 cells + 2! 32 14 13 5 @ >r col: swap >r dup 32 14 13 5 @ >r col: swap >r 32 14 13 5 @ >r col: swap 32 14 13 5 @ >r col: 32 14 13 5 ?dup ?branch ;s swap 2dup 1+ 32 14 13 5 ?branch ;s swap 2dup 1+ var: 32 14 13 5 ?branch ;s swap 2dup 1+ 32 14 13 5 >r col: swap >r dup allocate 32 14 13 5 >r col: swap >r dup 32 14 13 5 >r col: swap >r 32 14 13 5 >r col: swap 32 14 13 5 >r >r ;s user: ! lit 32 14 13 5 >r ;s user: ! lit user: 32 14 13 5 >r ;s user: ! lit 32 14 13 5 ;s var: 2@ nip 1- user: 32 14 13 5 ;s var: 2@ nip 1- 32 14 13 5 ;s var: 2@ nip 32 14 13 5 ;s user: ! lit user: ! 32 14 13 5 ;s user: ! lit user: 32 14 13 5 ;s swap 2dup 1+ var: 2! 32 14 13 5 ;s swap 2dup 1+ var: 32 14 13 5 ;s swap 2dup 1+ 32 14 13 5 ;s lit col: >r sp@ r> 32 14 13 5 ;s lit col: >r sp@ 32 14 13 5 ;s col: var: 2@ tuck 1+ 32 14 13 5 ;s col: var: 2@ tuck 32 14 13 5 2dup 1+ var: 2! 2* cells 32 14 13 5 2dup 1+ var: 2! 2* 32 14 13 5 2dup 1+ var: 2! 32 14 13 5 2dup 1+ var: 32 14 13 5 2dup 1+ 32 14 13 5 2@ tuck 1+ 2* cells resize 32 14 13 5 2@ tuck 1+ 2* cells 32 14 13 5 2@ tuck 1+ 2* 32 14 13 5 2@ tuck 1+ 32 14 13 5 2@ tuck 32 14 13 5 2@ nip 1- user: ! lit 32 14 13 5 2@ nip 1- user: ! 32 14 13 5 2@ nip 1- user: 32 14 13 5 2@ nip 1- 32 14 13 5 2* cells resize col: ?dup ?branch 32 14 13 5 2* cells resize col: ?dup 32 14 13 5 2* cells resize col: 32 14 13 5 2* cells resize 32 14 13 5 2* cells + 2! ;s var: 32 14 13 5 2* cells + 2! ;s 32 14 13 5 2* cells + 2! 32 14 13 5 2! ;s var: 2@ nip 1- 32 14 13 5 2! ;s var: 2@ nip 32 14 13 5 2! ;s var: 2@ 32 14 13 5 2! 2* cells + 2! ;s 32 14 13 5 2! 2* cells + 2! 32 14 13 5 2! 2* cells + 32 14 13 5 2! 2* cells 32 14 13 5 2! 2* 32 14 13 5 1- user: ! lit col: >r 32 14 13 5 1- user: ! lit col: 32 14 13 5 1- user: ! lit 32 14 13 5 1- user: ! 32 14 13 5 1- user: 32 14 13 5 1+ var: 2! 2* cells + 32 14 13 5 1+ var: 2! 2* cells 32 14 13 5 1+ var: 2! 2* 32 14 13 5 1+ var: 2! 32 14 13 5 1+ 2* cells resize col: ?dup 32 14 13 5 1+ 2* cells resize col: 32 14 13 5 1+ 2* cells resize 32 14 13 5 1+ 2* cells 32 14 13 5 1+ 2* 32 14 13 5 -rot move ;s col: var: 2@ 32 14 13 5 -rot move ;s col: var: 32 14 13 5 + 2! ;s var: 2@ nip 32 14 13 5 + 2! ;s var: 2@ 32 14 13 5 + 2! ;s var: 32 14 13 5 + 2! ;s 32 14 13 5 + 2! 32 14 13 5 ! lit user: ! user: col: 32 14 13 5 ! lit user: ! user: 32 14 13 5 ! execute col: col: user: @ 32 14 13 5 ! execute col: col: user: 32 14 13 5 ! ;s lit col: >r sp@ 32 0 32 0 @local1 lit col: >l >l @local0 32 0 0 32 swap +! ;s ;s ;s col: 32 0 0 32 r> r> col: col: col: user: 32 0 0 32 r> r> col: col: col: 32 0 0 32 r> r> col: col: 32 0 0 32 r> r> col: 32 0 0 32 r> ;s ;s ;s does: @ 32 0 0 32 r> ;s ;s ;s does: 32 0 0 32 dup ?branch drop does: @ col: 32 0 0 32 dup ?branch drop does: @ 32 0 0 32 dup ?branch drop does: 32 0 0 32 >r >r >r 32 0 0 32 ;s dup ?branch drop does: @ 32 0 0 32 ;s dup ?branch drop does: 32 0 0 32 ;s >r col: 2dup col: lit 32 0 0 32 ;s >r col: 2dup col: 32 0 0 32 ;s >r col: 2dup 32 0 0 32 ;s ;s dup ?branch drop does: 32 0 0 32 ;s ;s >r col: 2dup col: 32 0 0 32 ;s ;s >r col: 2dup 32 0 0 32 ;s ;s ;s dup ?branch drop 32 0 0 32 ;s ;s ;s >r col: 2dup 32 0 0 32 2drop r> ;s ;s ;s does: 32 0 0 32 +! ;s ;s ;s col: 31 5 26 0 ;s 2dup defer: (type) 31 5 26 0 ;s 2dup defer: 31 31 0 0 execute col: lit col: dup @ 31 31 0 0 @ execute col: lit col: dup 31 16 10 5 nip nip execute does: col: var: 31 16 10 5 nip execute does: col: var: dup 31 16 10 5 nip execute does: col: var: 31 16 10 5 execute does: col: var: dup @ 31 16 10 5 execute does: col: var: dup 31 16 10 5 execute does: col: var: 31 14 12 5 col: ?dup ?branch ;s ;s r> 31 14 12 5 col: ?dup ?branch ;s ;s ;s 31 14 12 5 ?dup ?branch ;s ;s r> user: 31 14 12 5 ?dup ?branch ;s ;s r> 31 14 12 5 ?dup ?branch ;s ;s ;s 31 14 12 5 ?branch ;s r> 31 14 12 5 ?branch ;s ;s r> user: ! 31 14 12 5 ?branch ;s ;s r> user: 31 14 12 5 ;s ;s r> user: ! rdrop 31 14 12 5 ;s ;s r> user: ! 31 14 12 5 ;s ;s r> user: 31 0 31 0 over swap col: col: user: @ 31 0 31 0 over swap col: col: user: 31 0 31 0 over swap col: col: 31 0 31 0 over swap col: 31 0 31 0 lp+2 ;s lit > 31 0 31 0 lp+ ;s ;s branch col: sp@ 31 0 31 0 lp+ ;s ;s branch col: 31 0 31 0 lp+ ;s ;s branch 31 0 31 0 drop @local0 lp+2 ;s lit > 31 0 31 0 col: over swap col: col: user: 31 0 31 0 col: over swap col: col: 31 0 31 0 col: over swap col: 31 0 31 0 col: over swap 31 0 31 0 @local0 lp+2 ;s lit > 31 0 31 0 @ ;s swap col: col: user: 31 0 31 0 ;s lit > 31 0 31 0 ;s col: over swap col: col: 31 0 31 0 ;s col: over swap col: 31 0 31 0 ;s col: over swap 31 0 31 0 ! lp+ ;s lp+ ;s @local1 31 0 31 0 ! @local1 31 0 21 10 ;s drop ;s ;s ;s branch 30 4 26 0 var: @ and ?dup ?branch col: 30 4 26 0 unloop drop ;s ;s col: lit 30 4 26 0 unloop drop ;s ;s col: 30 4 26 0 unloop drop ;s ;s ;s var: 30 4 26 0 lit and ;s 2dup defer: (type) 30 4 26 0 lit and ;s 2dup defer: 30 4 26 0 lit and ;s 2dup 30 4 26 0 drop ;s ;s col: lit does: 30 4 26 0 drop ;s ;s col: lit 30 4 26 0 drop ;s ;s ;s var: @ 30 4 26 0 drop ;s ;s ;s var: 30 4 26 0 defer: (type) compare 0<> ?branch 30 4 26 0 defer: (type) compare 0<> 30 4 26 0 defer: (type) compare 30 4 26 0 defer: (type) ;s col: cell+ count 30 4 26 0 defer: (type) ;s col: cell+ 30 4 26 0 count lit and ;s 2dup defer: 30 4 26 0 count lit and ;s 2dup 30 4 26 0 count defer: (type) ;s col: cell+ 30 4 26 0 compare 0<> ?branch 30 4 26 0 compare 0<> 30 4 26 0 cell+ count lit and ;s 2dup 30 4 26 0 and ?dup ?branch col: col: r> 30 4 26 0 and ?dup ?branch col: col: 30 4 26 0 and ?dup ?branch col: 30 4 26 0 and ;s 2dup defer: (type) compare 30 4 26 0 and ;s 2dup defer: (type) 30 4 26 0 and ;s 2dup defer: 30 4 26 0 and ;s 2dup 30 4 26 0 @ and ?dup ?branch col: col: 30 4 26 0 @ and ?dup ?branch col: 30 4 26 0 ;s col: cell+ count lit and 30 4 26 0 ;s col: cell+ count lit 30 4 26 0 ;s col: cell+ count 30 4 26 0 ;s ;s var: @ field: @ 30 4 26 0 ;s ;s var: @ field: 30 4 26 0 ;s ;s col: lit does: swap 30 4 26 0 ;s ;s col: lit does: 30 4 26 0 ;s ;s ;s var: @ field: 30 4 26 0 ;s 2dup defer: (type) compare 0<> 30 4 26 0 ;s 2dup defer: (type) compare 30 4 26 0 2dup defer: (type) compare 0<> ?branch 30 4 26 0 2dup defer: (type) compare 0<> 30 4 26 0 2dup defer: (type) compare 30 4 26 0 (type) compare 0<> ?branch 30 4 26 0 (type) compare 0<> 30 4 26 0 (type) compare 30 4 26 0 (type) ;s col: cell+ count lit 30 4 26 0 (type) ;s col: cell+ count 30 4 26 0 (type) ;s col: cell+ 30 4 26 0 (+loop) unloop drop ;s ;s col: 30 13 12 5 user: @ close-file swap 2dup or 30 13 12 5 user: @ close-file swap 2dup 30 13 12 5 user: @ close-file swap 30 13 12 5 user: @ close-file 30 13 12 5 user: ! col: ?dup ?branch ;s 30 13 12 5 user: ! col: ?dup ?branch 30 13 12 5 user: ! col: ?dup 30 13 12 5 user: ! >r ;s drop col: 30 13 12 5 user: ! >r ;s drop 30 13 12 5 user: ! ;s ?branch ;s r> 30 13 12 5 user: ! ;s ?branch ;s 30 13 12 5 swap 2dup or col: dup ?branch 30 13 12 5 swap 2dup or col: dup 30 13 12 5 swap 2dup or col: 30 13 12 5 swap 2dup or 30 13 12 5 rdrop rdrop rdrop lit ;s user: 30 13 12 5 rdrop rdrop rdrop lit ;s r> 30 13 12 5 rdrop rdrop lit ;s user: @ 30 13 12 5 rdrop rdrop lit ;s user: 30 13 12 5 rdrop rdrop lit ;s r> user: 30 13 12 5 rdrop rdrop lit ;s r> 30 13 12 5 rdrop lit ;s user: @ close-file 30 13 12 5 rdrop lit ;s user: @ 30 13 12 5 rdrop lit ;s user: 30 13 12 5 rdrop lit ;s r> user: ! 30 13 12 5 rdrop lit ;s r> user: 30 13 12 5 rdrop lit ;s r> 30 13 12 5 r> user: ! col: ?dup ?branch 30 13 12 5 r> user: ! col: ?dup 30 13 12 5 r> user: ! >r ;s drop 30 13 12 5 or col: dup ?branch r> r> 30 13 12 5 or col: dup ?branch r> 30 13 12 5 or col: dup ?branch 30 13 12 5 or col: dup 30 13 12 5 lit user: ! ;s ?branch ;s 30 13 12 5 lit ;s user: @ close-file swap 30 13 12 5 lit ;s user: @ close-file 30 13 12 5 lit ;s user: @ 30 13 12 5 lit ;s user: 30 13 12 5 lit ;s r> user: ! col: 30 13 12 5 lit ;s r> user: ! 30 13 12 5 lit ;s r> user: 30 13 12 5 lit ;s r> 30 13 12 5 drop col: ?dup ?branch ;s col: 30 13 12 5 drop col: ?dup ?branch ;s 30 13 12 5 drop col: ?dup ?branch 30 13 12 5 drop col: ?dup 30 13 12 5 col: ?dup ?branch ;s col: ?dup 30 13 12 5 close-file swap 2dup or col: dup 30 13 12 5 close-file swap 2dup or col: 30 13 12 5 close-file swap 2dup or 30 13 12 5 close-file swap 2dup 30 13 12 5 close-file swap 30 13 12 5 @ close-file swap 2dup or col: 30 13 12 5 @ close-file swap 2dup or 30 13 12 5 @ close-file swap 2dup 30 13 12 5 @ close-file swap 30 13 12 5 @ close-file 30 13 12 5 ?dup ?branch ;s col: ?dup ?branch 30 13 12 5 ?dup ?branch ;s col: ?dup 30 13 12 5 ?branch ;s r> user: ! rdrop 30 13 12 5 ?branch ;s r> user: ! 30 13 12 5 ?branch ;s r> user: 30 13 12 5 ?branch ;s col: ?dup ?branch ;s 30 13 12 5 ?branch ;s col: ?dup ?branch 30 13 12 5 ?branch ;s col: ?dup 30 13 12 5 >r ;s drop col: ?dup ?branch 30 13 12 5 >r ;s drop col: ?dup 30 13 12 5 >r ;s drop col: 30 13 12 5 >r ;s drop 30 13 12 5 ;s user: @ close-file swap 2dup 30 13 12 5 ;s user: @ close-file swap 30 13 12 5 ;s user: @ close-file 30 13 12 5 ;s r> user: ! col: ?dup 30 13 12 5 ;s r> user: ! col: 30 13 12 5 ;s drop col: ?dup ?branch ;s 30 13 12 5 ;s drop col: ?dup ?branch 30 13 12 5 ;s drop col: ?dup 30 13 12 5 ;s ?branch ;s r> user: ! 30 13 12 5 ;s ?branch ;s r> user: 30 13 12 5 ;s ?branch ;s r> 30 13 12 5 2dup or col: dup ?branch r> 30 13 12 5 2dup or col: dup ?branch 30 13 12 5 2dup or col: dup 30 13 12 5 2dup or col: 30 13 12 5 2dup or 30 13 12 5 ! col: ?dup ?branch ;s ;s 30 13 12 5 ! col: ?dup ?branch ;s 30 13 12 5 ! col: ?dup ?branch 30 13 12 5 ! col: ?dup 30 13 12 5 ! >r ;s drop col: ?dup 30 13 12 5 ! >r ;s drop col: 30 13 12 5 ! >r ;s drop 30 13 12 5 ! ;s ?branch ;s r> user: 30 13 12 5 ! ;s ?branch ;s r> 30 13 12 5 ! ;s ?branch ;s 30 12 0 18 ;s ! col: 30 0 30 0 var: @local1 field: ! 30 0 30 0 unloop lp+ ;s col: col: r> 30 0 30 0 unloop lp+ ;s col: col: 30 0 30 0 unloop lp+ ;s col: 30 0 30 0 lp- @local1 field: @ @local2 @local3 30 0 30 0 lp- @local1 field: @ @local2 30 0 30 0 lp- @local1 ?branch lp+!# ;s lp+2 30 0 30 0 lp+!# ;s lp+2 ;s lp+ ;s 30 0 30 0 lp+ ;s cr col: col: r> 30 0 30 0 lp+ ;s cr col: col: 30 0 30 0 lp+ ;s cr col: 30 0 30 0 lp+ ;s cr 30 0 30 0 field: @ @local2 @local3 col: >l 30 0 30 0 field: @ @local2 @local3 col: 30 0 30 0 field: @ @local2 @local3 30 0 30 0 field: @ @local2 30 0 30 0 field: ! lp+ ;s 30 0 30 0 field: ! lp+ 30 0 30 0 branch (loop) unloop lp+ ;s col: 30 0 30 0 @local3 col: >l >l >l lp- 30 0 30 0 @local1 field: @ @local2 @local3 col: 30 0 30 0 @local1 field: @ @local2 @local3 30 0 30 0 @local1 field: @ @local2 30 0 30 0 @local1 field: ! lp+ ;s 30 0 30 0 @local1 field: ! lp+ 30 0 30 0 @local1 ?branch lp+!# ;s lp+2 ;s 30 0 30 0 @local1 ?branch lp+!# ;s lp+2 30 0 30 0 @ @local2 @local3 col: >l >l 30 0 30 0 @ @local2 @local3 col: >l 30 0 30 0 @ @local2 @local3 col: 30 0 30 0 @ @local2 @local3 30 0 30 0 @ @local2 30 0 30 0 @ ?branch @local1 field: 30 0 30 0 ?branch lp+!# ;s lp+2 ;s lp+ 30 0 30 0 ?branch lp+!# ;s lp+2 ;s 30 0 30 0 ?branch lp+!# ;s lp+2 30 0 30 0 >l lp- @local1 field: @ @local2 30 0 30 0 >l does: 2@ ;s col: 30 0 30 0 >l does: 2@ ;s 30 0 30 0 >l does: 2@ 30 0 30 0 >l does: 30 0 30 0 >l >l lp- @local1 field: @ 30 0 30 0 >l >l lp- @local1 field: 30 0 30 0 >l >l does: 2@ ;s col: 30 0 30 0 >l >l does: 2@ ;s 30 0 30 0 >l >l does: 2@ 30 0 30 0 >l >l does: 30 0 30 0 >l >l >l lp- @local1 field: 30 0 30 0 ;s lp+2 ;s lp+ ;s @local1 30 0 30 0 ;s lp+ ;s cr col: col: 30 0 30 0 ;s lp+ ;s cr col: 30 0 30 0 ;s lp+ ;s cr 30 0 30 0 (loop) unloop lp+ ;s col: col: 30 0 30 0 (loop) unloop lp+ ;s col: 29 7 7 15 code-address! ;s ;s ;s branch col: 29 7 7 15 code-address! ;s ;s ;s branch 29 7 7 15 code-address! ;s ;s ;s 29 7 7 15 ;s code-address! ;s ;s ;s branch 29 7 7 15 ;s code-address! ;s ;s ;s 29 7 7 15 ! ;s code-address! ;s ;s ;s 29 4 25 0 defer: (type) compare 0<> ?branch 2drop 29 4 25 0 compare 0<> ?branch 2drop col: lit 29 4 25 0 compare 0<> ?branch 2drop col: 29 4 25 0 compare 0<> ?branch 2drop 29 4 25 0 ?branch 2drop col: lit does: swap 29 4 25 0 ?branch 2drop col: lit does: 29 4 25 0 ?branch 2drop col: lit 29 4 25 0 2drop col: lit does: swap lit 29 4 25 0 2drop col: lit does: swap 29 4 25 0 2drop col: lit does: 29 4 25 0 2drop col: lit 29 4 25 0 0<> ?branch 2drop col: lit does: 29 4 25 0 0<> ?branch 2drop col: lit 29 4 25 0 0<> ?branch 2drop col: 29 4 25 0 0<> ?branch 2drop 29 4 25 0 (type) compare 0<> ?branch 2drop col: 29 4 25 0 (type) compare 0<> ?branch 2drop 29 29 0 0 var: @ var: @ + col: 29 29 0 0 var: @ var: @ + 29 29 0 0 var: @ dup col: con: + 29 29 0 0 var: @ dup col: con: 29 29 0 0 var: @ dup col: 29 29 0 0 var: @ + col: 29 29 0 0 nip ;s col: dup @ con: 29 29 0 0 nip ;s col: dup @ 29 29 0 0 nip ;s col: dup 29 29 0 0 lit col: var: @ var: @ 29 29 0 0 lit col: var: @ var: 29 29 0 0 execute col: col: var: @ + 29 29 0 0 dup col: con: + ;s var: 29 29 0 0 dup col: con: + ;s 29 29 0 0 dup col: con: + 29 29 0 0 does-code! ;s ;s ;s col: dup 29 29 0 0 con: + ;s var: ! ;s 29 29 0 0 con: + ;s var: ! 29 29 0 0 con: + ;s var: 29 29 0 0 col: var: @ var: @ + 29 29 0 0 col: con: + ;s var: ! 29 29 0 0 col: con: + ;s var: 29 29 0 0 @ var: @ + col: 29 29 0 0 @ var: @ + 29 29 0 0 @ dup col: con: + ;s 29 29 0 0 @ dup col: con: + 29 29 0 0 @ dup col: con: 29 29 0 0 @ + col: 29 29 0 0 ;s var: @ dup col: con: 29 29 0 0 ;s var: @ dup col: 29 29 0 0 ;s nip ;s col: dup @ 29 29 0 0 ;s nip ;s col: dup 29 29 0 0 ;s lit col: var: @ var: 29 29 0 0 ;s ;s var: @ dup col: 29 29 0 0 ;s ;s var: @ dup 29 29 0 0 + ;s var: ! ;s 29 29 0 0 ! ;s nip ;s col: dup 29 1 14 14 (?do) unloop ;s ;s col: col: 29 0 29 0 var: +! lp+!# ;s ;s branch 29 0 29 0 var: +! lp+!# ;s ;s 29 0 29 0 var: +! lp+!# ;s 29 0 29 0 var: +! lp+!# 29 0 29 0 r> -rot move ;s col: col: 29 0 29 0 nip execute col: >l >l @local0 29 0 29 0 lp+2 ;s cr lp+ ;s @local1 29 0 29 0 lp+2 ;s cr lp+ ;s 29 0 29 0 lp+2 ;s cr lp+ 29 0 29 0 lp+!# ;s @local1 does: @ + 29 0 29 0 lp+!# ;s @local1 does: @ 29 0 29 0 lp+!# ;s @local1 does: 29 0 29 0 lp+!# ;s @local1 29 0 29 0 lp+!# ;s ;s branch col: sp@ 29 0 29 0 lp+!# ;s ;s branch col: 29 0 29 0 lp+!# ;s ;s branch 29 0 29 0 lp+!# ;s ;s 29 0 29 0 lp+ branch >l >l @local1 ?branch 29 0 29 0 lp+ ;s @local0 field: ! @local0 29 0 29 0 lp+ ;s @local0 field: ! 29 0 29 0 lp+ ;s @local0 field: 29 0 29 0 lit var: +! lp+!# ;s ;s 29 0 29 0 lit var: +! lp+!# ;s 29 0 29 0 lit var: +! lp+!# 29 0 29 0 lit defer: (emit) ;s @local1 does: 29 0 29 0 field: lp+ ;s ;s branch col: 29 0 29 0 field: lp+ ;s ;s branch 29 0 29 0 field: lp+ ;s ;s 29 0 29 0 field: ! @local0 @local1 col: >l 29 0 29 0 field: ! @local0 @local1 col: 29 0 29 0 field: ! @local0 @local1 29 0 29 0 execute col: >l >l @local1 @local0 29 0 29 0 execute col: >l >l @local0 does: 29 0 29 0 dup ?branch 2drop lp+!# ;s @local1 29 0 29 0 does: @ + @ ;s ?branch 29 0 29 0 does: @ + 2@ ;s defer: 29 0 29 0 does: @ + 2@ ;s 29 0 29 0 does: @ + 2@ 29 0 29 0 does: 2@ ;s col: col: user: 29 0 29 0 does: 2@ ;s col: col: 29 0 29 0 defer: (type) col: lit defer: (emit) 29 0 29 0 defer: (type) col: lit defer: 29 0 29 0 defer: (emit) ;s @local1 does: @ 29 0 29 0 defer: (emit) ;s @local1 does: 29 0 29 0 col: >l >l @local1 @local0 does: 29 0 29 0 col: >l >l @local1 @local0 29 0 29 0 col: >l >l >l >l >l 29 0 29 0 cells + ;s @ @local1 @local0 29 0 29 0 branch >l >l @local1 ?branch @local0 29 0 29 0 branch >l >l @local1 ?branch 29 0 29 0 @local3 col: col: col: user: @ 29 0 29 0 @local3 col: col: col: user: 29 0 29 0 @local3 col: col: col: 29 0 29 0 @local3 col: col: 29 0 29 0 @local2 col: swap >r dup allocate 29 0 29 0 @local2 col: swap >r dup 29 0 29 0 @local2 col: swap >r 29 0 29 0 @local2 col: swap 29 0 29 0 @local1 does: @ + 2@ ;s 29 0 29 0 @local1 does: @ + 2@ 29 0 29 0 @local1 col: lit col: lit col: 29 0 29 0 @local1 col: lit col: lit 29 0 29 0 @local1 col: lit col: 29 0 29 0 @local1 col: lit 29 0 29 0 @local1 col: >l >l @local0 does: 29 0 29 0 @local1 @local2 col: swap >r dup 29 0 29 0 @local1 @local2 col: swap >r 29 0 29 0 @local1 @local2 col: swap 29 0 29 0 @local1 @local2 col: 29 0 29 0 @local1 ?branch @local0 1+ @local1 col: 29 0 29 0 @local1 ?branch @local0 1+ @local1 29 0 29 0 @local1 ?branch @local0 1+ 29 0 29 0 @local0 field: lp+ ;s ;s branch 29 0 29 0 @local0 field: lp+ ;s ;s 29 0 29 0 @local0 field: ! @local0 @local1 col: 29 0 29 0 @local0 field: ! @local0 @local1 29 0 29 0 @local0 col: col: col: user: @ 29 0 29 0 @local0 col: col: col: user: 29 0 29 0 @local0 col: col: col: 29 0 29 0 @local0 col: col: 29 0 29 0 @local0 1+ @local1 col: field: @ 29 0 29 0 @local0 1+ @local1 col: field: 29 0 29 0 @local0 1+ @local1 col: 29 0 29 0 @local0 1+ @local1 29 0 29 0 @ @local1 @local0 does: @ + 29 0 29 0 @ @local1 @local0 does: @ 29 0 29 0 @ @local1 @local0 does: 29 0 29 0 @ @local1 @local0 29 0 29 0 @ ;s lp+ branch >l >l 29 0 29 0 @ ;s con: col: col: col: 29 0 29 0 @ ;s ?branch 29 0 29 0 @ + @ ;s ?branch 29 0 29 0 @ + 2@ ;s defer: (type) 29 0 29 0 @ + 2@ ;s defer: 29 0 29 0 @ + 2@ ;s 29 0 29 0 @ + 2@ 29 0 29 0 ?branch @local0 1+ @local1 col: field: 29 0 29 0 ?branch @local0 1+ @local1 col: 29 0 29 0 ?branch @local0 1+ @local1 29 0 29 0 ?branch 2drop lp+2 ;s cr lp+ 29 0 29 0 ?branch 2drop lp+!# ;s @local1 does: 29 0 29 0 ?branch 2drop lp+!# ;s @local1 29 0 29 0 >l does: 2@ ;s col: col: 29 0 29 0 >l @local1 @local0 does: @ + 29 0 29 0 >l @local1 @local0 does: @ 29 0 29 0 >l @local1 @local0 does: 29 0 29 0 >l @local1 @local0 29 0 29 0 >l @local1 ?branch @local0 1+ @local1 29 0 29 0 >l @local1 ?branch @local0 1+ 29 0 29 0 >l >l @local1 @local0 does: @ 29 0 29 0 >l >l @local1 @local0 does: 29 0 29 0 >l >l @local1 @local0 29 0 29 0 >l >l @local1 ?branch @local0 1+ 29 0 29 0 >l >l >l does: 2@ ;s 29 0 29 0 >l >l >l does: 2@ 29 0 29 0 >l >l >l does: 29 0 29 0 >l >l >l >l does: 2@ 29 0 29 0 >l >l >l >l does: 29 0 29 0 >l >l >l >l >l does: 29 0 29 0 ;s lp+ branch >l >l @local1 29 0 29 0 ;s lp+ branch >l >l 29 0 29 0 ;s lit var: +! lp+!# ;s 29 0 29 0 ;s lit var: +! lp+!# 29 0 29 0 ;s lit var: +! 29 0 29 0 ;s defer: (type) col: lit defer: 29 0 29 0 ;s defer: (type) col: lit 29 0 29 0 ;s @local3 col: col: col: user: 29 0 29 0 ;s @local3 col: col: col: 29 0 29 0 ;s @local3 col: col: 29 0 29 0 ;s @local1 does: @ + 2@ 29 0 29 0 ;s @local1 col: lit col: lit 29 0 29 0 ;s @local1 col: lit col: 29 0 29 0 ;s @local1 col: lit 29 0 29 0 ;s @local1 @local2 col: swap >r 29 0 29 0 ;s @local1 @local2 col: swap 29 0 29 0 ;s @local1 @local2 col: 29 0 29 0 ;s @local1 @local2 29 0 29 0 ;s @local0 field: ! @local0 @local1 29 0 29 0 ;s @local0 field: ! @local0 29 0 29 0 ;s @local0 field: ! 29 0 29 0 ;s @local0 col: col: col: user: 29 0 29 0 ;s @local0 col: col: col: 29 0 29 0 ;s @local0 col: col: 29 0 29 0 ;s @ @local1 @local0 does: @ 29 0 29 0 ;s @ @local1 @local0 does: 29 0 29 0 ;s @ @local1 @local0 29 0 29 0 ;s ;s @local1 does: @ + 29 0 29 0 ;s ;s @local1 does: @ 29 0 29 0 ;s ;s @local1 does: 29 0 29 0 ;s ;s @local1 col: lit col: 29 0 29 0 ;s ;s @local1 col: lit 29 0 29 0 ;s ;s @local1 col: 29 0 29 0 ;s ;s ;s @local1 does: @ 29 0 29 0 ;s ;s ;s @local1 does: 29 0 29 0 ;s ;s ;s @local1 col: lit 29 0 29 0 ;s ;s ;s @local1 col: 29 0 29 0 ;s ;s ;s ;s @local1 does: 29 0 29 0 ;s ;s ;s ;s @local1 col: 29 0 29 0 ;s 2! ;s var: col: col: 29 0 29 0 ;s 2! ;s var: col: 29 0 29 0 ;s 2! ;s var: 29 0 29 0 ;s +! ;s 2! ;s var: 29 0 29 0 ;s +! ;s ! ;s @local3 29 0 29 0 ;s +! ;s ! ;s @local1 29 0 29 0 ;s +! ;s ! ;s @local0 29 0 29 0 ;s ! ;s var: col: col: 29 0 29 0 ;s ! ;s var: col: 29 0 29 0 ;s ! ;s var: @ col: 29 0 29 0 ;s ! ;s var: @ 29 0 29 0 ;s ! ;s lit var: +! 29 0 29 0 ;s ! ;s @local3 col: col: 29 0 29 0 ;s ! ;s @local3 col: 29 0 29 0 ;s ! ;s @local3 29 0 29 0 ;s ! ;s @local1 @local2 col: 29 0 29 0 ;s ! ;s @local1 @local2 29 0 29 0 ;s ! ;s @local1 29 0 29 0 ;s ! ;s @local0 col: col: 29 0 29 0 ;s ! ;s @local0 col: 29 0 29 0 ;s ! ;s @local0 29 0 29 0 2drop lp+2 ;s cr lp+ ;s 29 0 29 0 2drop lp+2 ;s cr lp+ 29 0 29 0 2drop lp+!# ;s @local1 does: @ 29 0 29 0 2drop lp+!# ;s @local1 does: 29 0 29 0 2drop lp+!# ;s @local1 29 0 29 0 2@ ;s defer: (type) col: lit 29 0 29 0 2@ ;s defer: (type) col: 29 0 29 0 2@ ;s defer: (type) 29 0 29 0 2@ ;s defer: 29 0 29 0 2@ ;s col: col: user: @ 29 0 29 0 2@ ;s col: col: user: 29 0 29 0 2@ ;s col: col: 29 0 29 0 2! ;s var: col: col: col: 29 0 29 0 2! ;s var: col: col: 29 0 29 0 2! ;s var: col: 29 0 29 0 1+ @local1 col: field: @ ;s 29 0 29 0 1+ @local1 col: field: @ 29 0 29 0 1+ @local1 col: field: 29 0 29 0 1+ @local1 col: 29 0 29 0 1+ @local1 29 0 29 0 -rot move ;s col: col: col: 29 0 29 0 -rot move ;s col: col: 29 0 29 0 +! lp+!# ;s ;s branch col: 29 0 29 0 +! lp+!# ;s ;s branch 29 0 29 0 +! lp+!# ;s ;s 29 0 29 0 +! lp+!# ;s 29 0 29 0 +! lp+!# 29 0 29 0 +! ;s 2! ;s var: col: 29 0 29 0 +! ;s 2! ;s var: 29 0 29 0 +! ;s ! ;s var: col: 29 0 29 0 +! ;s ! ;s var: @ 29 0 29 0 +! ;s ! ;s lit var: 29 0 29 0 +! ;s ! ;s @local3 col: 29 0 29 0 +! ;s ! ;s @local3 29 0 29 0 +! ;s ! ;s @local1 @local2 29 0 29 0 +! ;s ! ;s @local1 29 0 29 0 +! ;s ! ;s @local0 col: 29 0 29 0 +! ;s ! ;s @local0 29 0 29 0 + @ ;s ?branch 29 0 29 0 + ;s @ @local1 @local0 does: 29 0 29 0 + ;s @ @local1 @local0 29 0 29 0 + 2@ ;s defer: (type) col: 29 0 29 0 + 2@ ;s defer: (type) 29 0 29 0 + 2@ ;s defer: 29 0 29 0 + 2@ ;s 29 0 29 0 (type) col: lit defer: (emit) ;s 29 0 29 0 (type) col: lit defer: (emit) 29 0 29 0 (type) col: lit defer: 29 0 29 0 (emit) ;s @local1 does: @ + 29 0 29 0 (emit) ;s @local1 does: @ 29 0 29 0 (emit) ;s @local1 does: 29 0 29 0 ! @local0 field: lp+ ;s ;s 29 0 29 0 ! @local0 @local1 col: >l >l 29 0 29 0 ! @local0 @local1 col: >l 29 0 29 0 ! @local0 @local1 col: 29 0 29 0 ! @local0 @local1 29 0 29 0 ! ;s var: col: col: col: 29 0 29 0 ! ;s var: col: col: 29 0 29 0 ! ;s var: @ col: col: 29 0 29 0 ! ;s lit var: +! lp+!# 29 0 29 0 ! ;s lit var: +! 29 0 29 0 ! ;s @local3 col: col: col: 29 0 29 0 ! ;s @local3 col: col: 29 0 29 0 ! ;s @local3 col: 29 0 29 0 ! ;s @local3 29 0 29 0 ! ;s @local1 @local2 col: swap 29 0 29 0 ! ;s @local1 @local2 col: 29 0 29 0 ! ;s @local1 @local2 29 0 29 0 ! ;s @local0 col: col: col: 29 0 29 0 ! ;s @local0 col: col: 29 0 29 0 ! ;s @local0 col: 29 0 29 0 ! ;s @local0 28 8 12 8 ! ;s branch col: 28 6 21 1 = ?branch dup 28 28 0 0 var: ! ;s col: col: col: 28 28 0 0 rdrop ;s 0> ?branch col: user: 28 28 0 0 cell+ cell+ ;s ! ;s ;s 28 28 0 0 cell+ ;s ! ;s ;s 28 28 0 0 ;s 0> ?branch col: user: @ 28 28 0 0 ;s 0> ?branch col: user: 28 28 0 0 ;s ! ;s lit col: var: 28 28 0 0 + ;s var: ! ;s col: 28 28 0 0 ! ;s lit col: var: @ 28 28 0 0 ! ;s lit col: var: 28 21 7 0 does-code! ;s ;s ;s ;s branch 28 21 7 0 does-code! ;s ;s ;s ;s 28 21 7 0 ;s does-code! ;s ;s ;s ;s 28 12 0 16 ;s +! ;s ! ;s r> 28 12 0 16 ;s ! ;s r> 28 12 0 16 +! ;s ! ;s r> 28 12 0 16 ! ;s r> 28 0 28 0 lp+2 ;s lp+ ;s lp+ branch 28 0 28 0 lp+2 ;s lp+ ;s lp+ 28 0 28 0 lp+ ;s branch lp+2 ;s lp+ 28 0 28 0 code-address! ;s >r rot r@ col: 28 0 28 0 code-address! ;s >r rot r@ 28 0 28 0 code-address! ;s >r rot 28 0 28 0 code-address! ;s >r 28 0 28 0 ;s code-address! ;s >r rot r@ 28 0 28 0 ;s code-address! ;s >r rot 28 0 28 0 ;s code-address! ;s >r 28 0 28 0 ;s branch lp+2 ;s lp+ branch 28 0 28 0 ;s branch lp+2 ;s lp+ 28 0 28 0 ;s ! ;s code-address! ;s >r 28 0 28 0 ;s ! ;s + swap r> 28 0 28 0 ;s ! ;s + swap 28 0 28 0 +! ;s ! ;s + swap 28 0 28 0 ! ;s code-address! ;s >r rot 28 0 28 0 ! ;s code-address! ;s >r 28 0 28 0 ! ;s + swap r> col: 28 0 28 0 ! ;s + swap r> 28 0 28 0 ! ;s + swap 28 0 11 17 nip nip execute col: >r 28 0 11 17 nip execute col: >r 28 0 11 17 ?branch nip nip execute col: >r 28 0 1 27 invert ;s 28 0 0 28 over col: col: col: user: @ 28 0 0 28 over col: col: col: user: 28 0 0 28 over col: col: col: 28 0 0 28 code-address! ;s ;s over col: col: 28 0 0 28 code-address! ;s ;s over col: 28 0 0 28 code-address! ;s ;s over 28 0 0 28 ;s over col: col: col: user: 28 0 0 28 ;s over col: col: col: 28 0 0 28 ;s code-address! ;s ;s over col: 28 0 0 28 ;s code-address! ;s ;s over 28 0 0 28 ;s ;s over col: col: col: 28 0 0 28 ;s + ;s col: r> /does-handler 28 0 0 28 ;s + ;s col: r> 28 0 0 28 ;s ! ;s + ;s col: 28 0 0 28 ;s ! ;s + ;s 28 0 0 28 +! ;s ! ;s + ;s 28 0 0 28 + ;s col: r> /does-handler + 28 0 0 28 + ;s col: r> /does-handler 28 0 0 28 + ;s col: r> 28 0 0 28 ! ;s code-address! ;s ;s over 28 0 0 28 ! ;s + ;s col: r> 28 0 0 28 ! ;s + ;s col: 28 0 0 28 ! ;s + ;s 27 27 0 0 user: ! col: var: col: con: 27 27 0 0 user: ! col: var: col: 27 27 0 0 swap ;s dup ?branch 2drop user: 27 27 0 0 swap ;s dup ?branch 2drop 27 27 0 0 swap ;s dup ?branch 27 27 0 0 swap ;s dup 27 27 0 0 r> swap ;s dup ?branch 2drop 27 27 0 0 r> swap ;s dup ?branch 27 27 0 0 r> swap ;s dup 27 27 0 0 r> swap ;s 27 27 0 0 dup ?branch r> swap ;s dup 27 27 0 0 dup ?branch r> swap ;s 27 27 0 0 dup ?branch r> swap 27 27 0 0 dup ?branch 2drop user: ! col: 27 27 0 0 dup ?branch 2drop user: ! 27 27 0 0 dup ?branch 2drop user: 27 27 0 0 con: ;s dup ?branch r> swap 27 27 0 0 con: ;s dup ?branch r> 27 27 0 0 ?branch r> swap ;s dup ?branch 27 27 0 0 ?branch r> swap ;s dup 27 27 0 0 ?branch r> swap ;s 27 27 0 0 ?branch r> swap 27 27 0 0 ?branch 2drop user: ! col: var: 27 27 0 0 ?branch 2drop user: ! col: 27 27 0 0 ?branch 2drop user: ! 27 27 0 0 ;s dup ?branch r> swap ;s 27 27 0 0 ;s dup ?branch r> swap 27 27 0 0 ;s dup ?branch r> 27 27 0 0 ;s dup ?branch 2drop user: ! 27 27 0 0 ;s dup ?branch 2drop user: 27 27 0 0 2drop user: ! col: var: col: 27 27 0 0 2drop user: ! col: var: 27 27 0 0 2drop user: ! col: 27 27 0 0 2drop user: ! 27 27 0 0 2drop con: ;s dup ?branch r> 27 27 0 0 ! col: var: col: con: swap 27 27 0 0 ! col: var: col: con: 27 24 0 3 (?do) unloop ;s ;s ;s 27 17 5 5 (loop) unloop ;s ;s ;s ;s 27 10 0 17 var: @ 0< ?branch ;s ;s 27 10 0 17 var: @ 0< ?branch ;s 27 10 0 17 col: var: @ 0< ?branch ;s 27 10 0 17 @ 0< ?branch ;s ;s 27 10 0 17 @ 0< ?branch ;s 27 10 0 17 0< ?branch ;s ;s 27 0 7 20 cell+ (loop) unloop 27 0 27 0 cell+ (loop) dup >r 2@ 2over 27 0 27 0 @local1 @local1 27 0 27 0 ?branch r> cell+ cell+ (loop) dup 27 0 27 0 ;s @local1 lit col: >l >l 27 0 27 0 ;s @local1 lit col: >l 27 0 27 0 ;s @local1 lit col: 27 0 27 0 ;s @local1 lit 27 0 27 0 (loop) dup >r 2@ 2over compare 27 0 27 0 (loop) dup >r 2@ 2over 27 0 0 27 xor invert ;s col: col: col: 27 0 0 27 xor invert ;s col: col: 27 0 0 27 xor invert ;s col: 27 0 0 27 xor invert ;s 27 0 0 27 xor invert 27 0 0 27 r@ execute col: xor invert ;s 27 0 0 27 r@ execute col: xor invert 27 0 0 27 r@ execute col: xor 27 0 0 27 over @ r@ execute col: xor 27 0 0 27 invert ;s col: col: col: user: 27 0 0 27 invert ;s col: col: col: 27 0 0 27 invert ;s col: col: 27 0 0 27 invert ;s col: 27 0 0 27 execute col: xor invert ;s col: 27 0 0 27 execute col: xor invert ;s 27 0 0 27 execute col: xor invert 27 0 0 27 execute col: xor 27 0 0 27 col: xor invert ;s col: col: 27 0 0 27 col: xor invert ;s col: 27 0 0 27 col: xor invert ;s 27 0 0 27 col: xor invert 27 0 0 27 col: xor 27 0 0 27 @ r@ execute col: xor invert 27 0 0 27 @ r@ execute col: xor 26 5 16 5 ?branch ;s >body user: @ ?branch 26 5 16 5 ?branch ;s >body user: @ 26 5 16 5 ?branch ;s >body user: 26 5 16 5 >body user: @ ?branch 26 5 16 5 >body user: @ 26 5 16 5 >body user: 26 5 16 5 ;s >body user: @ ?branch 26 5 16 5 ;s >body user: @ 26 5 16 5 ;s >body user: 26 5 16 5 ;s 0= ?branch ;s >body user: 26 5 16 5 0= ?branch ;s >body user: @ 26 5 16 5 0= ?branch ;s >body user: 26 26 0 0 ;s col: con: col: col: 26 26 0 0 ;s col: con: col: 26 21 0 5 col: col: lit user: ! 26 21 0 5 col: col: lit user: 26 13 9 4 ?dup ?branch ;s ;s ;s ;s 26 1 24 1 lit > ?branch 26 1 0 25 ;s 1- 26 0 26 0 var: @ ?branch @local1 field: @local1 26 0 26 0 var: @ ?branch @local1 field: 26 0 26 0 var: @ ?branch @local1 26 0 26 0 unloop lp+2 ;s @local1 field: @ 26 0 26 0 unloop lp+2 ;s @local1 field: 26 0 26 0 lp- con: lit (do) @local2 i 26 0 26 0 lp- con: lit (do) @local2 26 0 26 0 lp+2 ;s @local1 field: @ lit 26 0 26 0 lp+2 ;s @local1 field: @ 26 0 26 0 lp+!# ;s var: @ ?branch @local1 26 0 26 0 lit (do) @local2 i col: cells 26 0 26 0 lit (do) @local2 i col: 26 0 26 0 lit (do) @local2 i 26 0 26 0 lit (do) @local2 26 0 26 0 field: col: >l >l >l lp- 26 0 26 0 field: col: >l >l >l 26 0 26 0 field: @local1 field: @local1 field: col: 26 0 26 0 field: @local1 field: @local1 field: 26 0 26 0 field: @local1 field: @local1 26 0 26 0 dup ?branch 2drop lp+2 ;s lp+ 26 0 26 0 con: lit (do) @local2 i col: 26 0 26 0 con: lit (do) @local2 i 26 0 26 0 con: lit (do) @local2 26 0 26 0 col: >l >l >l lp- con: 26 0 26 0 @local1 field: col: >l >l >l 26 0 26 0 @local1 field: @local1 field: col: >l 26 0 26 0 @local1 field: @local1 field: col: 26 0 26 0 @local1 field: @local1 field: @local1 field: 26 0 26 0 @local1 field: @local1 field: @local1 26 0 26 0 @ ?branch @local1 field: @local1 field: 26 0 26 0 @ ?branch @local1 field: @local1 26 0 26 0 ?branch @local1 field: @local1 field: @local1 26 0 26 0 ?branch @local1 field: @local1 field: 26 0 26 0 ?branch @local1 field: @local1 26 0 26 0 ?branch 2drop lp+2 ;s lp+ ;s 26 0 26 0 ?branch 2drop lp+2 ;s lp+ 26 0 26 0 >l lp- con: lit (do) @local2 26 0 26 0 >l >l lp- con: lit (do) 26 0 26 0 >l >l lp- con: lit 26 0 26 0 >l >l lp- con: 26 0 26 0 >l >l >l lp- con: lit 26 0 26 0 >l >l >l lp- con: 26 0 26 0 ;s var: @ ?branch @local1 field: 26 0 26 0 ;s var: @ ?branch @local1 26 0 26 0 2drop lp+2 ;s lp+ ;s 26 0 26 0 2drop lp+2 ;s lp+ 26 0 26 0 (loop) unloop lp+2 ;s @local1 field: 26 0 26 0 (do) @local2 i col: cells + 26 0 26 0 (do) @local2 i col: cells 26 0 26 0 (do) @local2 i col: 26 0 26 0 (do) @local2 i 26 0 26 0 (do) @local2 26 0 18 8 ;s ;s ;s ;s col: r> 26 0 13 13 ;s col: col: r> dup cell+ 26 0 13 13 ;s col: col: r> dup 26 0 13 13 ;s ;s col: col: r> dup 26 0 11 15 execute col: >r col: col: 26 0 11 15 execute col: >r col: 26 0 0 26 swap drop branch ;s 26 0 0 26 swap drop branch 26 0 0 26 drop 2drop ;s ;s ?branch swap 26 0 0 26 ?branch swap drop branch ;s 26 0 0 26 ?branch swap drop branch 26 0 0 26 ;s ?branch swap drop branch ;s 26 0 0 26 ;s ?branch swap drop branch 26 0 0 26 ;s ?branch swap drop 26 0 0 26 ;s ?branch swap 26 0 0 26 ;s ;s ?branch swap drop branch 26 0 0 26 ;s ;s ?branch swap drop 26 0 0 26 ;s ;s ?branch swap 26 0 0 26 2drop ;s ;s ?branch swap drop 26 0 0 26 2drop ;s ;s ?branch swap 26 0 0 26 +! ;s ;s ;s col: col: 25 8 0 17 nip nip execute col: lit var: 25 8 0 17 nip execute col: lit var: +! 25 8 0 17 nip execute col: lit var: 25 8 0 17 execute col: lit var: +! col: 25 8 0 17 execute col: lit var: +! 25 8 0 17 execute col: lit var: 25 7 9 9 u>= ?branch col: dup col: dup 25 7 9 9 u>= ?branch col: dup col: 25 7 9 9 u>= ?branch col: dup 25 7 9 9 r@ u>= ?branch col: dup col: 25 7 9 9 r@ u>= ?branch col: dup 25 7 9 9 over r@ u>= ?branch col: dup 25 7 9 9 drop con: ;s ;s ;s branch 25 7 9 9 drop con: ;s ;s ;s 25 7 9 9 col: col: col: col: con: @ 25 7 9 9 col: col: col: col: con: 25 7 9 9 cell+ var: ! ;s col: var: 25 7 9 9 cell+ var: ! ;s col: 25 7 9 9 branch col: var: @ dup var: 25 7 9 9 branch col: var: @ dup 25 7 9 9 branch col: var: @ 25 7 9 9 ?branch col: dup col: dup con: 25 7 9 9 ?branch col: dup col: dup 25 7 9 9 ?branch col: dup col: 25 7 9 9 ;s drop con: ;s ;s ;s 25 7 9 9 ;s col: var: @ dup lit 25 7 9 9 ;s col: var: @ dup 25 7 9 9 ;s col: col: col: col: con: 25 7 9 9 ;s branch col: var: @ dup 25 7 9 9 ;s branch col: var: @ 25 7 9 9 ;s ;s col: var: @ dup 25 7 9 9 ;s ;s col: col: col: col: 25 7 9 9 ! cell+ var: ! ;s col: 25 7 9 9 ! ;s col: var: @ ?branch 25 4 14 7 user: @ ;s @ ;s /does-handler 25 4 14 7 user: @ ;s +! ;s does-handler! 25 4 14 7 does-handler! ;s branch con: defer: 25 4 14 7 does-handler! ;s branch con: 25 4 14 7 does-handler! ;s branch 25 4 14 7 does-handler! ;s 25 4 14 7 does-handler! 25 4 14 7 con: defer: 25 4 14 7 branch con: defer: 25 4 14 7 branch con: 25 4 14 7 @ ;s @ ;s /does-handler col: 25 4 14 7 @ ;s @ ;s /does-handler 25 4 14 7 @ ;s /does-handler col: col: user: 25 4 14 7 @ ;s /does-handler col: col: 25 4 14 7 @ ;s /does-handler col: 25 4 14 7 @ ;s /does-handler 25 4 14 7 @ ;s +! ;s does-handler! ;s 25 4 14 7 @ ;s +! ;s does-handler! 25 4 14 7 ;s does-handler! ;s branch con: defer: 25 4 14 7 ;s does-handler! ;s branch con: 25 4 14 7 ;s does-handler! ;s branch 25 4 14 7 ;s does-handler! ;s 25 4 14 7 ;s does-handler! 25 4 14 7 ;s branch con: defer: 25 4 14 7 ;s branch con: 25 4 14 7 ;s @ ;s /does-handler col: col: 25 4 14 7 ;s @ ;s /does-handler col: 25 4 14 7 ;s @ ;s /does-handler 25 4 14 7 ;s /does-handler col: col: user: @ 25 4 14 7 ;s /does-handler col: col: user: 25 4 14 7 ;s /does-handler col: col: 25 4 14 7 ;s /does-handler col: 25 4 14 7 ;s /does-handler 25 4 14 7 ;s +! ;s does-handler! ;s branch 25 4 14 7 ;s +! ;s does-handler! ;s 25 4 14 7 ;s +! ;s does-handler! 25 4 14 7 /does-handler col: col: user: @ ;s 25 4 14 7 /does-handler col: col: user: @ 25 4 14 7 /does-handler col: col: user: 25 4 14 7 /does-handler col: col: 25 4 14 7 /does-handler col: 25 4 14 7 +! ;s does-handler! ;s branch con: 25 4 14 7 +! ;s does-handler! ;s branch 25 4 14 7 +! ;s does-handler! ;s 25 4 14 7 +! ;s does-handler! 25 0 25 0 branch lp+ ;s @local0 field: ! 25 0 25 0 branch lp+ ;s @local0 field: 25 0 25 0 branch lp+ ;s @local0 25 0 0 25 var: @ over - ;s 1- 25 0 0 25 var: @ and ?branch 2drop ;s 25 0 0 25 var: @ and ?branch 2drop 25 0 0 25 over - ;s 1- var: 2! 25 0 0 25 over - ;s 1- var: 25 0 0 25 over - ;s 1- 25 0 0 25 drop 2drop ;s ;s 0= var: 25 0 0 25 and ?branch 2drop ;s 25 0 0 25 and ?branch 2drop 25 0 0 25 @ over - ;s 1- var: 25 0 0 25 @ over - ;s 1- 25 0 0 25 @ and ?branch 2drop ;s 25 0 0 25 @ and ?branch 2drop 25 0 0 25 ;s ;s 0= var: @ and 25 0 0 25 ;s ;s 0= var: @ 25 0 0 25 ;s ;s 0= var: 25 0 0 25 ;s 1- var: 2! ;s lit 25 0 0 25 ;s 1- var: 2! ;s 25 0 0 25 ;s 1- var: 2! 25 0 0 25 ;s 1- var: 25 0 0 25 ;s 0= var: @ and ?branch 25 0 0 25 ;s 0= var: @ and 25 0 0 25 ;s 0= var: @ 25 0 0 25 ;s 0= var: 25 0 0 25 2drop ;s ;s 0= var: @ 25 0 0 25 2drop ;s ;s 0= var: 25 0 0 25 1- var: 2! ;s lit col: 25 0 0 25 1- var: 2! ;s lit 25 0 0 25 1- var: 2! ;s 25 0 0 25 1- var: 2! 25 0 0 25 1- var: 25 0 0 25 0= var: @ and ?branch 2drop 25 0 0 25 0= var: @ and ?branch 25 0 0 25 0= var: @ and 25 0 0 25 0= var: @ 25 0 0 25 0= var: 25 0 0 25 - ;s 1- var: 2! ;s 25 0 0 25 - ;s 1- var: 2! 25 0 0 25 - ;s 1- var: 25 0 0 25 - ;s 1- 24 4 17 3 execute col: var: @ ?branch col: 24 24 0 0 lshift ;s ;s 24 24 0 0 con: lshift ;s ;s 24 24 0 0 con: - col: 24 24 0 0 col: con: lshift ;s ;s 24 24 0 0 ;s con: - col: 24 24 0 0 ;s ;s con: - col: 24 24 0 0 ;s ;s con: - 24 22 2 0 nip nip execute col: does: 24 22 2 0 nip execute col: does: 24 22 2 0 ?branch nip nip execute col: does: 24 17 7 0 defer: (type) ;s defer: 24 17 7 0 count defer: (type) ;s defer: 24 17 7 0 ;s count defer: (type) ;s defer: 24 17 7 0 (type) ;s defer: 24 10 0 14 @ 0< ?branch ;s ;s ;s 24 10 0 14 0< ?branch ;s ;s ;s branch 24 10 0 14 0< ?branch ;s ;s ;s 24 0 24 0 nip execute col: col: lit lit 24 0 24 0 lit ! ;s ;s branch col: 24 0 24 0 lit ! ;s ;s branch 24 0 24 0 execute col: col: lit lit ! 24 0 24 0 execute col: col: lit lit 24 0 24 0 con: lit ! ;s ;s branch 24 0 24 0 con: lit ! ;s ;s 24 0 24 0 con: ;s col: 24 0 24 0 col: cells con: ;s col: 24 0 24 0 cells con: ;s col: 24 0 24 0 ;s con: lit ! ;s ;s 24 0 24 0 2drop lp+2 ;s lp+ ;s lp+ 24 0 11 13 ;s ;s ;s r> ;s ;s 24 0 11 13 ;s ;s ;s r> ;s 24 0 0 24 var: @ ;s does: @ col: 24 0 0 24 var: @ ;s does: @ 24 0 0 24 swap +! ;s ;s col: col: 24 0 0 24 swap +! ;s ;s col: 24 0 0 24 lit swap +! ;s ;s col: 24 0 0 24 dup ?branch ;s ;s does: @ 24 0 0 24 dup ?branch ;s ;s does: 24 0 0 24 col: var: @ ;s does: @ 24 0 0 24 @ ;s does: @ col: var: 24 0 0 24 @ ;s does: @ col: 24 0 0 24 @ ;s does: @ 24 0 0 24 @ ;s +! ;s col: lit 24 0 0 24 @ ! ;s ;s col: var: 24 0 0 24 ?branch ;s ;s does: @ col: 24 0 0 24 ?branch ;s ;s does: @ 24 0 0 24 ?branch ;s ;s does: 24 0 0 24 ;s dup ?branch ;s ;s does: 24 0 0 24 ;s ;s + ;s ! con: 24 0 0 24 ;s +! ;s col: lit user: 24 0 0 24 ;s +! ;s col: lit 24 0 0 24 ;s + ;s ! con: does: 24 0 0 24 ;s + ;s ! con: 24 0 0 24 ;s ! con: does: @ col: 24 0 0 24 ;s ! con: does: @ 24 0 0 24 ;s ! con: does: 24 0 0 24 +! ;s col: lit user: ! 24 0 0 24 +! ;s col: lit user: 24 0 0 24 +! ;s col: lit 24 0 0 24 +! ;s ;s col: col: user: 24 0 0 24 +! ;s ;s col: col: 24 0 0 24 +! ;s ;s col: 24 0 0 24 + ;s ! con: does: @ 24 0 0 24 + ;s ! con: does: 24 0 0 24 + ;s ! con: 24 0 0 24 ! con: does: @ col: var: 24 0 0 24 ! con: does: @ col: 24 0 0 24 ! con: does: @ 24 0 0 24 ! con: does: 23 9 4 10 char+ c@ ;s col: user: @ 23 9 4 10 char+ c@ ;s col: user: 23 9 4 10 c@ ;s col: user: @ ?branch 23 9 4 10 c@ ;s col: user: @ 23 9 4 10 c@ ;s col: user: 23 9 4 10 ;s char+ c@ ;s col: user: 23 7 15 1 user: ! over c@ lit = 23 7 15 1 user: ! over c@ lit 23 7 15 1 user: ! over c@ 23 7 15 1 user: ! over 23 7 15 1 r> - ?branch dup user: ! 23 7 15 1 r> - ?branch dup user: 23 7 15 1 r> - ?branch dup 23 7 15 1 over c@ lit = ?branch 23 7 15 1 dup user: ! over c@ lit 23 7 15 1 dup user: ! over c@ 23 7 15 1 dup user: ! over 23 7 15 1 dup r> - ?branch dup user: 23 7 15 1 dup r> - ?branch dup 23 7 15 1 c@ lit = ?branch 23 7 15 1 ?branch dup user: ! over c@ 23 7 15 1 ?branch dup user: ! over 23 7 15 1 ?branch dup user: ! 23 7 15 1 ?branch dup r> - ?branch dup 23 7 15 1 - ?branch dup user: ! over 23 7 15 1 - ?branch dup user: ! 23 7 15 1 - ?branch dup user: 23 7 15 1 - ?branch dup 23 7 15 1 ! over c@ lit = ?branch 23 7 15 1 ! over c@ lit = 23 7 15 1 ! over c@ lit 23 7 15 1 ! over c@ 23 7 15 1 ! over 23 6 7 10 drop con: ;s ;s branch col: 23 6 7 10 drop con: ;s ;s branch 23 6 7 10 ;s drop con: ;s ;s branch 23 6 7 10 ;s ;s col: var: @ ?branch 23 23 0 0 var: ! ;s col: col: var: 23 22 0 1 - col: col: user: @ 23 22 0 1 - col: col: user: 23 19 2 2 drop ;s drop 23 18 0 5 defer: noop ;s col: 23 18 0 5 ;s defer: noop ;s col: 23 18 0 5 ;s ;s defer: noop ;s col: 23 11 4 8 unloop ;s ;s branch 23 1 22 0 ! ;s drop ;s ;s ;s 23 0 23 0 lp+2 ;s lit > ?branch 23 0 23 0 lp+!# ;s lp+ ;s @local1 ! 23 0 23 0 branch >l lp- @local1 ?branch lp+!# 23 0 23 0 @local1 >l lp- @local1 ?branch @local1 23 0 23 0 @local0 lp+2 ;s lit > ?branch 23 0 23 0 @ ;s ?branch lp+ ;s @local1 23 0 23 0 @ ;s ?branch lp+ ;s 23 0 23 0 @ ;s ?branch lp+ 23 0 23 0 @ + @ ;s ?branch lp+ 23 0 23 0 ;s lp+!# ;s lp+ ;s @local1 23 0 23 0 ;s lp+ ;s @local1 ! lp+ 23 0 23 0 ;s lp+ ;s @local1 ! 23 0 23 0 ;s lit > ?branch 23 0 23 0 ;s ?branch lp+ ;s @local1 col: 23 0 23 0 ;s ?branch lp+ ;s @local1 23 0 23 0 ;s ?branch lp+ ;s 23 0 23 0 ;s ?branch lp+ 23 0 23 0 ;s ;s col: user: @ 23 0 23 0 ;s ;s col: user: 23 0 23 0 ;s ! lp+ ;s lp+ ;s 23 0 23 0 ;s ! lp+ ;s lp+ 23 0 23 0 ;s ! lp+ ;s @local1 col: 23 0 23 0 ;s ! lp+ ;s @local1 23 0 23 0 + @ ;s ?branch lp+ ;s 23 0 23 0 + @ ;s ?branch lp+ 23 0 23 0 + ;s ! lp+ ;s lp+ 23 0 23 0 + ;s ! lp+ ;s @local1 23 0 0 23 branch ;s col: col: var: col: 23 0 0 23 @ branch ;s col: col: var: 23 0 0 23 @ branch ;s col: col: 23 0 0 23 @ branch ;s col: 23 0 0 23 @ branch ;s 23 0 0 23 @ ?branch does: @ col: var: 23 0 0 23 @ ?branch does: @ col: 23 0 0 23 @ ?branch does: @ 23 0 0 23 @ ?branch does: 23 0 0 23 ;s @ branch ;s col: col: 23 0 0 23 ;s @ branch ;s col: 23 0 0 23 ;s @ branch ;s 23 0 0 23 ;s @ branch 23 0 0 23 ;s @ ?branch does: @ col: 23 0 0 23 ;s @ ?branch does: @ 23 0 0 23 ;s @ ?branch does: 23 0 0 23 ;s @ ?branch 23 0 0 23 ;s ;s + ;s @ branch 23 0 0 23 ;s ;s + ;s @ ?branch 23 0 0 23 ;s + ;s @ branch ;s 23 0 0 23 ;s + ;s @ branch 23 0 0 23 ;s + ;s @ ?branch does: 23 0 0 23 ;s + ;s @ ?branch 23 0 0 23 + ;s @ branch ;s col: 23 0 0 23 + ;s @ branch ;s 23 0 0 23 + ;s @ branch 23 0 0 23 + ;s @ ?branch does: @ 23 0 0 23 + ;s @ ?branch does: 23 0 0 23 + ;s @ ?branch 22 7 8 7 nip nip execute ! ;s branch 22 7 8 7 nip nip execute ! ;s 22 7 8 7 nip nip execute ! 22 7 8 7 nip execute ! ;s branch col: 22 7 8 7 nip execute ! ;s branch 22 7 8 7 nip execute ! ;s 22 7 8 7 nip execute ! 22 7 8 7 execute ! ;s branch col: sp@ 22 7 8 7 execute ! ;s branch col: 22 7 8 7 execute ! ;s branch 22 7 8 7 execute ! ;s 22 7 8 7 execute ! 22 7 8 7 and ?branch nip nip execute ! 22 7 8 7 ?branch nip nip execute ! ;s 22 7 8 7 ?branch nip nip execute ! 22 7 8 7 ! ;s branch col: sp@ user: 22 7 8 7 ! ;s branch col: sp@ 22 4 11 7 user: @ ?branch defer: noop col: 22 4 11 7 user: @ ?branch defer: noop 22 4 11 7 noop col: r> dup cell+ >r 22 4 11 7 noop col: r> dup cell+ 22 4 11 7 noop col: r> dup 22 4 11 7 noop col: r> 22 4 11 7 does-handler! ;s branch con: defer: noop 22 4 11 7 defer: noop col: r> dup cell+ 22 4 11 7 defer: noop col: r> dup 22 4 11 7 defer: noop col: r> 22 4 11 7 con: defer: noop ;s ;s branch 22 4 11 7 con: defer: noop ;s ;s 22 4 11 7 con: defer: noop ;s 22 4 11 7 con: defer: noop 22 4 11 7 col: user: @ ?branch defer: noop 22 4 11 7 branch con: defer: noop ;s ;s 22 4 11 7 branch con: defer: noop ;s 22 4 11 7 branch con: defer: noop 22 4 11 7 @ ?branch defer: noop col: r> 22 4 11 7 @ ?branch defer: noop col: 22 4 11 7 @ ?branch defer: noop 22 4 11 7 ?branch defer: noop col: r> dup 22 4 11 7 ?branch defer: noop col: r> 22 4 11 7 ?branch defer: noop col: 22 4 11 7 ?branch defer: noop 22 4 11 7 ;s branch con: defer: noop ;s 22 4 11 7 ;s branch con: defer: noop 22 22 0 0 var: @ 2dup u> 0= ?branch 22 22 0 0 var: @ 2dup u> 0= 22 22 0 0 var: @ 2dup u> 22 22 0 0 var: @ 2dup 22 22 0 0 var: ! drop ;s lit col: 22 22 0 0 var: ! drop ;s lit 22 22 0 0 var: ! drop ;s 22 22 0 0 var: ! drop 22 22 0 0 u> 0= ?branch var: ! drop 22 22 0 0 u> 0= ?branch var: ! 22 22 0 0 u> 0= ?branch var: 22 22 0 0 rdrop ;s ;s var: @ 2dup 22 22 0 0 rdrop ;s ;s var: @ 22 22 0 0 rdrop ;s ;s var: 22 22 0 0 drop ;s lit col: dup @ 22 22 0 0 drop ;s lit col: dup 22 22 0 0 drop ;s lit col: 22 22 0 0 drop ;s lit 22 22 0 0 con: - col: col: user: @ 22 22 0 0 con: - col: col: user: 22 22 0 0 con: - col: col: 22 22 0 0 @ 2dup u> 0= ?branch 22 22 0 0 @ 2dup u> 0= 22 22 0 0 @ 2dup u> 22 22 0 0 @ 2dup 22 22 0 0 ?branch var: ! drop ;s lit 22 22 0 0 ?branch var: ! drop ;s 22 22 0 0 ?branch var: ! drop 22 22 0 0 ?branch var: ! 22 22 0 0 ?branch rdrop ;s ;s var: @ 22 22 0 0 ?branch rdrop ;s ;s var: 22 22 0 0 >r ?branch rdrop ;s ;s var: 22 22 0 0 ;s var: @ 2dup u> 0= 22 22 0 0 ;s var: @ 2dup u> 22 22 0 0 ;s var: @ 2dup 22 22 0 0 ;s con: - col: col: user: 22 22 0 0 ;s con: - col: col: 22 22 0 0 ;s ;s var: @ 2dup u> 22 22 0 0 ;s ;s var: @ 2dup 22 22 0 0 ;s ;s con: - col: col: 22 22 0 0 ;s ;s ;s con: - col: 22 22 0 0 ;s ;s ;s con: - 22 22 0 0 ;s ;s ;s con: 22 22 0 0 ;s ;s ;s ;s con: - 22 22 0 0 ;s ;s ;s ;s con: 22 22 0 0 2dup u> 0= ?branch var: ! 22 22 0 0 2dup u> 0= ?branch var: 22 22 0 0 2drop ;s ;s ;s ;s con: 22 22 0 0 0= ?branch var: ! drop ;s 22 22 0 0 0= ?branch var: ! drop 22 22 0 0 0= ?branch var: ! 22 22 0 0 - col: col: user: @ 0= 22 22 0 0 ! drop ;s lit col: dup 22 22 0 0 ! drop ;s lit col: 22 22 0 0 ! drop ;s lit 22 20 1 1 ;s @ ;s col: col: 22 2 0 20 (loop) unloop drop ;s 22 13 5 4 ;s col: user: @ >r col: 22 13 5 4 ;s col: user: @ >r 22 11 4 7 ;s (loop) unloop ;s ;s branch 22 11 4 7 (loop) unloop ;s ;s branch 22 0 9 13 col: col: does: 22 0 22 0 var: @ col: >l 22 0 22 0 @local1 field: col: >l >l @local0 22 0 22 0 ;s user: @ col: col: col: 22 0 22 0 ;s user: @ col: col: 22 0 22 0 ;s r> ;s ;s branch col: 22 0 22 0 ;s r> ;s ;s branch 22 0 22 0 ;s col: user: @ col: col: 22 0 22 0 ;s col: user: @ col: 22 0 22 0 ;s ;s r> ;s ;s branch 22 0 22 0 ;s ;s col: user: @ col: 22 0 22 0 ;s ;s ;s col: user: @ 22 0 22 0 ;s ;s ;s col: user: 22 0 22 0 ;s ;s ;s ;s col: user: 22 0 22 0 ;s +! ;s ! ;s user: 22 0 22 0 ;s ! ;s user: @ col: 22 0 22 0 ;s ! ;s user: @ 22 0 22 0 ;s ! ;s user: 22 0 22 0 +! ;s ! ;s user: @ 22 0 22 0 +! ;s ! ;s user: 22 0 22 0 ! ;s user: @ col: col: 22 0 22 0 ! ;s user: @ col: 22 0 0 22 drop branch ;s r> ;s ;s 22 0 0 22 drop branch ;s r> ;s 22 0 0 22 drop branch ;s r> 22 0 0 22 branch ;s r> ;s ;s does: 22 0 0 22 branch ;s r> ;s ;s 22 0 0 22 branch ;s r> ;s 22 0 0 22 branch ;s r> 22 0 0 22 and ?branch 2drop ;s does: @ 22 0 0 22 and ?branch 2drop ;s does: 22 0 0 22 @ and ?branch 2drop ;s does: 22 0 0 22 ?branch 2drop ;s does: @ col: 22 0 0 22 ?branch 2drop ;s does: @ 22 0 0 22 ?branch 2drop ;s does: 22 0 0 22 ;s 2! ;s ;s swap col: 22 0 0 22 ;s 2! ;s ;s swap 22 0 0 22 2drop ;s does: @ col: var: 22 0 0 22 2drop ;s does: @ col: 22 0 0 22 2! ;s ;s swap col: col: 22 0 0 22 2! ;s ;s swap col: 22 0 0 22 2! ;s ;s swap 22 0 0 22 +! ;s 2! ;s ;s swap 21 8 8 5 @ var: ! ;s ;s branch 21 6 0 15 ;s col: col: col: r> dup 21 21 0 0 nip execute col: col: lit user: 21 21 0 0 lit (?do) unloop ;s ;s ;s 21 21 0 0 execute col: col: lit user: ! 21 21 0 0 execute col: col: lit user: 21 21 0 0 (?do) unloop ;s ;s ;s branch 21 2 17 2 ! ;s ;s ;s col: r> 21 18 3 0 noop ;s col: r> dup cell+ 21 18 3 0 noop ;s col: r> dup 21 18 3 0 noop ;s col: r> 21 18 2 1 ?branch drop ;s ;s 21 13 4 4 var: swap ;s col: user: @ 21 13 4 4 var: swap ;s col: user: 21 13 4 4 var: swap ;s col: 21 13 4 4 swap ;s col: user: @ >r 21 13 4 4 swap ;s col: user: @ 21 13 4 4 swap ;s col: user: 21 13 4 4 ?branch ;s var: swap ;s col: 21 13 4 4 ;s var: swap ;s col: user: 21 13 4 4 ;s var: swap ;s col: 21 0 5 16 lit lit lit ;s 21 0 5 16 lit lit ;s 21 0 21 0 over = ?branch dup col: r> 21 0 21 0 over = ?branch dup col: 21 0 21 0 over = ?branch dup 21 0 21 0 lit cells over = ?branch dup 21 0 21 0 field: 2! 21 0 21 0 dup col: r> dup cell+ >r 21 0 21 0 dup col: r> dup cell+ 21 0 21 0 dup col: r> dup 21 0 21 0 dup col: r> 21 0 21 0 cells over = ?branch dup col: 21 0 21 0 cells over = ?branch dup 21 0 21 0 ?branch dup col: r> dup cell+ 21 0 21 0 ?branch dup col: r> dup 21 0 21 0 ?branch dup col: r> 21 0 21 0 = ?branch dup col: r> dup 21 0 21 0 = ?branch dup col: r> 21 0 21 0 = ?branch dup col: 21 0 0 21 swap drop branch ;s r> ;s 21 0 0 21 swap drop branch ;s r> 21 0 0 21 lit ;s ;s ;s branch col: 21 0 0 21 lit ;s ;s ;s branch 21 0 0 21 lit ;s ;s ;s 21 0 0 21 cr ?dup ?branch col: col: r> 21 0 0 21 cr ?dup ?branch col: col: 21 0 0 21 cr ?dup ?branch col: 21 0 0 21 con: lit ;s ;s ;s branch 21 0 0 21 con: lit ;s ;s ;s 21 0 0 21 con: lit ;s ;s 21 0 0 21 col: con: lit ;s ;s ;s 21 0 0 21 col: con: lit ;s ;s 21 0 0 21 col: col: lit col: >r dup 21 0 0 21 ?branch swap drop branch ;s r> 21 0 0 21 ?branch over 0= 0= ?branch swap 21 0 0 21 ;s cr ?dup ?branch col: col: 21 0 0 21 ;s cr ?dup ?branch col: 21 0 0 21 ;s col: con: lit ;s ;s 21 0 0 21 ;s col: con: lit ;s 21 0 0 21 ;s col: con: lit 21 0 0 21 (type) ;s cr ?dup ?branch col: 20 6 6 8 drop branch ;s branch col: var: 20 6 6 8 drop branch ;s branch col: 20 6 6 8 drop branch ;s branch 20 6 6 8 branch ;s branch col: var: @ 20 6 6 8 branch ;s branch col: var: 20 6 6 8 ;s drop branch ;s branch col: 20 6 6 8 ;s drop branch ;s branch 20 6 6 8 ! ;s drop branch ;s branch 20 20 0 0 r> - ?branch 2drop rdrop user: 20 20 0 0 r> - ?branch 2drop rdrop 20 20 0 0 r> - ?branch 2drop 20 20 0 0 nip nip execute col: does: col: 20 20 0 0 nip execute col: does: col: var: 20 20 0 0 nip execute col: does: col: 20 20 0 0 execute col: dup 0< ?branch col: 20 20 0 0 execute col: does: col: var: dup 20 20 0 0 execute col: does: col: var: 20 20 0 0 execute col: does: col: 20 20 0 0 dup r> - ?branch 2drop rdrop 20 20 0 0 dup r> - ?branch 2drop 20 20 0 0 con: + ;s ;s col: col: 20 20 0 0 con: + ;s ;s col: 20 20 0 0 col: dup 0< ?branch col: col: 20 20 0 0 col: dup 0< ?branch col: 20 20 0 0 col: does: col: var: dup @ 20 20 0 0 col: does: col: var: dup 20 20 0 0 col: does: col: var: 20 20 0 0 col: does: col: 20 20 0 0 col: con: + ;s ;s col: 20 20 0 0 col: cell+ ;s @ ;s col: 20 20 0 0 cell+ ;s @ ;s col: col: 20 20 0 0 cell+ ;s @ ;s col: 20 20 0 0 cell+ ;s ! ;s ;s ;s 20 20 0 0 @ ;s col: col: con: + 20 20 0 0 @ ;s col: col: con: 20 20 0 0 ?branch dup r> - ?branch 2drop 20 20 0 0 ?branch col: col: col: col: var: 20 20 0 0 ;s col: col: con: + ;s 20 20 0 0 ;s col: col: con: + 20 20 0 0 ;s @ ;s col: col: con: 20 20 0 0 ;s ;s col: con: col: col: 20 20 0 0 ;s ;s col: con: col: 20 20 0 0 0< ?branch col: col: col: col: 20 20 0 0 - ?branch 2drop rdrop user: col: 20 20 0 0 - ?branch 2drop rdrop user: 20 20 0 0 - ?branch 2drop rdrop 20 20 0 0 - ?branch 2drop 20 20 0 0 + ;s ;s col: col: 20 20 0 0 + ;s ;s col: 20 18 1 1 ?branch drop ;s ;s branch col: 20 18 1 1 ?branch drop ;s ;s branch 20 1 5 14 <> ?branch 2dup 20 0 20 0 nip nip execute col: cells con: 20 0 20 0 nip nip execute col: cells 20 0 20 0 nip execute col: cells con: ;s 20 0 20 0 nip execute col: cells con: 20 0 20 0 nip execute col: cells 20 0 20 0 lp+!# ;s lp+2 ;s lp+2 ;s 20 0 20 0 lp+!# ;s lp+2 ;s lp+2 20 0 20 0 lp+ ;s var: 20 0 20 0 execute col: cells con: ;s ;s 20 0 20 0 execute col: cells con: ;s 20 0 20 0 execute col: cells con: 20 0 20 0 execute col: cells 20 0 20 0 col: cells con: ;s ;s branch 20 0 20 0 col: cells con: ;s ;s 20 0 20 0 cells con: ;s ;s branch col: 20 0 20 0 cells con: ;s ;s branch 20 0 20 0 cells con: ;s ;s 20 0 20 0 @local1 @local1 field: 20 0 20 0 ?branch nip nip execute col: cells 20 0 20 0 ;s lp+2 ;s lp+2 ;s lp+ 20 0 20 0 ;s lp+2 ;s lp+2 ;s 20 0 20 0 ;s lp+2 ;s lp+2 20 0 20 0 2drop lp+!# ;s lp+2 ;s lp+2 20 0 0 20 var: @ lit (do) dup @ 20 0 0 20 var: @ lit (do) dup 20 0 0 20 unloop drop ;s swap 20 0 0 20 swap var: @ lit (do) dup 20 0 0 20 swap var: @ lit (do) 20 0 0 20 swap var: @ lit 20 0 0 20 swap var: @ 20 0 0 20 or swap ! ;s ;s 20 0 0 20 lit (do) dup @ col: col: 20 0 0 20 lit (do) dup @ col: 20 0 0 20 lit (do) dup @ 20 0 0 20 lit (do) dup 20 0 0 20 col: col: var: @ ;s col: 20 0 0 20 cell+ (loop) unloop drop ;s swap 20 0 0 20 cell+ (loop) unloop drop ;s 20 0 0 20 cell+ (loop) unloop drop 20 0 0 20 branch ;s con: (+loop) unloop ;s 20 0 0 20 branch ;s con: (+loop) unloop 20 0 0 20 @ or swap ! ;s ;s 20 0 0 20 @ lit (do) dup @ col: 20 0 0 20 @ lit (do) dup @ 20 0 0 20 @ lit (do) dup 20 0 0 20 @ ;s swap var: @ lit 20 0 0 20 @ ;s swap var: @ 20 0 0 20 @ ;s swap var: 20 0 0 20 @ ;s @ ;s swap var: 20 0 0 20 ;s swap var: @ lit (do) 20 0 0 20 ;s swap var: @ lit 20 0 0 20 ;s swap var: @ 20 0 0 20 ;s swap var: 20 0 0 20 ;s cell+ (loop) unloop drop ;s 20 0 0 20 ;s cell+ (loop) unloop drop 20 0 0 20 ;s cell+ (loop) unloop 20 0 0 20 ;s @ ;s swap var: @ 20 0 0 20 ;s @ ;s swap var: 20 0 0 20 ;s ! ;s cell+ (loop) unloop 20 0 0 20 (loop) unloop drop ;s swap 20 0 0 20 (do) dup @ col: col: col: 20 0 0 20 (do) dup @ col: col: 20 0 0 20 (do) dup @ col: 20 0 0 20 (do) dup @ 20 0 0 20 ! branch ;s con: (+loop) unloop 20 0 0 20 ! ;s cell+ (loop) unloop drop 20 0 0 20 ! ;s cell+ (loop) unloop 19 9 5 5 branch ;s ;s col: col: col: 19 9 5 5 branch ;s ;s col: col: 19 9 5 5 ! branch ;s ;s col: col: 19 4 0 15 execute col: col: var: @ ;s 19 3 9 7 c@ lit <> ?branch 19 3 9 7 c@ lit <> 19 19 0 0 swap ;s branch ;s user: @ 19 19 0 0 swap ;s branch ;s user: 19 19 0 0 swap ;s branch ;s 19 19 0 0 rdrop ;s ;s col: con: col: 19 19 0 0 rdrop ;s ;s col: con: 19 19 0 0 rdrop ;s ;s col: col: var: 19 19 0 0 char+ c@ ;s col: lit col: 19 19 0 0 char+ c@ ;s col: lit 19 19 0 0 c@ ;s col: lit col: dup 19 19 0 0 c@ ;s col: lit col: 19 19 0 0 c@ ;s col: lit 19 19 0 0 ?branch rdrop ;s ;s col: con: 19 19 0 0 ;s swap ;s branch ;s user: 19 19 0 0 ;s swap ;s branch ;s 19 19 0 0 ;s swap ;s branch 19 19 0 0 ;s swap ;s 19 19 0 0 ;s col: con: col: col: defer: 19 19 0 0 ;s char+ c@ ;s col: lit 19 19 0 0 ;s ;s swap ;s branch ;s 19 19 0 0 ;s ;s swap ;s branch 19 19 0 0 ;s ;s swap ;s 19 19 0 0 ;s ;s ;s swap ;s branch 19 19 0 0 ;s ;s ;s swap ;s 19 19 0 0 ;s ;s ;s ;s swap ;s 19 11 6 2 user: @ ?branch col: col: 19 1 16 2 var: @ lit (?do) 19 1 16 2 @ lit (?do) 19 0 19 0 var: @ ?branch lp+ ;s 19 0 19 0 var: @ ?branch lp+ 19 0 19 0 lp+!# ;s var: @ ?branch lp+ 19 0 19 0 invert and ;s ;s ;s branch 19 0 19 0 field: col: con: swap ! ;s 19 0 19 0 field: col: con: swap ! 19 0 19 0 field: col: con: swap 19 0 19 0 field: col: con: 19 0 19 0 and ;s ;s ;s branch col: 19 0 19 0 and ;s ;s ;s branch 19 0 19 0 @ ?branch lp+ ;s 19 0 19 0 @ ?branch lp+ 19 0 19 0 ;s var: @ ?branch lp+ ;s 19 0 19 0 ;s var: @ ?branch lp+ 19 0 15 4 + ! 19 0 1 18 ! ;s ;s col: col: col: 19 0 0 19 swap ! ;s ;s does: @ 19 0 0 19 swap ! ;s ;s does: 19 0 0 19 rot 0<> and ?branch col: col: 19 0 0 19 rot 0<> and ?branch col: 19 0 0 19 execute col: col: var: @ ?branch 19 0 0 19 defer: (type) ;s cr 0= swap 19 0 0 19 defer: (type) ;s cr 0= 19 0 0 19 cr 0= swap 0<> and ?branch 19 0 0 19 cr 0= swap 0<> and 19 0 0 19 cr 0= swap 0<> 19 0 0 19 cr 0= swap 19 0 0 19 cr 0= 19 0 0 19 count defer: (type) ;s cr 0= 19 0 0 19 con: swap ! ;s ;s does: 19 0 0 19 col: col: var: @ ?branch 19 0 0 19 ;s cr 0= swap 0<> and 19 0 0 19 ;s cr 0= swap 0<> 19 0 0 19 ;s cr 0= swap 19 0 0 19 ;s cr 0= 19 0 0 19 0= rot 0<> and ?branch col: 19 0 0 19 (type) ;s cr 0= swap 0<> 19 0 0 19 (type) ;s cr 0= swap 19 0 0 19 (type) ;s cr 0= 18 6 7 5 ;s ! ;s lit col: user: 18 6 7 5 ! ;s lit col: user: @ 18 6 7 5 ! ;s lit col: user: 18 6 0 12 branch ;s ;s ;s ;s 18 4 3 11 nip nip execute cells ;s branch 18 4 3 11 nip nip execute cells ;s 18 4 3 11 nip nip execute cells 18 4 3 11 nip execute cells ;s branch col: 18 4 3 11 nip execute cells ;s branch 18 4 3 11 nip execute cells ;s 18 4 3 11 nip execute cells 18 4 3 11 execute cells ;s branch col: sp@ 18 4 3 11 execute cells ;s branch col: 18 4 3 11 execute cells ;s branch 18 4 3 11 execute cells ;s 18 4 3 11 execute cells 18 4 3 11 cells ;s branch col: sp@ user: 18 4 3 11 cells ;s branch col: sp@ 18 4 3 11 cells ;s branch col: 18 4 3 11 cells ;s branch 18 4 3 11 cells ;s 18 4 3 11 and ?branch nip nip execute cells 18 4 3 11 ?branch nip nip execute cells ;s 18 4 3 11 ?branch nip nip execute cells 18 3 11 4 user: ! ;s col: col: 2dup 18 3 11 4 ;s col: col: 2dup lit col: 18 3 11 4 ;s col: col: 2dup lit 18 3 11 4 ;s col: col: 2dup 18 3 11 4 ! ;s col: col: 2dup lit 18 3 11 4 ! ;s col: col: 2dup 18 18 0 0 var: @ dup ?branch 18 18 0 0 var: @ col: col: col: var: 18 18 0 0 var: @ ;s ;s var: @ 18 18 0 0 unloop d>s ;s ;s swap col: 18 18 0 0 unloop d>s ;s ;s swap 18 18 0 0 u> 0= ?branch dup col: col: 18 18 0 0 u> 0= ?branch dup col: 18 18 0 0 u> 0= ?branch dup 18 18 0 0 swap col: col: col: var: @ 18 18 0 0 swap col: col: col: var: 18 18 0 0 defer: noop ;s col: r> dup 18 18 0 0 defer: noop ;s col: r> 18 18 0 0 d>s ;s ;s swap col: col: 18 18 0 0 d>s ;s ;s swap col: 18 18 0 0 d>s ;s ;s swap 18 18 0 0 con: ;s ?branch col: col: var: 18 18 0 0 con: ;s ?branch col: col: 18 18 0 0 branch 2dup u> 0= ?branch 18 18 0 0 branch 2dup u> 0= 18 18 0 0 branch 2dup u> 18 18 0 0 @ ;s ;s var: @ col: 18 18 0 0 ?branch col: col: var: @ + 18 18 0 0 ;s swap col: col: col: var: 18 18 0 0 ;s defer: noop ;s col: r> 18 18 0 0 ;s con: ;s ?branch col: col: 18 18 0 0 ;s con: ;s ?branch col: 18 18 0 0 ;s branch 2dup u> 0= ?branch 18 18 0 0 ;s branch 2dup u> 0= 18 18 0 0 ;s branch 2dup u> 18 18 0 0 ;s branch 2dup 18 18 0 0 ;s ;s var: ! ;s 18 18 0 0 ;s ;s con: ;s ?branch col: 18 18 0 0 ;s ;s branch 2dup u> 0= 18 18 0 0 ;s ;s branch 2dup u> 18 18 0 0 ;s ;s branch 2dup 18 18 0 0 ;s ;s ;s var: ! ;s 18 18 0 0 ;s ;s ;s var: ! 18 18 0 0 ;s ;s ;s branch 2dup u> 18 18 0 0 ;s ;s ;s branch 2dup 18 18 0 0 2dup u> 0= ?branch dup col: 18 18 0 0 2dup u> 0= ?branch dup 18 18 0 0 2drop ;s ;s ;s var: ! 18 18 0 0 2drop ;s ;s ;s branch 2dup 18 18 0 0 0= ?branch dup col: col: var: 18 18 0 0 0= ?branch dup col: col: 18 18 0 0 0= ?branch dup col: 18 18 0 0 0= ?branch dup 18 18 0 0 (+loop) unloop d>s ;s ;s swap 18 17 1 0 defer: (type) ;s defer: (type) 18 17 1 0 count defer: (type) ;s defer: (type) 18 17 1 0 (type) ;s defer: (type) 18 0 18 0 field: @ var: = ?branch 18 0 18 0 field: @ var: = 18 0 18 0 field: @ var: 18 0 18 0 @local1 field: @ var: = ?branch 18 0 18 0 @local1 field: @ var: = 18 0 18 0 @local1 field: @ var: 18 0 18 0 0<> ?branch lp+ ;s 18 0 18 0 0<> ?branch lp+ 18 0 0 18 rdrop ;s ;s ;s col: lit 18 0 0 18 nip execute col: col: con: lit 18 0 0 18 lit ;s col: con: lit ;s 18 0 0 18 lit ;s col: con: lit 18 0 0 18 lit ;s col: con: 18 0 0 18 execute col: col: con: lit ;s 18 0 0 18 execute col: col: con: lit 18 0 0 18 con: lit ;s col: con: lit 18 0 0 18 con: lit ;s col: con: 18 0 0 18 con: lit ;s col: 18 0 0 18 col: con: lit ;s col: con: 18 0 0 18 col: con: lit ;s col: 18 0 0 18 col: col: con: lit ;s col: 18 0 0 18 col: col: con: lit ;s 18 0 0 18 col: col: con: lit 18 0 0 18 c@ 0= ?branch col: var: col: 18 0 0 18 c@ 0= ?branch col: var: 18 0 0 18 branch over 0= 0= ?branch swap 18 0 0 18 @ ! ;s ;s col: col: 18 0 0 18 ?dup ?branch ?dup ?branch col: col: 18 0 0 18 ?dup ?branch ?dup ?branch col: 18 0 0 18 ?branch over 0= 0= ?branch r@ 18 0 0 18 ?branch col: var: col: lit swap 18 0 0 18 ?branch col: var: col: lit 18 0 0 18 ?branch ?dup ?branch col: col: r> 18 0 0 18 ?branch ?dup ?branch col: col: 18 0 0 18 ?branch ?dup ?branch col: 18 0 0 18 ;s col: lit col: >r dup 18 0 0 18 ;s c@ 0= ?branch col: var: 18 0 0 18 ;s c@ 0= ?branch col: 18 0 0 18 ;s ;s drop ;s ;s 18 0 0 18 ;s ;s + ;s ! col: 18 0 0 18 ;s +! ;s ! ;s does: 18 0 0 18 ;s + ;s ! col: var: 18 0 0 18 ;s + ;s ! col: 18 0 0 18 ;s ! col: var: col: @ 18 0 0 18 ;s ! col: var: col: 18 0 0 18 ;s ! col: var: 18 0 0 18 ;s ! ;s does: @ col: 18 0 0 18 ;s ! ;s does: @ 18 0 0 18 0= ?branch col: var: col: lit 18 0 0 18 0= ?branch col: var: col: 18 0 0 18 0= ?branch col: var: 18 0 0 18 - ?dup ?branch ?dup ?branch col: 18 0 0 18 +! ;s ! ;s does: @ 18 0 0 18 +! ;s ! ;s does: 18 0 0 18 + ;s c@ 0= ?branch col: 18 0 0 18 + ;s ! col: var: col: 18 0 0 18 + ;s ! col: var: 18 0 0 18 + ;s ! col: 18 0 0 18 ! col: var: col: @ @ 18 0 0 18 ! col: var: col: @ 18 0 0 18 ! ;s does: @ col: var: 18 0 0 18 ! ;s does: @ col: 18 0 0 18 ! ;s does: @ 17 4 5 8 swap 1+ 17 17 0 0 var: @ dup ?branch 2dup cell+ 17 17 0 0 var: @ dup ?branch 2dup 17 17 0 0 unloop drop ;s drop swap cell+ 17 17 0 0 unloop drop ;s drop swap 17 17 0 0 unloop drop ;s drop 17 17 0 0 swap cell+ ! branch ;s ;s 17 17 0 0 swap cell+ ! branch ;s 17 17 0 0 swap cell+ ! branch 17 17 0 0 swap cell+ ! 17 17 0 0 over var: @ dup ?branch 2dup 17 17 0 0 over var: @ dup ?branch 17 17 0 0 over var: @ dup 17 17 0 0 over var: @ 17 17 0 0 over var: 17 17 0 0 nip nip execute col: con: lshift 17 17 0 0 nip execute col: con: lshift ;s 17 17 0 0 nip execute col: con: lshift 17 17 0 0 lshift ;s ;s branch col: sp@ 17 17 0 0 lshift ;s ;s branch col: 17 17 0 0 lshift ;s ;s branch 17 17 0 0 lit cells + count cr col: 17 17 0 0 lit cells + count cr 17 17 0 0 lit cells + count 17 17 0 0 execute col: con: lshift ;s ;s 17 17 0 0 execute col: con: lshift ;s 17 17 0 0 execute col: con: lshift 17 17 0 0 dup con: = ?branch drop ;s 17 17 0 0 drop swap cell+ ! branch ;s 17 17 0 0 drop swap cell+ ! branch 17 17 0 0 drop swap cell+ ! 17 17 0 0 drop swap cell+ 17 17 0 0 drop ;s drop swap cell+ ! 17 17 0 0 drop ;s drop swap cell+ 17 17 0 0 drop ;s drop swap 17 17 0 0 defer: (type) lit does: swap lit 17 17 0 0 defer: (type) lit does: swap 17 17 0 0 defer: (type) lit does: 17 17 0 0 defer: (type) ;s defer: (type) lit 17 17 0 0 count cr col: col: r> r> 17 17 0 0 count cr col: col: r> 17 17 0 0 count cr col: col: 17 17 0 0 count cr col: 17 17 0 0 count cr 17 17 0 0 con: lshift ;s ;s branch col: 17 17 0 0 con: lshift ;s ;s branch 17 17 0 0 con: = ?branch drop ;s ;s 17 17 0 0 con: = ?branch drop ;s 17 17 0 0 con: <> ?branch col: over var: 17 17 0 0 con: <> ?branch col: over 17 17 0 0 col: over var: @ dup ?branch 17 17 0 0 col: over var: @ dup 17 17 0 0 col: over var: @ 17 17 0 0 col: over var: 17 17 0 0 col: con: lshift ;s ;s branch 17 17 0 0 cells + count cr col: col: 17 17 0 0 cells + count cr col: 17 17 0 0 cells + count cr 17 17 0 0 cells + count 17 17 0 0 cell+ @ = ?branch lit cells 17 17 0 0 cell+ @ = ?branch lit 17 17 0 0 cell+ ! branch ;s ;s 17 17 0 0 cell+ ! branch ;s 17 17 0 0 cell+ ! branch 17 17 0 0 branch 2dup u> 0= ?branch var: 17 17 0 0 @ dup con: = ?branch drop 17 17 0 0 @ con: <> ?branch col: over 17 17 0 0 @ = ?branch lit cells + 17 17 0 0 @ = ?branch lit cells 17 17 0 0 @ = ?branch lit 17 17 0 0 @ 2dup u> 0= ?branch dup 17 17 0 0 ?branch lit cells + count cr 17 17 0 0 ?branch lit cells + count 17 17 0 0 ?branch lit cells + 17 17 0 0 ?branch col: over var: @ dup 17 17 0 0 ?branch col: over var: @ 17 17 0 0 ?branch col: over var: 17 17 0 0 = ?branch lit cells + count 17 17 0 0 = ?branch lit cells + 17 17 0 0 = ?branch drop ;s ;s branch 17 17 0 0 = ?branch drop ;s ;s 17 17 0 0 = ?branch drop ;s 17 17 0 0 <> ?branch col: over var: @ 17 17 0 0 <> ?branch col: over var: 17 17 0 0 <> ?branch col: over 17 17 0 0 ;s drop swap cell+ ! branch 17 17 0 0 ;s drop swap cell+ ! 17 17 0 0 ;s drop swap cell+ 17 17 0 0 ;s drop swap 17 17 0 0 ;s defer: (type) lit does: swap 17 17 0 0 ;s defer: (type) lit does: 17 17 0 0 ;s defer: (type) lit 17 17 0 0 ;s ;s var: ! ;s col: 17 17 0 0 2dup cell+ @ = ?branch lit 17 17 0 0 + count cr col: col: r> 17 17 0 0 + count cr col: col: 17 17 0 0 + count cr col: 17 17 0 0 + count cr 17 17 0 0 + count 17 17 0 0 (type) lit does: swap lit max 17 17 0 0 (type) lit does: swap lit 17 17 0 0 (type) lit does: swap 17 17 0 0 (type) lit does: 17 17 0 0 (type) ;s defer: (type) lit does: 17 17 0 0 (type) ;s defer: (type) lit 17 17 0 0 (type) (+loop) unloop drop ;s drop 17 17 0 0 (+loop) unloop drop ;s drop swap 17 17 0 0 (+loop) unloop drop ;s drop 17 17 0 0 ! ;s col: col: var: @ 17 12 0 5 col: col: lit user: ! col: 17 0 17 0 u< ?branch @ branch 2dup u< 17 0 17 0 u< ?branch @ branch 2dup 17 0 17 0 u< ?branch @ branch 17 0 17 0 u< ?branch @ 17 0 17 0 branch 2dup u< ?branch 17 0 17 0 branch 2dup u< 17 0 17 0 @ branch 2dup u< ?branch 17 0 17 0 @ branch 2dup u< 17 0 17 0 @ branch 2dup 17 0 17 0 ?branch @local1 field: @ var: = 17 0 17 0 ?branch @local1 field: @ var: 17 0 17 0 ?branch @ branch 2dup u< ?branch 17 0 17 0 ?branch @ branch 2dup u< 17 0 17 0 ?branch @ branch 2dup 17 0 17 0 ?branch @ branch 17 0 17 0 2dup u< ?branch @ branch 2dup 17 0 17 0 2dup u< ?branch @ branch 17 0 17 0 2dup u< ?branch @ 17 0 0 17 ;s r> col: col: 16 6 2 8 ;s var: @ lit 16 3 10 3 user: @ ?branch ! ;s ;s 16 3 10 3 user: @ ?branch ! ;s 16 3 10 3 user: @ ?branch ! 16 3 10 3 @ ?branch ! ;s ;s branch 16 3 10 3 @ ?branch ! ;s ;s 16 3 10 3 @ ?branch ! ;s 16 3 10 3 @ ?branch ! 16 3 10 3 ?branch ! ;s ;s branch col: 16 3 10 3 ?branch ! ;s ;s branch 16 3 10 3 ?branch ! ;s ;s 16 3 10 3 ?branch ! ;s 16 3 10 3 ?branch ! 16 3 10 3 >body user: @ ?branch ! ;s 16 3 10 3 >body user: @ ?branch ! 16 3 10 3 ;s >body user: @ ?branch ! 16 16 0 0 c! ;s ;s branch col: sp@ 16 16 0 0 c! ;s ;s branch col: 16 16 0 0 c! ;s ;s branch 16 16 0 0 ;s c! ;s ;s branch col: 16 16 0 0 ;s c! ;s ;s branch 16 16 0 0 ;s +! ;s c! ;s ;s 16 16 0 0 ;s ! ;s lit col: dup 16 16 0 0 +! ;s c! ;s ;s branch 16 16 0 0 +! ;s c! ;s ;s 16 16 0 0 + ;s ;s ;s 16 16 0 0 ! ;s lit col: dup @ 16 16 0 0 ! ;s lit col: dup 16 0 3 13 execute col: col: does: 16 0 16 0 var: @ > ?branch ;s ;s 16 0 16 0 var: @ > ?branch ;s 16 0 16 0 var: @ > ?branch 16 0 16 0 var: @ > 16 0 16 0 lp+ ;s branch lp+2 ;s lp+2 16 0 16 0 lit col: var: @ > ?branch 16 0 16 0 lit col: var: @ > 16 0 16 0 field: ! @local1 16 0 16 0 execute col: col: lit col: var: 16 0 16 0 does: 2@ ;s col: over swap 16 0 16 0 does: 2@ ;s col: over 16 0 16 0 defer: (type) ;s @local1 lit col: 16 0 16 0 defer: (type) ;s @local1 lit 16 0 16 0 count defer: (type) ;s @local1 lit 16 0 16 0 col: var: @ > ?branch ;s 16 0 16 0 col: var: @ > ?branch 16 0 16 0 col: var: @ > 16 0 16 0 col: lit col: var: @ > 16 0 16 0 col: col: lit col: var: @ 16 0 16 0 col: col: lit col: var: 16 0 16 0 branch lp+2 ;s lp+2 ;s lp+ 16 0 16 0 branch lp+2 ;s lp+2 ;s 16 0 16 0 branch lp+2 ;s lp+2 16 0 16 0 @local1 field: ! @local1 16 0 16 0 @local0 branch lp+ ;s @local0 field: 16 0 16 0 @local0 branch lp+ ;s @local0 16 0 16 0 @ > ?branch ;s ;s ;s 16 0 16 0 @ > ?branch ;s ;s 16 0 16 0 @ ;s +! ;s ;s >l 16 0 16 0 ?branch lp+ ;s lp+ 16 0 16 0 ?branch @local0 branch lp+ ;s @local0 16 0 16 0 > ?branch ;s ;s ;s ;s 16 0 16 0 > ?branch ;s ;s ;s 16 0 16 0 > ?branch ;s ;s 16 0 16 0 ;s branch lp+2 ;s lp+2 ;s 16 0 16 0 ;s branch lp+2 ;s lp+2 16 0 16 0 ;s branch drop ;s ;s col: 16 0 16 0 ;s ;s >l lp- 16 0 16 0 ;s ;s >l 16 0 16 0 ;s +! ;s ;s >l lp- 16 0 16 0 ;s +! ;s ;s >l 16 0 16 0 2@ ;s col: over swap col: 16 0 16 0 2@ ;s col: over swap 16 0 16 0 2@ ;s col: over 16 0 16 0 +! ;s ;s >l lp- 16 0 16 0 +! ;s ;s >l 16 0 16 0 (type) ;s @local1 lit col: >l 16 0 16 0 (type) ;s @local1 lit col: 16 0 16 0 (type) ;s @local1 lit 16 0 15 1 lit (?do) var: 16 0 15 1 (?do) var: 16 0 0 16 unloop drop ;s swap over col: 16 0 0 16 unloop drop ;s swap over 16 0 0 16 swap over col: swap col: con: 16 0 0 16 swap over col: swap col: 16 0 0 16 swap over col: swap 16 0 0 16 swap over col: 16 0 0 16 swap over 16 0 0 16 r> r> r> col: col: col: 16 0 0 16 r> r> r> col: col: 16 0 0 16 r> r> r> col: 16 0 0 16 r> r> r> 16 0 0 16 nip nip execute col: >r >r 16 0 0 16 nip execute col: lit lit lit 16 0 0 16 nip execute col: >r >r >r 16 0 0 16 nip execute col: >r >r 16 0 0 16 move ;s col: defer: defer: col: 16 0 0 16 move ;s col: defer: defer: 16 0 0 16 move ;s col: defer: 16 0 0 16 lit lit lit lit ;s ;s 16 0 0 16 lit lit lit lit ;s 16 0 0 16 lit lit lit lit 16 0 0 16 lit lit lit ;s ;s branch 16 0 0 16 lit lit lit ;s ;s 16 0 0 16 lit lit ;s ;s branch col: 16 0 0 16 lit lit ;s ;s branch 16 0 0 16 lit lit ;s ;s 16 0 0 16 lit ;s ;s branch col: sp@ 16 0 0 16 lit ;s ;s branch col: 16 0 0 16 lit ;s ;s branch 16 0 0 16 execute col: lit lit lit lit 16 0 0 16 execute col: lit lit lit 16 0 0 16 execute col: >r >r >r >r 16 0 0 16 execute col: >r >r >r 16 0 0 16 execute col: >r >r 16 0 0 16 dup >r col: col: user: @ 16 0 0 16 dup >r col: col: user: 16 0 0 16 drop ;s swap over col: swap 16 0 0 16 drop ;s swap over col: 16 0 0 16 drop ;s swap over 16 0 0 16 col: lit lit lit lit ;s 16 0 0 16 col: lit lit lit lit 16 0 0 16 col: lit lit lit 16 0 0 16 col: >r >r >r >r dup 16 0 0 16 col: >r >r >r >r 16 0 0 16 col: >r >r >r 16 0 0 16 code-address! ;s ;s r> r> col: 16 0 0 16 code-address! ;s ;s r> r> 16 0 0 16 code-address! ;s ;s r> 16 0 0 16 @ ;s @ ;s >r col: 16 0 0 16 @ ;s >r col: col: col: 16 0 0 16 @ ;s >r col: col: 16 0 0 16 @ ;s >r col: 16 0 0 16 >r dup >r col: col: user: 16 0 0 16 >r dup >r col: col: 16 0 0 16 >r dup >r col: 16 0 0 16 >r dup >r 16 0 0 16 >r col: col: user: @ ;s 16 0 0 16 >r col: col: user: @ 16 0 0 16 >r col: col: user: 16 0 0 16 >r col: col: col: user: @ 16 0 0 16 >r col: col: col: user: 16 0 0 16 >r >r dup >r col: col: 16 0 0 16 >r >r dup >r col: 16 0 0 16 >r >r dup >r 16 0 0 16 >r >r dup 16 0 0 16 >r >r >r dup >r col: 16 0 0 16 >r >r >r dup >r 16 0 0 16 >r >r >r dup 16 0 0 16 >r >r >r >r dup >r 16 0 0 16 >r >r >r >r dup 16 0 0 16 >r >r >r >r 16 0 0 16 ;s swap over col: swap col: 16 0 0 16 ;s swap over col: swap 16 0 0 16 ;s swap over col: 16 0 0 16 ;s swap over 16 0 0 16 ;s r> r> r> col: col: 16 0 0 16 ;s r> r> r> col: 16 0 0 16 ;s r> r> r> 16 0 0 16 ;s r> r> col: col: col: 16 0 0 16 ;s r> r> col: col: 16 0 0 16 ;s r> r> col: 16 0 0 16 ;s r> col: col: col: user: 16 0 0 16 ;s r> col: col: col: 16 0 0 16 ;s move ;s col: defer: defer: 16 0 0 16 ;s move ;s col: defer: 16 0 0 16 ;s code-address! ;s ;s r> r> 16 0 0 16 ;s code-address! ;s ;s r> 16 0 0 16 ;s @ ;s >r col: col: 16 0 0 16 ;s @ ;s >r col: 16 0 0 16 ;s >r col: col: col: user: 16 0 0 16 ;s >r col: col: col: 16 0 0 16 ;s >r col: col: 16 0 0 16 ;s ;s r> r> col: col: 16 0 0 16 ;s ;s r> r> col: 16 0 0 16 ;s 2! ;s r> r> r> 16 0 0 16 ;s 2! ;s r> r> 16 0 0 16 ;s 2! ;s r> 16 0 0 16 ;s +! ;s 2! ;s r> 16 0 0 16 ;s ! ;s r> col: col: 16 0 0 16 ;s ! ;s r> col: 16 0 0 16 2! ;s r> r> r> col: 16 0 0 16 2! ;s r> r> r> 16 0 0 16 2! ;s r> r> 16 0 0 16 2! ;s r> 16 0 0 16 +! ;s move ;s col: defer: 16 0 0 16 +! ;s 2! ;s r> r> 16 0 0 16 +! ;s 2! ;s r> 16 0 0 16 +! ;s ! ;s r> col: 16 0 0 16 +! ;s ! ;s col: col: 16 0 0 16 (loop) unloop drop ;s swap over 16 0 0 16 ! ;s r> col: col: col: 16 0 0 16 ! ;s r> col: col: 16 0 0 16 ! ;s r> col: 16 0 0 16 ! ;s col: col: col: user: 16 0 0 16 ! ;s code-address! ;s ;s r> 15 15 0 0 var: @ + col: col: var: 15 15 0 0 var: @ + col: col: 15 15 0 0 var: @ + ;s ;s ;s 15 15 0 0 var: @ + ;s ;s 15 15 0 0 unloop d>s ;s ;s var: @ 15 15 0 0 unloop d>s ;s ;s var: 15 15 0 0 unloop 2drop ;s ;s var: @ 15 15 0 0 unloop 2drop ;s ;s var: 15 15 0 0 d>s ;s ;s var: @ + 15 15 0 0 d>s ;s ;s var: @ 15 15 0 0 d>s ;s ;s var: 15 15 0 0 @ var: @ + col: col: 15 15 0 0 @ + col: col: var: @ 15 15 0 0 @ + col: col: var: 15 15 0 0 @ + col: col: 15 15 0 0 @ + ;s ;s ;s ;s 15 15 0 0 @ + ;s ;s ;s 15 15 0 0 @ + ;s ;s 15 15 0 0 ;s var: @ + ;s ;s 15 15 0 0 ;s var: @ + ;s 15 15 0 0 ;s var: @ + 15 15 0 0 ;s c! ;s ;s ;s branch 15 15 0 0 ;s ;s var: @ + ;s 15 15 0 0 ;s ;s var: @ + 15 15 0 0 ;s ;s branch ;s col: 15 15 0 0 ;s ;s ;s branch ;s col: 15 15 0 0 2drop ;s ;s var: @ dup 15 15 0 0 2drop ;s ;s var: @ 15 15 0 0 2drop ;s ;s var: 15 15 0 0 + col: col: var: @ + 15 15 0 0 + col: col: var: @ 15 15 0 0 + col: col: var: 15 15 0 0 + ;s ;s ;s ;s branch 15 15 0 0 + ;s ;s ;s ;s 15 15 0 0 (loop) unloop 2drop ;s ;s var: 15 15 0 0 (+loop) unloop d>s ;s ;s var: 15 12 1 2 @ ?branch col: col: r> 15 10 3 2 +! ;s ;s branch col: sp@ 15 10 3 2 +! ;s ;s branch col: 15 0 15 0 var: lit col: >l >l >l 15 0 15 0 var: lit col: >l >l 15 0 15 0 var: lit col: >l 15 0 15 0 var: lit col: 15 0 15 0 var: con: cells cmove @local1 var: 15 0 15 0 var: con: cells cmove @local1 15 0 15 0 var: con: cells cmove 15 0 15 0 var: con: cells 15 0 15 0 var: con: 15 0 15 0 var: @local1 field: ! var: @local1 15 0 15 0 var: @local1 field: ! var: 15 0 15 0 var: @local1 field: ! @local1 col: 15 0 15 0 var: @local1 field: ! @local1 15 0 15 0 var: @ lit (?do) lit @local1 15 0 15 0 var: @ lit (?do) lit 15 0 15 0 var: @ col: cells con: ;s 15 0 15 0 var: @ col: cells con: 15 0 15 0 var: @ col: cells 15 0 15 0 var: @ col: >l >l @local0 15 0 15 0 var: @ col: >l >l 15 0 15 0 var: @ @local1 lit + ! 15 0 15 0 var: @ @local1 lit + 15 0 15 0 var: @ @local1 lit 15 0 15 0 var: = ?branch @local2 i col: 15 0 15 0 var: = ?branch @local2 i 15 0 15 0 var: = ?branch @local2 15 0 15 0 var: +! var: @local1 field: ! 15 0 15 0 var: +! var: @local1 field: 15 0 15 0 var: +! var: @local1 15 0 15 0 var: ! var: @ @local1 lit 15 0 15 0 var: ! var: @ @local1 15 0 15 0 var: ! @local1 var: ! var: 15 0 15 0 var: ! @local1 var: ! 15 0 15 0 var: ! @local1 var: 15 0 15 0 var: ! @local1 15 0 15 0 unloop lp+2 ;s @local1 col: field: 15 0 15 0 unloop lp+2 ;s @local1 col: 15 0 15 0 unloop lp+ ;s lp+ ;s @local1 15 0 15 0 unloop lp+ ;s lit lit @local1 15 0 15 0 unloop lp+ ;s lit lit 15 0 15 0 unloop lp+ ;s lit 15 0 15 0 move lp+ ;s @local1 col: field: 15 0 15 0 move lp+ ;s @local1 col: 15 0 15 0 move lp+ ;s @local1 15 0 15 0 move lp+ ;s 15 0 15 0 move lp+ 15 0 15 0 lp- var: @ lit (?do) lit 15 0 15 0 lp- var: @ lit (?do) 15 0 15 0 lp- var: @ lit 15 0 15 0 lp- con: lit (?do) var: @local1 15 0 15 0 lp- con: lit (?do) var: 15 0 15 0 lp- con: lit (?do) 15 0 15 0 lp- @local1 var: @ col: >l 15 0 15 0 lp- @local1 var: @ col: 15 0 15 0 lp- @local1 var: @ 15 0 15 0 lp- @local1 var: 15 0 15 0 lp- @local1 field: var: con: cells 15 0 15 0 lp- @local1 field: var: con: 15 0 15 0 lp- @local1 field: var: 15 0 15 0 lp- @local1 field: @ ?dup 0= 15 0 15 0 lp- @local1 field: @ ?dup 15 0 15 0 lp- @local1 @local1 field: lit col: 15 0 15 0 lp- @local1 @local1 field: lit 15 0 15 0 lp- @local1 @local1 field: 15 0 15 0 lp- @local1 @local1 15 0 15 0 lp+2 ;s lp+ ;s cr col: 15 0 15 0 lp+2 ;s lp+ ;s cr 15 0 15 0 lp+2 ;s lit > ?branch lp+ 15 0 15 0 lp+2 ;s lit <> ?branch 15 0 15 0 lp+2 ;s lit <> 15 0 15 0 lp+2 ;s @local1 field: ! lp+ 15 0 15 0 lp+2 ;s @local1 field: ! 15 0 15 0 lp+2 ;s @local1 col: field: @ 15 0 15 0 lp+2 ;s @local1 col: field: 15 0 15 0 lp+2 ;s @local1 col: 15 0 15 0 lp+ ;s var: ! @local1 var: 15 0 15 0 lp+ ;s var: ! @local1 15 0 15 0 lp+ ;s var: ! 15 0 15 0 lp+ ;s lit lit @local1 field: 15 0 15 0 lp+ ;s lit lit @local1 15 0 15 0 lp+ ;s lit lit 15 0 15 0 lp+ ;s lit 15 0 15 0 lp+ ;s >l lp- var: @ 15 0 15 0 lp+ ;s >l lp- var: 15 0 15 0 lit var: +! var: @local1 field: 15 0 15 0 lit var: +! var: @local1 15 0 15 0 lit lit @local1 field: 2! @local1 15 0 15 0 lit lit @local1 field: 2! 15 0 15 0 lit lit @local1 field: 15 0 15 0 lit lit @local1 15 0 15 0 lit col: >l >l @local0 field: 15 0 15 0 lit @local1 field: 2! @local1 lp+ 15 0 15 0 lit @local1 field: 2! @local1 15 0 15 0 lit @local1 field: 2! 15 0 15 0 lit @local1 field: 15 0 15 0 lit @local1 >l >l @local1 ?branch 15 0 15 0 lit > ?branch lp+ ;s 15 0 15 0 lit > ?branch lp+ 15 0 15 0 lit + ! lit var: +! 15 0 15 0 lit + ! lit var: 15 0 15 0 lit + ! lit 15 0 15 0 lit + ! 15 0 15 0 lit (?do) var: @local1 field: i 15 0 15 0 lit (?do) var: @local1 field: 15 0 15 0 lit (?do) var: @local1 15 0 15 0 lit (?do) lit @local1 i col: 15 0 15 0 lit (?do) lit @local1 i 15 0 15 0 lit (?do) lit @local1 15 0 15 0 lit (?do) lit 15 0 15 0 field: var: con: cells cmove @local1 15 0 15 0 field: var: con: cells cmove 15 0 15 0 field: var: con: cells 15 0 15 0 field: var: con: 15 0 15 0 field: var: 15 0 15 0 field: lp+ ;s var: ! @local1 15 0 15 0 field: lp+ ;s var: ! 15 0 15 0 field: lp+ ;s var: 15 0 15 0 field: lit col: >l >l >l 15 0 15 0 field: lit col: >l >l 15 0 15 0 field: lit col: >l 15 0 15 0 field: lit col: 15 0 15 0 field: lit 15 0 15 0 field: con: cells move lp+ ;s 15 0 15 0 field: con: cells move lp+ 15 0 15 0 field: con: cells move 15 0 15 0 field: con: cells 15 0 15 0 field: con: 15 0 15 0 field: @local1 field: con: cells move 15 0 15 0 field: @local1 field: con: cells 15 0 15 0 field: @local1 field: con: 15 0 15 0 field: @ ?dup 0= ?branch var: 15 0 15 0 field: @ ?dup 0= ?branch 15 0 15 0 field: @ ?dup 0= 15 0 15 0 field: @ ?dup 15 0 15 0 field: 2! @local1 lp+ ;s 15 0 15 0 field: 2! @local1 lp+ 15 0 15 0 field: 2! @local1 15 0 15 0 field: ! var: @local1 field: ! 15 0 15 0 field: ! var: @local1 field: 15 0 15 0 field: ! var: @local1 15 0 15 0 field: ! var: 15 0 15 0 field: ! lp+ ;s @local1 col: 15 0 15 0 field: ! lp+ ;s @local1 15 0 15 0 field: ! lp+ ;s >l lp- 15 0 15 0 field: ! lp+ ;s >l 15 0 15 0 field: ! @local1 col: >l lp- 15 0 15 0 field: ! @local1 col: >l 15 0 15 0 field: ! @local1 col: 15 0 15 0 execute col: >l lp- @local1 @local1 15 0 15 0 dup @local1 field: ! lp+ ;s 15 0 15 0 dup @local1 field: ! lp+ 15 0 15 0 dup @local1 field: ! 15 0 15 0 dup @local1 field: 15 0 15 0 drop @local0 lp+2 ;s lit <> 15 0 15 0 drop + >r ;s @local1 field: 15 0 15 0 con: lit (?do) var: @local1 field: 15 0 15 0 con: lit (?do) var: @local1 15 0 15 0 con: lit (?do) var: 15 0 15 0 con: lit (?do) 15 0 15 0 con: cells move lp+ ;s @local1 15 0 15 0 con: cells move lp+ ;s 15 0 15 0 con: cells move lp+ 15 0 15 0 con: cells move 15 0 15 0 con: cells cmove @local1 var: lit 15 0 15 0 con: cells cmove @local1 var: 15 0 15 0 con: cells cmove @local1 15 0 15 0 con: cells cmove 15 0 15 0 con: ;s col: over swap col: 15 0 15 0 con: ;s col: over swap 15 0 15 0 con: ;s col: over 15 0 15 0 col: does: 2@ ;s col: over 15 0 15 0 col: does: 2@ ;s col: 15 0 15 0 col: does: 2@ ;s 15 0 15 0 col: does: 2@ 15 0 15 0 col: cells con: ;s col: over 15 0 15 0 col: >l lp- con: lit (?do) 15 0 15 0 col: >l lp- @local1 field: var: 15 0 15 0 col: >l lp- @local1 @local1 field: 15 0 15 0 col: >l lp- @local1 @local1 15 0 15 0 cmove @local1 var: lit col: >l 15 0 15 0 cmove @local1 var: lit col: 15 0 15 0 cmove @local1 var: lit 15 0 15 0 cmove @local1 var: 15 0 15 0 cmove @local1 15 0 15 0 cells move lp+ ;s @local1 col: 15 0 15 0 cells move lp+ ;s @local1 15 0 15 0 cells move lp+ ;s 15 0 15 0 cells move lp+ 15 0 15 0 cells move 15 0 15 0 cells con: ;s col: over swap 15 0 15 0 cells con: ;s col: over 15 0 15 0 cells cmove @local1 var: lit col: 15 0 15 0 cells cmove @local1 var: lit 15 0 15 0 cells cmove @local1 var: 15 0 15 0 cells cmove @local1 15 0 15 0 cells cmove 15 0 15 0 branch (loop) unloop lp+ ;s lp+ 15 0 15 0 @local1 var: lit col: >l >l 15 0 15 0 @local1 var: lit col: >l 15 0 15 0 @local1 var: lit col: 15 0 15 0 @local1 var: lit 15 0 15 0 @local1 var: @ col: >l >l 15 0 15 0 @local1 var: @ col: >l 15 0 15 0 @local1 var: @ col: 15 0 15 0 @local1 var: @ 15 0 15 0 @local1 var: ! var: @ @local1 15 0 15 0 @local1 var: ! var: @ 15 0 15 0 @local1 var: ! var: 15 0 15 0 @local1 var: ! 15 0 15 0 @local1 lp+ ;s 15 0 15 0 @local1 lp+ 15 0 15 0 @local1 lit + ! lit var: 15 0 15 0 @local1 lit + ! lit 15 0 15 0 @local1 lit + ! 15 0 15 0 @local1 lit + 15 0 15 0 @local1 field: var: con: cells cmove 15 0 15 0 @local1 field: var: con: cells 15 0 15 0 @local1 field: var: con: 15 0 15 0 @local1 field: var: 15 0 15 0 @local1 field: lit col: >l >l 15 0 15 0 @local1 field: lit col: >l 15 0 15 0 @local1 field: lit col: 15 0 15 0 @local1 field: lit 15 0 15 0 @local1 field: con: cells move lp+ 15 0 15 0 @local1 field: con: cells move 15 0 15 0 @local1 field: con: cells 15 0 15 0 @local1 field: con: 15 0 15 0 @local1 field: @local1 field: con: cells 15 0 15 0 @local1 field: @local1 field: con: 15 0 15 0 @local1 field: @ ?dup 0= ?branch 15 0 15 0 @local1 field: @ ?dup 0= 15 0 15 0 @local1 field: @ ?dup 15 0 15 0 @local1 field: 2! @local1 lp+ ;s 15 0 15 0 @local1 field: 2! @local1 lp+ 15 0 15 0 @local1 field: 2! @local1 15 0 15 0 @local1 field: 2! 15 0 15 0 @local1 field: ! var: @local1 field: 15 0 15 0 @local1 field: ! var: @local1 15 0 15 0 @local1 field: ! var: 15 0 15 0 @local1 field: ! lp+ ;s @local1 15 0 15 0 @local1 field: ! lp+ ;s >l 15 0 15 0 @local1 field: ! @local1 col: >l 15 0 15 0 @local1 field: ! @local1 col: 15 0 15 0 @local1 col: >l lp- con: lit 15 0 15 0 @local1 col: >l lp- con: 15 0 15 0 @local1 col: >l lp- @local1 field: 15 0 15 0 @local1 @local1 field: lit col: >l 15 0 15 0 @local1 @local1 field: lit col: 15 0 15 0 @local1 @local1 field: lit 15 0 15 0 @local1 ?branch @local0 lp+2 ;s @local1 15 0 15 0 @local1 ?branch @local0 lp+2 ;s 15 0 15 0 @local1 ?branch @local0 lp+2 15 0 15 0 @local1 >l >l @local1 ?branch @local0 15 0 15 0 @local1 >l >l @local1 ?branch 15 0 15 0 @local0 lp+2 ;s lit <> ?branch 15 0 15 0 @local0 lp+2 ;s lit <> 15 0 15 0 @local0 lp+2 ;s @local1 field: ! 15 0 15 0 @local0 lp+2 ;s @local1 field: 15 0 15 0 @local0 lp+2 ;s @local1 15 0 15 0 @local0 field: lp+ ;s var: ! 15 0 15 0 @local0 field: lp+ ;s var: 15 0 15 0 @ var: = ?branch @local2 i 15 0 15 0 @ var: = ?branch @local2 15 0 15 0 @ lit (?do) lit @local1 i 15 0 15 0 @ lit (?do) lit @local1 15 0 15 0 @ lit (?do) lit 15 0 15 0 @ col: cells con: ;s col: 15 0 15 0 @ col: cells con: ;s 15 0 15 0 @ col: cells con: 15 0 15 0 @ col: cells 15 0 15 0 @ @local1 lit + ! lit 15 0 15 0 @ @local1 lit + ! 15 0 15 0 @ @local1 lit + 15 0 15 0 @ ?dup 0= ?branch var: @ 15 0 15 0 @ ?dup 0= ?branch var: 15 0 15 0 @ ;s +! ;s ;s dup 15 0 15 0 ?dup 0= ?branch var: @ col: 15 0 15 0 ?dup 0= ?branch var: @ 15 0 15 0 ?dup 0= ?branch var: 15 0 15 0 ?branch var: @ col: cells con: 15 0 15 0 ?branch var: @ col: cells 15 0 15 0 ?branch lp+2 ;s lp+ ;s cr 15 0 15 0 ?branch @local2 i col: cells + 15 0 15 0 ?branch @local2 i col: cells 15 0 15 0 ?branch @local2 i col: 15 0 15 0 ?branch @local2 i 15 0 15 0 ?branch @local0 lp+2 ;s @local1 field: 15 0 15 0 ?branch @local0 lp+2 ;s @local1 15 0 15 0 ?branch @local0 lp+2 ;s 15 0 15 0 ?branch @local0 lp+2 15 0 15 0 >r ;s @local1 field: @local1 field: 15 0 15 0 >r ;s @local1 field: @local1 15 0 15 0 >r ;s @local1 field: 15 0 15 0 >l lp- var: @ lit (?do) 15 0 15 0 >l lp- var: @ lit 15 0 15 0 >l lp- con: lit (?do) var: 15 0 15 0 >l lp- con: lit (?do) 15 0 15 0 >l lp- @local1 var: @ col: 15 0 15 0 >l lp- @local1 var: @ 15 0 15 0 >l lp- @local1 var: 15 0 15 0 >l lp- @local1 field: var: con: 15 0 15 0 >l lp- @local1 field: var: 15 0 15 0 >l lp- @local1 field: @ ?dup 15 0 15 0 >l lp- @local1 @local1 field: lit 15 0 15 0 >l lp- @local1 @local1 field: 15 0 15 0 >l lp- @local1 @local1 15 0 15 0 >l @local1 ?branch @local0 lp+2 ;s 15 0 15 0 >l @local1 ?branch @local0 lp+2 15 0 15 0 >l >l @local1 ?branch @local0 lp+2 15 0 15 0 > ?branch lp+ ;s 15 0 15 0 > ?branch lp+ 15 0 15 0 = ?branch @local2 i col: cells 15 0 15 0 = ?branch @local2 i col: 15 0 15 0 = ?branch @local2 i 15 0 15 0 ;s var: ! @local1 var: ! 15 0 15 0 ;s var: ! @local1 var: 15 0 15 0 ;s var: ! @local1 15 0 15 0 ;s lit lit @local1 field: 2! 15 0 15 0 ;s lit lit @local1 field: 15 0 15 0 ;s lit lit @local1 15 0 15 0 ;s lit > ?branch lp+ ;s 15 0 15 0 ;s lit > ?branch lp+ 15 0 15 0 ;s lit <> ?branch 15 0 15 0 ;s lit <> 15 0 15 0 ;s dup @local1 field: ! lp+ 15 0 15 0 ;s dup @local1 field: ! 15 0 15 0 ;s dup @local1 field: 15 0 15 0 ;s @local1 field: @local1 field: con: 15 0 15 0 ;s @local1 field: @local1 field: 15 0 15 0 ;s @local1 field: @local1 15 0 15 0 ;s @local1 field: ! lp+ ;s 15 0 15 0 ;s @local1 field: ! lp+ 15 0 15 0 ;s @local1 field: ! 15 0 15 0 ;s @ var: = ?branch @local2 15 0 15 0 ;s >l lp- var: @ lit 15 0 15 0 ;s >l lp- var: @ 15 0 15 0 ;s >l lp- var: 15 0 15 0 ;s >l lp- @local1 var: @ 15 0 15 0 ;s >l lp- @local1 var: 15 0 15 0 ;s ;s lp+ ;s cr col: 15 0 15 0 ;s ;s lp+ ;s cr 15 0 15 0 ;s ;s dup @local1 field: ! 15 0 15 0 ;s ;s dup @local1 field: 15 0 15 0 ;s ;s dup @local1 15 0 15 0 ;s ;s col: lit defer: (emit) 15 0 15 0 ;s ;s col: lit defer: 15 0 15 0 ;s ;s >l lp- @local1 var: 15 0 15 0 ;s ;s >l lp- @local1 15 0 15 0 ;s ;s ;s lp+ ;s cr 15 0 15 0 ;s ;s ;s col: lit defer: 15 0 15 0 ;s +! ;s ;s dup @local1 15 0 15 0 ;s +! ;s ;s dup 15 0 15 0 2! @local1 lp+ ;s 15 0 15 0 2! @local1 lp+ 15 0 15 0 2! @local1 15 0 15 0 0= ?branch var: @ col: cells 15 0 15 0 0= ?branch var: @ col: 15 0 15 0 +! var: @local1 field: ! var: 15 0 15 0 +! var: @local1 field: ! 15 0 15 0 +! var: @local1 field: 15 0 15 0 +! var: @local1 15 0 15 0 +! ;s ;s dup @local1 field: 15 0 15 0 +! ;s ;s dup @local1 15 0 15 0 +! ;s ;s dup 15 0 15 0 +! ;s ;s >l lp- @local1 15 0 15 0 + >r ;s @local1 field: @local1 15 0 15 0 + >r ;s @local1 field: 15 0 15 0 + ! lit var: +! var: 15 0 15 0 + ! lit var: +! 15 0 15 0 + ! lit var: 15 0 15 0 + ! lit 15 0 15 0 (loop) unloop lp+2 ;s @local1 col: 15 0 15 0 (loop) unloop lp+ ;s lit lit 15 0 15 0 (loop) unloop lp+ ;s lit 15 0 15 0 (?do) var: @local1 field: i col: 15 0 15 0 (?do) var: @local1 field: i 15 0 15 0 (?do) var: @local1 field: 15 0 15 0 (?do) var: @local1 15 0 15 0 (?do) lit @local1 i col: cells 15 0 15 0 (?do) lit @local1 i col: 15 0 15 0 (?do) lit @local1 i 15 0 15 0 (?do) lit @local1 15 0 15 0 (?do) lit 15 0 15 0 ! var: @local1 field: ! @local1 15 0 15 0 ! var: @local1 field: ! 15 0 15 0 ! var: @ @local1 lit + 15 0 15 0 ! var: @ @local1 lit 15 0 15 0 ! var: @ @local1 15 0 15 0 ! lp+ ;s >l lp- var: 15 0 15 0 ! lp+ ;s >l lp- 15 0 15 0 ! lp+ ;s >l 15 0 15 0 ! lit var: +! var: @local1 15 0 15 0 ! @local1 var: ! var: @ 15 0 15 0 ! @local1 var: ! var: 15 0 15 0 ! @local1 var: ! 15 0 15 0 ! @local1 var: 15 0 15 0 ! @local1 col: >l lp- con: 15 0 15 0 ! @local1 col: >l lp- 15 0 15 0 ! @local1 col: >l 15 0 15 0 ! @local1 col: 15 0 15 0 ! @local0 field: lp+ ;s var: 15 0 15 0 ! (loop) unloop lp+ ;s lit 15 0 0 15 var: @ and ?branch con: ;s 15 0 0 15 var: @ and ?branch con: 15 0 0 15 swap +! ;s ;s ;s var: 15 0 0 15 execute col: >r col: col: r> 15 0 0 15 con: ;s ;s does: @ col: 15 0 0 15 con: ;s ;s does: @ 15 0 0 15 con: ;s ;s does: 15 0 0 15 col: >r col: col: r> r> 15 0 0 15 col: >r col: col: r> 15 0 0 15 code-address! ;s ;s col: var: col: 15 0 0 15 code-address! ;s ;s col: var: 15 0 0 15 and ?branch con: ;s ;s does: 15 0 0 15 and ?branch con: ;s ;s 15 0 0 15 and ?branch con: ;s 15 0 0 15 and ?branch con: 15 0 0 15 @ and ?branch con: ;s ;s 15 0 0 15 @ and ?branch con: ;s 15 0 0 15 @ and ?branch con: 15 0 0 15 @ ;s execute col: >r col: 15 0 0 15 ?branch con: ;s ;s does: @ 15 0 0 15 ?branch con: ;s ;s does: 15 0 0 15 ?branch con: ;s ;s 15 0 0 15 >r col: col: r> r> dup 15 0 0 15 >r col: col: r> r> 15 0 0 15 >r col: col: r> 15 0 0 15 ;s var: @ and ?branch con: 15 0 0 15 ;s var: @ and ?branch 15 0 0 15 ;s execute col: >r col: col: 15 0 0 15 ;s execute col: >r col: 15 0 0 15 ;s col: var: col: col: col: 15 0 0 15 ;s col: var: col: col: 15 0 0 15 ;s code-address! ;s ;s col: var: 15 0 0 15 ;s ;s var: @ and ?branch 15 0 0 15 ;s ;s col: var: col: col: 15 0 0 15 ;s ;s ;s var: @ and 15 0 0 15 +! ;s ;s ;s var: @ 15 0 0 15 +! ;s ;s ;s var: 14 7 7 0 over c@ lit = ?branch 2drop 14 7 7 0 lit = ?branch 2drop rdrop user: 14 7 7 0 lit = ?branch 2drop rdrop 14 7 7 0 lit = ?branch 2drop 14 7 7 0 c@ lit = ?branch 2drop rdrop 14 7 7 0 c@ lit = ?branch 2drop 14 7 7 0 = ?branch 2drop rdrop user: col: 14 7 7 0 = ?branch 2drop rdrop user: 14 7 7 0 = ?branch 2drop rdrop 14 7 7 0 = ?branch 2drop 14 6 0 8 var: var: ! ;s ;s 14 6 0 8 var: @ lit ! var: var: 14 6 0 8 var: @ lit ! var: 14 6 0 8 var: @ lit ! 14 6 0 8 var: @ 0< ?branch lit @ 14 6 0 8 var: @ 0< ?branch lit 14 6 0 8 swap ! ;s var: @ lit 14 6 0 8 lit @ var: ! ;s ;s 14 6 0 8 lit @ var: ! ;s 14 6 0 8 lit @ var: ! 14 6 0 8 lit @ var: 14 6 0 8 lit ! var: var: ! ;s 14 6 0 8 lit ! var: var: ! 14 6 0 8 lit ! var: var: 14 6 0 8 lit ! var: 14 6 0 8 col: var: @ 0< ?branch lit 14 6 0 8 col: 0= ?branch var: col: con: 14 6 0 8 col: 0= ?branch var: col: 14 6 0 8 @ lit ! var: var: ! 14 6 0 8 @ lit ! var: var: 14 6 0 8 @ lit ! var: 14 6 0 8 @ lit ! 14 6 0 8 @ 0< ?branch lit @ var: 14 6 0 8 @ 0< ?branch lit @ 14 6 0 8 @ 0< ?branch lit 14 6 0 8 ?branch lit @ var: ! ;s 14 6 0 8 ?branch lit @ var: ! 14 6 0 8 ?branch lit @ var: 14 6 0 8 ;s var: @ lit ! var: 14 6 0 8 ;s var: @ lit ! 14 6 0 8 0= ?branch var: col: con: swap 14 6 0 8 0= ?branch var: col: con: 14 6 0 8 0= ?branch var: col: 14 6 0 8 0< ?branch lit @ var: ! 14 6 0 8 0< ?branch lit @ var: 14 6 0 8 0< ?branch lit @ 14 6 0 8 ! var: var: ! ;s ;s 14 6 0 8 ! var: var: ! ;s 14 6 0 8 ! ;s var: @ lit ! 14 6 0 8 ! ;s var: @ lit 14 5 1 8 @ var: ! ;s ;s ;s 14 5 0 9 char+ c@ ;s ;s branch col: 14 5 0 9 char+ c@ ;s ;s branch 14 5 0 9 char+ c@ ;s ;s 14 5 0 9 c@ ;s ;s branch col: sp@ 14 5 0 9 c@ ;s ;s branch col: 14 5 0 9 c@ ;s ;s branch 14 5 0 9 ;s char+ c@ ;s ;s branch 14 5 0 9 ;s char+ c@ ;s ;s 14 5 0 9 ;s ;s char+ c@ ;s ;s 14 4 2 8 @ ?branch ;s 14 3 5 6 1+ col: 14 3 1 10 (loop) unloop ;s col: col: user: 14 2 6 6 r> tuck - 14 2 6 6 r> tuck 14 14 0 0 var: @ + col: dup col: 14 14 0 0 var: @ + col: dup 14 14 0 0 swap col: cell+ cell+ ;s ! 14 14 0 0 swap col: cell+ cell+ ;s 14 14 0 0 swap col: cell+ cell+ 14 14 0 0 dup col: var: @ swap col: 14 14 0 0 dup col: var: @ swap 14 14 0 0 col: dup col: var: @ swap 14 14 0 0 col: dup col: var: @ 14 14 0 0 col: dup col: var: 14 14 0 0 c! ;s ;s col: col: var: 14 14 0 0 @ var: @ + col: dup 14 14 0 0 @ + col: dup col: var: 14 14 0 0 @ + col: dup col: 14 14 0 0 @ + col: dup 14 14 0 0 ;s ;s ;s var: @ dup 14 14 0 0 2drop ;s ;s ;s var: @ 14 14 0 0 + col: dup col: var: @ 14 14 0 0 + col: dup col: var: 14 14 0 0 + col: dup col: 14 14 0 0 + col: dup 14 11 1 2 user: @ ?branch col: col: r> 14 11 1 2 unloop ;s ;s branch ;s ;s 14 11 1 2 unloop ;s ;s branch ;s 14 11 1 2 @ ?branch col: col: r> dup 14 11 1 2 ?branch col: col: r> dup cell+ 14 11 1 2 ?branch col: col: r> dup 14 11 1 2 ;s user: @ ?branch col: col: 14 11 1 2 ;s user: @ ?branch col: 14 11 1 2 +! ;s user: @ ?branch col: 14 11 1 2 (loop) unloop ;s ;s branch ;s 14 0 14 0 lp+ ;s @local0 @local1 field: col: 14 0 14 0 lp+ ;s @local0 @local1 field: 14 0 14 0 lp+ ;s @local0 @local1 14 0 14 0 col: >l >l @local0 ?branch @local1 14 0 14 0 col: >l >l @local0 ?branch 14 0 14 0 @local1 ?branch @local1 @local0 field: col: 14 0 14 0 @local1 ?branch @local1 @local0 field: 14 0 14 0 @local1 ?branch @local1 @local0 14 0 14 0 @local1 ! lp+ ;s @local0 @local1 14 0 14 0 @local1 ! lp+ ;s @local0 14 0 14 0 @local0 @local1 field: col: >l >l 14 0 14 0 @local0 @local1 field: col: >l 14 0 14 0 @local0 @local1 field: col: 14 0 14 0 @local0 @local1 field: 14 0 14 0 @local0 ?branch @local1 ?branch @local1 @local0 14 0 14 0 @local0 ?branch @local1 ?branch @local1 14 0 14 0 @local0 ?branch @local1 ?branch 14 0 14 0 @local0 ?branch @local1 14 0 14 0 @local0 ?branch 14 0 14 0 ?branch @local1 @local0 field: col: >l 14 0 14 0 ?branch @local1 @local0 field: col: 14 0 14 0 ?branch @local1 @local0 field: 14 0 14 0 ?branch @local1 ?branch @local1 @local0 field: 14 0 14 0 ?branch @local1 ?branch @local1 @local0 14 0 14 0 ?branch @local1 ?branch @local1 14 0 14 0 ?branch @local1 ?branch 14 0 14 0 >l @local0 ?branch @local1 ?branch @local1 14 0 14 0 >l @local0 ?branch @local1 ?branch 14 0 14 0 >l @local0 ?branch @local1 14 0 14 0 >l @local0 ?branch 14 0 14 0 >l >l @local0 ?branch @local1 ?branch 14 0 14 0 >l >l @local0 ?branch @local1 14 0 14 0 >l >l @local0 ?branch 14 0 14 0 ;s @local1 ! lp+ ;s @local0 14 0 14 0 ;s @local0 @local1 field: col: >l 14 0 14 0 ;s @local0 @local1 field: col: 14 0 14 0 ;s @local0 @local1 field: 14 0 14 0 ;s @local0 @local1 14 0 14 0 ;s ;s dup col: col: col: 14 0 14 0 ;s ;s ;s ;s dup col: 14 0 14 0 ;s ;s ;s ;s dup 14 0 14 0 ! lp+ ;s @local0 @local1 field: 14 0 14 0 ! lp+ ;s @local0 @local1 14 0 14 0 ! lp+ ;s @local0 14 0 14 0 ! ;s ;s ;s ;s dup 14 0 0 14 rdrop ;s ?branch r@ col: does: 14 0 0 14 r@ col: does: @ + ;s 14 0 0 14 r@ col: does: @ + 14 0 0 14 r@ col: does: @ 14 0 0 14 r@ col: does: 14 0 0 14 over col: 2dup col: lit col: 14 0 0 14 over col: 2dup col: lit 14 0 0 14 over col: 2dup col: 14 0 0 14 over col: 2dup 14 0 0 14 does: @ + ;s @ 1+ 14 0 0 14 col: does: @ + ;s @ 14 0 0 14 col: does: @ + ;s 14 0 0 14 col: does: @ + 14 0 0 14 branch rdrop ;s ;s con: (+loop) 14 0 0 14 branch rdrop ;s ;s con: 14 0 0 14 branch rdrop ;s ;s 14 0 0 14 @ 1+ var: 2@ 14 0 0 14 @ 1+ var: 14 0 0 14 @ + ;s @ 1+ var: 14 0 0 14 @ + ;s @ 1+ 14 0 0 14 ?branch r@ col: does: @ + 14 0 0 14 ?branch r@ col: does: @ 14 0 0 14 ?branch r@ col: does: 14 0 0 14 ?branch over col: 2dup col: lit 14 0 0 14 ?branch over col: 2dup col: 14 0 0 14 ?branch over col: 2dup 14 0 0 14 = ;s ?branch 14 0 0 14 ;s @ 1+ var: 2@ 14 0 0 14 ;s @ 1+ var: 14 0 0 14 ;s @ 1+ 14 0 0 14 ;s ?branch r@ col: does: @ 14 0 0 14 ;s ?branch r@ col: does: 14 0 0 14 ;s ?branch over col: 2dup col: 14 0 0 14 ;s ?branch over col: 2dup 14 0 0 14 ;s ?branch over col: 14 0 0 14 ;s ?branch over 14 0 0 14 ;s ;s ?branch over col: 2dup 14 0 0 14 ;s ;s ?branch over col: 14 0 0 14 ;s ;s ?branch over 14 0 0 14 ;s ;s ;s ?branch over col: 14 0 0 14 ;s ;s ;s ?branch over 14 0 0 14 +! ;s ;s ;s ?branch over 14 0 0 14 + ;s @ 1+ var: 2@ 14 0 0 14 + ;s @ 1+ var: 14 0 0 14 + ;s @ 1+ 13 6 5 2 drop col: r> /does-handler + col: 13 6 5 2 drop col: r> /does-handler + 13 6 5 2 drop col: r> /does-handler 13 6 5 2 ;s drop col: r> /does-handler + 13 6 5 2 ;s drop col: r> /does-handler 13 6 5 2 ;s drop col: r> 13 5 4 4 nip nip execute col: con: swap 13 5 4 4 nip execute col: con: swap ! 13 5 4 4 nip execute col: con: swap 13 5 4 4 execute col: con: swap ! ;s 13 5 4 4 execute col: con: swap ! 13 5 4 4 execute col: con: swap 13 4 5 4 swap 1+ /string ;s 13 4 5 4 swap 1+ /string 13 4 5 4 rdrop ;s lit swap 1+ /string 13 4 5 4 rdrop ;s lit swap 1+ 13 4 5 4 rdrop ;s lit swap 13 4 5 4 rdrop ;s lit 13 4 5 4 r@ <> ?branch rdrop ;s lit 13 4 5 4 lit swap 1+ /string ;s 13 4 5 4 lit swap 1+ /string 13 4 5 4 lit swap 1+ 13 4 5 4 lit lit col: >r dup ?branch 13 4 5 4 lit lit col: >r dup 13 4 5 4 col: lit lit col: >r dup 13 4 5 4 ?branch rdrop ;s lit swap 1+ 13 4 5 4 ?branch rdrop ;s lit swap 13 4 5 4 ?branch rdrop ;s lit 13 4 5 4 <> ?branch rdrop ;s lit swap 13 4 5 4 <> ?branch rdrop ;s lit 13 4 5 4 ;s lit swap 1+ /string ;s 13 4 5 4 ;s lit swap 1+ /string 13 4 5 4 ;s lit swap 1+ 13 4 5 4 ;s lit swap 13 4 5 4 1+ /string ;s 13 4 5 4 1+ /string 13 4 5 4 /string ;s 13 2 5 6 >r lit col: >r 13 13 0 0 rdrop ;s ;s over 0= col: 13 13 0 0 rdrop ;s ;s over 0= 13 13 0 0 rdrop ;s ;s col: col: user: 13 13 0 0 over 0= col: col: col: r> 13 13 0 0 over 0= col: col: col: 13 13 0 0 over 0= col: col: 13 13 0 0 over 0= col: 13 13 0 0 cell+ ! branch ;s ;s ;s 13 13 0 0 branch ;s col: lit col: >r 13 13 0 0 branch ;s col: lit col: 13 13 0 0 branch ;s col: lit 13 13 0 0 branch ;s ;s ;s branch ;s 13 13 0 0 ?branch rdrop ;s ;s over 0= 13 13 0 0 ;s over 0= col: col: col: 13 13 0 0 ;s over 0= col: col: 13 13 0 0 ;s over 0= col: 13 13 0 0 ;s over 0= 13 13 0 0 ;s branch ;s col: lit col: 13 13 0 0 ;s branch ;s col: lit 13 13 0 0 ;s ;s over 0= col: col: 13 13 0 0 ;s ;s over 0= col: 13 13 0 0 ;s ;s over 0= 13 13 0 0 ;s ;s col: lit col: dup 13 13 0 0 ;s ;s branch ;s col: lit 13 13 0 0 + ;s ;s col: col: var: 13 13 0 0 ! branch ;s ;s ;s branch 13 13 0 0 ! branch ;s ;s ;s 13 0 13 0 var: @ ?branch lp+ ;s @local1 13 0 13 0 col: 2dup u< ?branch @ branch 13 0 13 0 col: 2dup u< ?branch @ 13 0 13 0 branch 2dup u< ?branch = ;s 13 0 13 0 branch 2dup u< ?branch = 13 0 13 0 @ col: 2dup u< ?branch @ 13 0 13 0 @ branch 2dup u< ?branch = 13 0 13 0 @ ?branch lp+ ;s @local1 col: 13 0 13 0 @ ?branch lp+ ;s @local1 13 0 0 13 r> ;s ;s ;s r> ;s 13 0 0 13 r> ;s ;s ;s r> 13 0 0 13 or ?branch drop col: var: col: 13 0 0 13 or ?branch drop col: var: 13 0 0 13 or ?branch drop col: 13 0 0 13 or ?branch drop 13 0 0 13 execute col: col: does: @ col: 13 0 0 13 execute col: col: does: @ 13 0 0 13 drop col: var: col: lit swap 13 0 0 13 drop col: var: col: lit 13 0 0 13 drop col: var: col: 13 0 0 13 col: col: var: @ ?branch col: 13 0 0 13 col: col: does: @ col: var: 13 0 0 13 col: col: does: @ col: 13 0 0 13 col: col: does: @ 13 0 0 13 c@ 0= or ?branch drop col: 13 0 0 13 c@ 0= or ?branch drop 13 0 0 13 @ execute col: col: does: @ 13 0 0 13 @ execute col: col: does: 13 0 0 13 ?branch drop col: var: col: lit 13 0 0 13 ?branch drop col: var: col: 13 0 0 13 ?branch drop col: var: 13 0 0 13 ;s c@ 0= or ?branch drop 13 0 0 13 ;s ;s r> ;s ;s does: 13 0 0 13 ;s ;s ;s drop ;s ;s 13 0 0 13 2drop r> ;s ;s ;s r> 13 0 0 13 0= or ?branch drop col: var: 13 0 0 13 0= or ?branch drop col: 13 0 0 13 0= or ?branch drop 13 0 0 13 + @ execute col: col: does: 12 3 9 0 user: @ lit = ?branch con: 12 3 9 0 lit = ?branch con: ;s ?branch 12 3 9 0 lit = ?branch con: ;s 12 3 9 0 lit = ?branch con: 12 3 9 0 @ lit = ?branch con: ;s 12 3 9 0 @ lit = ?branch con: 12 3 9 0 = ?branch con: ;s ?branch col: 12 3 9 0 = ?branch con: ;s ?branch 12 3 9 0 = ?branch con: ;s 12 2 5 5 2! ;s branch 12 2 2 8 rdrop ;s ;s lit lit col: 12 2 2 8 lit lit col: >r >r user: 12 2 2 8 lit col: >r >r user: @ 12 2 2 8 lit col: >r >r user: 12 2 2 8 ;s lit lit col: >r >r 12 2 2 8 ;s lit lit col: >r 12 2 2 8 ;s lit lit col: 12 2 2 8 ;s ;s lit lit col: >r 12 2 2 8 ;s ;s lit lit col: 12 2 2 8 ;s 0= ?branch ;s ;s ;s 12 2 2 8 0= ?branch ;s ;s ;s ;s 12 12 0 0 var: ! ;s swap ! ;s 12 12 0 0 user: ! >r >r col: user: 12 12 0 0 user: ! >r >r col: 12 12 0 0 user: ! >r >r 12 12 0 0 swap dup user: ! >r >r 12 12 0 0 swap dup user: ! >r 12 12 0 0 swap dup user: ! 12 12 0 0 swap dup user: 12 12 0 0 swap ! ;s nip ;s swap 12 12 0 0 rot swap col: cell+ cell+ ;s 12 12 0 0 rot swap col: cell+ cell+ 12 12 0 0 rot swap col: cell+ 12 12 0 0 rot swap col: 12 12 0 0 r> user: ! col: col: var: 12 12 0 0 r> user: ! col: col: 12 12 0 0 r> r> user: ! col: col: 12 12 0 0 r> r> user: ! col: 12 12 0 0 nip execute col: user: @ col: 12 12 0 0 nip ;s swap user: ! swap 12 12 0 0 nip ;s swap user: ! 12 12 0 0 nip ;s swap user: 12 12 0 0 nip ;s swap 12 12 0 0 execute col: user: @ col: col: 12 12 0 0 execute col: ;s branch ;s user: 12 12 0 0 execute col: ;s branch ;s 12 12 0 0 execute col: ;s branch 12 12 0 0 dup user: ! >r >r col: 12 12 0 0 dup user: ! >r >r 12 12 0 0 dup user: ! >r 12 12 0 0 does-code! ;s ;s swap dup user: 12 12 0 0 does-code! ;s ;s swap dup 12 12 0 0 does-code! ;s ;s rot swap col: 12 12 0 0 does-code! ;s ;s rot swap 12 12 0 0 does-code! ;s ;s rot 12 12 0 0 col: user: @ col: col: defer: 12 12 0 0 col: cell+ cell+ ;s ! col: 12 12 0 0 col: ;s branch ;s user: @ 12 12 0 0 col: ;s branch ;s user: 12 12 0 0 col: ;s branch ;s 12 12 0 0 col: ;s branch 12 12 0 0 cell+ cell+ ;s ! col: col: 12 12 0 0 cell+ cell+ ;s ! col: 12 12 0 0 cell+ ;s @ execute col: ;s 12 12 0 0 cell+ ;s ! col: col: col: 12 12 0 0 cell+ ;s ! col: col: 12 12 0 0 cell+ ;s ! col: 12 12 0 0 @ execute col: ;s branch ;s 12 12 0 0 @ execute col: ;s branch 12 12 0 0 @ ;s does-code! ;s ;s rot 12 12 0 0 >r col: user: @ col: col: 12 12 0 0 >r col: user: @ col: 12 12 0 0 >r col: user: @ 12 12 0 0 >r col: user: 12 12 0 0 >r >r col: user: @ col: 12 12 0 0 >r >r col: user: @ 12 12 0 0 >r >r col: user: 12 12 0 0 >r >r col: 12 12 0 0 ;s swap dup user: ! >r 12 12 0 0 ;s swap dup user: ! 12 12 0 0 ;s swap dup user: 12 12 0 0 ;s rot swap col: cell+ cell+ 12 12 0 0 ;s rot swap col: cell+ 12 12 0 0 ;s rot swap col: 12 12 0 0 ;s rot swap 12 12 0 0 ;s r> r> user: ! col: 12 12 0 0 ;s r> r> user: ! 12 12 0 0 ;s r> r> user: 12 12 0 0 ;s nip ;s swap user: ! 12 12 0 0 ;s nip ;s swap user: 12 12 0 0 ;s nip ;s swap 12 12 0 0 ;s does-code! ;s ;s swap dup 12 12 0 0 ;s does-code! ;s ;s rot swap 12 12 0 0 ;s does-code! ;s ;s rot 12 12 0 0 ;s @ execute col: ;s branch 12 12 0 0 ;s @ execute col: ;s 12 12 0 0 ;s ;s swap dup user: ! 12 12 0 0 ;s ;s swap dup user: 12 12 0 0 ;s ;s swap dup 12 12 0 0 ;s ;s rot swap col: cell+ 12 12 0 0 ;s ;s rot swap col: 12 12 0 0 ;s ;s rot swap 12 12 0 0 ;s ! col: col: col: user: 12 12 0 0 ;s ! col: col: col: 12 12 0 0 ;s ! col: col: 12 12 0 0 ;s ! ;s r> r> user: 12 12 0 0 ;s ! ;s r> r> 12 12 0 0 +! ;s ! ;s r> r> 12 12 0 0 ! col: col: col: user: @ 12 12 0 0 ! col: col: col: user: 12 12 0 0 ! >r >r col: user: @ 12 12 0 0 ! >r >r col: user: 12 12 0 0 ! >r >r col: 12 12 0 0 ! >r >r 12 12 0 0 ! ;s swap ! ;s ;s 12 12 0 0 ! ;s swap ! ;s 12 12 0 0 ! ;s r> r> user: ! 12 12 0 0 ! ;s r> r> user: 12 12 0 0 ! ;s r> r> 12 12 0 0 ! ;s nip ;s swap user: 12 12 0 0 ! ;s nip ;s swap 12 1 10 1 var: swap ;s 2dup col: var: 12 1 10 1 var: swap ;s 2dup col: 12 1 10 1 var: swap ;s 2dup 12 1 10 1 swap ;s 2dup col: var: 2@ 12 1 10 1 swap ;s 2dup col: var: 12 1 10 1 swap ;s 2dup col: 12 1 10 1 swap ;s 2dup 12 1 10 1 nip nip execute field: ;s branch 12 1 10 1 nip nip execute field: ;s 12 1 10 1 nip nip execute field: 12 1 10 1 nip execute field: ;s branch col: 12 1 10 1 nip execute field: ;s branch 12 1 10 1 nip execute field: ;s 12 1 10 1 nip execute field: 12 1 10 1 field: ;s branch col: sp@ user: 12 1 10 1 field: ;s branch col: sp@ 12 1 10 1 field: ;s branch col: 12 1 10 1 field: ;s branch 12 1 10 1 field: ;s 12 1 10 1 execute field: ;s branch col: sp@ 12 1 10 1 execute field: ;s branch col: 12 1 10 1 execute field: ;s branch 12 1 10 1 execute field: ;s 12 1 10 1 execute field: 12 1 10 1 col: var: 2@ lit (?do) 12 1 10 1 col: var: 2@ lit 12 1 10 1 and ?branch nip nip execute field: 12 1 10 1 ?branch nip nip execute field: ;s 12 1 10 1 ?branch nip nip execute field: 12 1 10 1 ?branch ;s var: swap ;s 2dup 12 1 10 1 ;s var: swap ;s 2dup col: 12 1 10 1 ;s var: swap ;s 2dup 12 1 10 1 ;s 2dup col: var: 2@ lit 12 1 10 1 ;s 2dup col: var: 2@ 12 1 10 1 ;s 2dup col: var: 12 1 10 1 ;s 2dup col: 12 1 10 1 2dup col: var: 2@ lit (?do) 12 1 10 1 2dup col: var: 2@ lit 12 1 10 1 2dup col: var: 2@ 12 0 12 0 swap - con: / ;s lit 12 0 12 0 lp+2 ;s ?branch lp+2 ;s lp+ 12 0 12 0 lp+2 ;s ?branch lp+2 ;s 12 0 12 0 lp+2 ;s ?branch lp+2 12 0 12 0 defer: (type) ;s col: sp@ user: 12 0 12 0 defer: (type) ;s col: sp@ 12 0 12 0 count defer: (type) ;s col: sp@ 12 0 12 0 con: lp+2 ;s ?branch lp+2 ;s 12 0 12 0 con: lp+2 ;s ?branch lp+2 12 0 12 0 con: / ;s lit 12 0 12 0 @local1 >l lp- @local1 ?branch lp+!# 12 0 12 0 @ ;s 0<> ?branch lp+ ;s 12 0 12 0 @ ;s 0<> ?branch lp+ 12 0 12 0 ?branch @local1 @local1 12 0 12 0 ?branch 2drop con: lp+2 ;s ?branch 12 0 12 0 ;s ?branch lp+2 ;s lp+ branch 12 0 12 0 ;s ?branch lp+2 ;s lp+ 12 0 12 0 ;s ?branch lp+2 ;s 12 0 12 0 ;s 0<> ?branch lp+ ;s 12 0 12 0 ;s 0<> ?branch lp+ 12 0 12 0 2drop con: lp+2 ;s ?branch lp+2 12 0 12 0 2drop con: lp+2 ;s ?branch 12 0 12 0 0<> ?branch lp+ ;s @local1 col: 12 0 12 0 0<> ?branch lp+ ;s @local1 12 0 12 0 / ;s lit 12 0 12 0 - con: / ;s lit 12 0 12 0 + @ ;s 0<> ?branch lp+ 12 0 12 0 (type) ;s col: sp@ user: @ 12 0 12 0 (type) ;s col: sp@ user: 12 0 12 0 (type) ;s col: sp@ 12 0 0 12 rdrop ;s ;s ;s ;s does: 12 0 0 12 branch ;s ;s ;s ;s col: 12 0 0 12 ;s col: col: col: con: <> 12 0 0 12 ;s branch ;s ;s ;s ;s 12 0 0 12 ;s ;s ;s ;s ;s does: 11 5 3 3 nip nip execute @ ;s branch 11 5 3 3 nip nip execute @ ;s 11 5 3 3 nip nip execute @ 11 5 3 3 nip execute @ ;s branch col: 11 5 3 3 nip execute @ ;s branch 11 5 3 3 nip execute @ ;s 11 5 3 3 nip execute @ 11 5 3 3 execute @ ;s branch col: sp@ 11 5 3 3 execute @ ;s branch col: 11 5 3 3 execute @ ;s branch 11 5 3 3 execute @ ;s 11 5 3 3 execute @ 11 5 3 3 and ?branch nip nip execute @ 11 5 3 3 @ ;s branch col: sp@ user: 11 5 3 3 @ ;s branch col: sp@ 11 5 3 3 @ ;s branch col: 11 5 3 3 @ ;s branch 11 5 3 3 ?branch nip nip execute @ ;s 11 5 3 3 ?branch nip nip execute @ 11 3 6 2 nip nip execute >body ;s branch 11 3 6 2 nip nip execute >body ;s 11 3 6 2 nip nip execute >body 11 3 6 2 nip execute >body ;s branch col: 11 3 6 2 nip execute >body ;s branch 11 3 6 2 nip execute >body ;s 11 3 6 2 nip execute >body 11 3 6 2 execute >body ;s branch col: sp@ 11 3 6 2 execute >body ;s branch col: 11 3 6 2 execute >body ;s branch 11 3 6 2 execute >body ;s 11 3 6 2 execute >body 11 3 6 2 and ?branch nip nip execute >body 11 3 6 2 ?branch nip nip execute >body ;s 11 3 6 2 ?branch nip nip execute >body 11 3 6 2 >body ;s branch col: sp@ user: 11 3 6 2 >body ;s branch col: sp@ 11 3 6 2 >body ;s branch col: 11 3 6 2 >body ;s branch 11 3 6 2 >body ;s 11 11 0 0 nip execute col: col: var: col: 11 11 0 0 nip ;s col: lit cells + 11 11 0 0 nip ;s col: lit cells 11 11 0 0 nip ;s col: lit 11 11 0 0 lit user: ! ;s ;s 11 11 0 0 lit cells + ;s @ ;s 11 11 0 0 execute col: col: var: col: con: 11 11 0 0 col: lit user: ! ;s ;s 11 11 0 0 col: col: var: col: con: swap 11 11 0 0 cells + ;s @ ;s ;s 11 11 0 0 cells + ;s @ ;s 11 11 0 0 ;s nip ;s col: lit cells 11 11 0 0 ;s nip ;s col: lit 11 11 0 0 + ;s @ ;s ;s branch 11 11 0 0 + ;s @ ;s ;s 11 11 0 0 + ;s @ ;s 11 11 0 0 ! ;s nip ;s col: lit 11 1 5 5 tuck - dup ?branch 2dup 1- 11 1 5 5 tuck - dup ?branch 2dup 11 1 5 5 tuck - dup ?branch 11 1 5 5 tuck - dup 11 1 5 5 swap c! 1+ col: col: col: 11 1 5 5 swap c! 1+ col: col: 11 1 5 5 swap c! 1+ col: 11 1 5 5 swap c! 1+ 11 1 5 5 rdrop ;s over r> tuck - 11 1 5 5 rdrop ;s over r> tuck 11 1 5 5 rdrop ;s over r> 11 1 5 5 rdrop ;s over 11 1 5 5 r> tuck - dup ?branch 2dup 11 1 5 5 r> tuck - dup ?branch 11 1 5 5 r> tuck - dup 11 1 5 5 over r> tuck - dup ?branch 11 1 5 5 over r> tuck - dup 11 1 5 5 over r> tuck - 11 1 5 5 over r> tuck 11 1 5 5 over >r lit col: >r dup 11 1 5 5 over >r lit col: >r 11 1 5 5 over >r lit col: 11 1 5 5 over >r lit 11 1 5 5 lit swap c! 1+ col: col: 11 1 5 5 lit swap c! 1+ col: 11 1 5 5 lit swap c! 1+ 11 1 5 5 lit swap c! 11 1 5 5 lit <> ?branch 2dup + lit 11 1 5 5 lit <> ?branch 2dup + 11 1 5 5 lit <> ?branch 2dup 11 1 5 5 dup ?branch 2dup 1- + c@ 11 1 5 5 dup ?branch 2dup 1- + 11 1 5 5 dup ?branch 2dup 1- 11 1 5 5 c@ lit <> ?branch 2dup + 11 1 5 5 c@ lit <> ?branch 2dup 11 1 5 5 c! 1+ col: col: col: user: 11 1 5 5 c! 1+ col: col: col: 11 1 5 5 c! 1+ col: col: 11 1 5 5 c! 1+ col: 11 1 5 5 c! 1+ 11 1 5 5 ?branch rdrop ;s over r> tuck 11 1 5 5 ?branch rdrop ;s over r> 11 1 5 5 ?branch rdrop ;s over 11 1 5 5 ?branch 2dup 1- + c@ lit 11 1 5 5 ?branch 2dup 1- + c@ 11 1 5 5 ?branch 2dup 1- + 11 1 5 5 ?branch 2dup 1- 11 1 5 5 ?branch 2dup + lit swap c! 11 1 5 5 ?branch 2dup + lit swap 11 1 5 5 ?branch 2dup + lit 11 1 5 5 ?branch 2dup + 11 1 5 5 >r lit col: >r dup ?branch 11 1 5 5 >r lit col: >r dup 11 1 5 5 <> ?branch 2dup + lit swap 11 1 5 5 <> ?branch 2dup + lit 11 1 5 5 <> ?branch 2dup + 11 1 5 5 ;s over r> tuck - dup 11 1 5 5 ;s over r> tuck - 11 1 5 5 ;s over r> tuck 11 1 5 5 ;s over r> 11 1 5 5 ;s 2! ;s branch dup ?branch 11 1 5 5 ;s 2! ;s branch dup 11 1 5 5 ;s 2! ;s branch 11 1 5 5 ;s +! ;s 2! ;s branch 11 1 5 5 2dup 1- + c@ lit <> 11 1 5 5 2dup 1- + c@ lit 11 1 5 5 2dup 1- + c@ 11 1 5 5 2dup 1- + 11 1 5 5 2dup 1- 11 1 5 5 2dup + lit swap c! 1+ 11 1 5 5 2dup + lit swap c! 11 1 5 5 2dup + lit swap 11 1 5 5 2dup + lit 11 1 5 5 2! ;s branch dup ?branch 11 1 5 5 2! ;s branch dup 11 1 5 5 1- + c@ lit <> ?branch 11 1 5 5 1- + c@ lit <> 11 1 5 5 1- + c@ lit 11 1 5 5 1- + c@ 11 1 5 5 1- + 11 1 5 5 1+ col: col: col: user: @ 11 1 5 5 1+ col: col: col: user: 11 1 5 5 1+ col: col: col: 11 1 5 5 1+ col: col: 11 1 5 5 - dup ?branch 2dup 1- + 11 1 5 5 - dup ?branch 2dup 1- 11 1 5 5 - dup ?branch 2dup 11 1 5 5 +! ;s 2! ;s branch dup 11 1 5 5 +! ;s 2! ;s branch 11 1 5 5 + lit swap c! 1+ col: 11 1 5 5 + lit swap c! 1+ 11 1 5 5 + lit swap c! 11 1 5 5 + lit swap 11 1 5 5 + lit 11 1 5 5 + c@ lit <> ?branch 2dup 11 1 5 5 + c@ lit <> ?branch 11 1 5 5 + c@ lit <> 11 1 5 5 + c@ lit 11 1 2 8 user: @ ?branch ;s ;s 11 1 2 8 user: @ ?branch ;s 11 1 2 8 @ ?branch ;s ;s 11 0 11 0 nip nip execute dup ;s branch 11 0 11 0 nip nip execute dup ;s 11 0 11 0 nip nip execute dup 11 0 11 0 nip nip execute col: >r col: 11 0 11 0 nip nip execute col: 1+ >r 11 0 11 0 nip nip execute col: 1+ 11 0 11 0 nip execute dup ;s branch col: 11 0 11 0 nip execute dup ;s branch 11 0 11 0 nip execute dup ;s 11 0 11 0 nip execute dup 11 0 11 0 nip execute col: >r col: col: 11 0 11 0 nip execute col: >r col: 11 0 11 0 nip execute col: 1+ >r col: 11 0 11 0 nip execute col: 1+ >r 11 0 11 0 nip execute col: 1+ 11 0 11 0 lp- @local1 field: @ ?branch @local1 11 0 11 0 lp- @local1 field: @ ?branch 11 0 11 0 lit > ?branch lp+ ;s @local1 11 0 11 0 field: @ ?branch @local1 11 0 11 0 field: @ ?branch 11 0 11 0 field: @ 0<> ?branch 11 0 11 0 field: @ 0<> 11 0 11 0 field: 2! @local1 lp+ ;s ;s 11 0 11 0 execute dup ;s branch col: sp@ 11 0 11 0 execute dup ;s branch col: 11 0 11 0 execute dup ;s branch 11 0 11 0 execute dup ;s 11 0 11 0 execute dup 11 0 11 0 execute col: >r col: col: col: 11 0 11 0 execute col: 1+ >r col: r> 11 0 11 0 execute col: 1+ >r col: 11 0 11 0 execute col: 1+ >r 11 0 11 0 execute col: 1+ 11 0 11 0 dup ;s branch col: sp@ user: 11 0 11 0 dup ;s branch col: sp@ 11 0 11 0 dup ;s branch col: 11 0 11 0 dup ;s branch 11 0 11 0 drop + >r ;s @local1 con: 11 0 11 0 con: = or ?branch 11 0 11 0 con: = or 11 0 11 0 con: = @local1 con: = or 11 0 11 0 con: = @local1 con: = 11 0 11 0 con: = @local1 con: 11 0 11 0 con: = @local1 11 0 11 0 col: >r col: col: col: r> 11 0 11 0 col: 1+ >r col: r> dup 11 0 11 0 col: 1+ >r col: r> 11 0 11 0 col: 1+ >r col: 11 0 11 0 col: 1+ >r 11 0 11 0 branch ;s ;s r> ;s ;s 11 0 11 0 branch ;s ;s r> ;s 11 0 11 0 branch ;s ;s r> 11 0 11 0 and ?branch nip nip execute dup 11 0 11 0 @local1 lp+ ;s ;s 11 0 11 0 @local1 field: @ ?branch @local1 11 0 11 0 @local1 field: @ ?branch 11 0 11 0 @local1 field: @ 0<> ?branch 11 0 11 0 @local1 field: @ 0<> 11 0 11 0 @local1 con: = or ?branch 11 0 11 0 @local1 con: = or 11 0 11 0 @local1 con: = @local1 con: = 11 0 11 0 @local1 con: = @local1 con: 11 0 11 0 @local1 con: = @local1 11 0 11 0 ?branch nip nip execute dup ;s 11 0 11 0 ?branch nip nip execute dup 11 0 11 0 ?branch nip nip execute col: 1+ 11 0 11 0 ?branch @local1 col: >l lp- 11 0 11 0 ?branch @local1 col: >l 11 0 11 0 >r col: r> dup cell+ >r 11 0 11 0 >r col: r> dup cell+ 11 0 11 0 >r col: r> dup 11 0 11 0 >r col: r> 11 0 11 0 >r col: col: col: r> dup 11 0 11 0 >r col: col: col: r> 11 0 11 0 >r ;s @local1 con: = @local1 11 0 11 0 >r ;s @local1 con: = 11 0 11 0 >r ;s @local1 con: 11 0 11 0 >l lp- @local1 field: @ ?branch 11 0 11 0 > ?branch lp+ ;s @local1 col: 11 0 11 0 > ?branch lp+ ;s @local1 11 0 11 0 = or ?branch 11 0 11 0 = or 11 0 11 0 = @local1 con: = or ?branch 11 0 11 0 = @local1 con: = or 11 0 11 0 = @local1 con: = 11 0 11 0 = @local1 con: 11 0 11 0 = @local1 11 0 11 0 ;s @local1 con: = @local1 con: 11 0 11 0 ;s @local1 con: = @local1 11 0 11 0 ;s @local1 con: = 11 0 11 0 ;s @local1 con: 11 0 11 0 ;s ;s ;s ;s r> ;s 11 0 11 0 ;s ;s ;s ;s r> 11 0 11 0 2! @local1 lp+ ;s ;s 11 0 11 0 1+ >r col: r> dup cell+ 11 0 11 0 1+ >r col: r> dup 11 0 11 0 1+ >r col: r> 11 0 11 0 1+ >r col: 11 0 11 0 1+ >r 11 0 11 0 + >r ;s @local1 con: = 11 0 11 0 + >r ;s @local1 con: 11 0 11 0 ! ;s ;s ;s ;s r> 11 0 0 11 var: 2@ drop = ;s ?branch 11 0 0 11 var: 2@ drop = ;s 11 0 0 11 var: 2@ drop = 11 0 0 11 drop = ;s ?branch 11 0 0 11 drop = ;s 11 0 0 11 drop = 11 0 0 11 @ 1+ var: 2@ drop = 11 0 0 11 @ 1+ var: 2@ drop 11 0 0 11 ;s @ 1+ var: 2@ drop 11 0 0 11 2@ drop = ;s ?branch 11 0 0 11 2@ drop = ;s 11 0 0 11 2@ drop = 11 0 0 11 1+ var: 2@ drop = ;s 11 0 0 11 1+ var: 2@ drop = 11 0 0 11 1+ var: 2@ drop 11 0 0 11 ! ;s ;s ;s does: @ 11 0 0 11 ! ;s ;s ;s does: 10 7 0 3 nip nip execute 2drop ;s branch 10 7 0 3 nip nip execute 2drop ;s 10 7 0 3 nip nip execute 2drop 10 7 0 3 nip execute 2drop ;s branch col: 10 7 0 3 nip execute 2drop ;s branch 10 7 0 3 nip execute 2drop ;s 10 7 0 3 nip execute 2drop 10 7 0 3 execute 2drop ;s branch col: sp@ 10 7 0 3 execute 2drop ;s branch col: 10 7 0 3 execute 2drop ;s branch 10 7 0 3 execute 2drop ;s 10 7 0 3 execute 2drop 10 7 0 3 and ?branch nip nip execute 2drop 10 7 0 3 ?branch nip nip execute 2drop ;s 10 7 0 3 ?branch nip nip execute 2drop 10 3 4 3 var: @ + @ col: lit 10 3 4 3 var: @ + @ col: 10 3 4 3 swap 1+ /string ;s ;s 10 3 4 3 nip execute col: dup col: col: 10 3 4 3 lit swap 1+ /string ;s ;s 10 3 4 3 execute col: dup col: col: con: 10 3 4 3 execute col: dup col: col: 10 3 4 3 col: cells var: @ + @ 10 3 4 3 col: cells var: @ + 10 3 4 3 col: cells var: @ 10 3 4 3 col: cells var: 10 3 4 3 cells var: @ + @ col: 10 3 4 3 @ col: lit lit col: >r 10 3 4 3 @ col: lit lit col: 10 3 4 3 @ + @ col: lit lit 10 3 4 3 @ + @ col: lit 10 3 4 3 @ + @ col: 10 3 4 3 ;s ;s ! ;s ;s branch 10 3 4 3 1+ /string ;s ;s 10 3 4 3 /string ;s ;s 10 3 4 3 + @ col: lit lit col: 10 3 4 3 + @ col: lit lit 10 3 4 3 + @ col: lit 10 3 4 3 + @ col: 10 2 8 0 0< ?branch drop 10 2 6 2 @ ?branch col: user: @ ?branch 10 2 6 2 >body user: @ ?branch col: user: 10 2 6 2 >body user: @ ?branch col: 10 2 6 2 ;s >body user: @ ?branch col: 10 10 0 0 var: count con: col: dup >r 10 10 0 0 var: count con: col: dup 10 10 0 0 var: count con: col: 10 10 0 0 var: 2@ d<> ?branch var: count 10 10 0 0 var: 2@ d<> ?branch var: 10 10 0 0 d<> ?branch var: count con: col: 10 10 0 0 d<> ?branch var: count con: 10 10 0 0 d<> ?branch var: count 10 10 0 0 d<> ?branch var: 10 10 0 0 count con: col: dup >r write-file 10 10 0 0 count con: col: dup >r 10 10 0 0 count con: col: dup 10 10 0 0 count con: col: 10 10 0 0 con: = ?branch col: dup @ 10 10 0 0 con: = ?branch col: dup 10 10 0 0 col: ?dup ?branch ;s var: 2! 10 10 0 0 col: ?dup ?branch ;s col: var: 10 10 0 0 col: ?dup ?branch ;s ;s defer: 10 10 0 0 cells + ;s 2@ 2dup con: 10 10 0 0 cells + ;s 2@ 2dup 10 10 0 0 @ con: = ?branch col: dup 10 10 0 0 ?dup ?branch ;s var: 2! col: 10 10 0 0 ?dup ?branch ;s var: 2! 10 10 0 0 ?dup ?branch ;s col: var: 2@ 10 10 0 0 ?dup ?branch ;s col: var: 10 10 0 0 ?dup ?branch ;s ;s defer: col: 10 10 0 0 ?dup ?branch ;s ;s defer: 10 10 0 0 ?branch var: count con: col: dup 10 10 0 0 ?branch var: count con: col: 10 10 0 0 ?branch var: count con: 10 10 0 0 ?branch ;s var: 2! col: col: 10 10 0 0 ?branch ;s var: 2! col: 10 10 0 0 ?branch ;s var: 2! 10 10 0 0 ?branch ;s col: var: 2@ drop 10 10 0 0 ?branch ;s col: var: 2@ 10 10 0 0 ?branch ;s ;s defer: col: col: 10 10 0 0 ?branch ;s ;s defer: col: 10 10 0 0 ?branch ;s ;s defer: 10 10 0 0 = ?branch col: dup @ con: 10 10 0 0 = ?branch col: dup @ 10 10 0 0 = ?branch col: dup 10 10 0 0 ;s col: var: 2@ drop user: 10 10 0 0 ;s col: var: 2@ drop 10 10 0 0 ;s @ con: = ?branch col: 10 10 0 0 ;s ;s defer: col: col: user: 10 10 0 0 ;s ;s defer: col: col: 10 10 0 0 ;s ;s ;s col: col: var: 10 10 0 0 ;s 2@ 2dup con: write-file col: 10 10 0 0 ;s 2@ 2dup con: write-file 10 10 0 0 ;s 2@ 2dup con: 10 10 0 0 2dup con: write-file col: ?dup ?branch 10 10 0 0 2dup con: write-file col: ?dup 10 10 0 0 2dup con: write-file col: 10 10 0 0 2dup con: write-file 10 10 0 0 2@ var: 2@ d<> ?branch var: 10 10 0 0 2@ d<> ?branch var: count con: 10 10 0 0 2@ d<> ?branch var: count 10 10 0 0 2@ d<> ?branch var: 10 10 0 0 2@ 2dup con: write-file col: ?dup 10 10 0 0 2@ 2dup con: write-file col: 10 10 0 0 2@ 2dup con: write-file 10 10 0 0 2@ 2dup con: 10 10 0 0 2* cells + ;s 2@ 2dup 10 10 0 0 + ;s 2@ 2dup con: write-file 10 10 0 0 + ;s 2@ 2dup con: 10 1 8 1 unloop 2drop drop con: ;s ?branch 10 1 8 1 unloop 2drop drop con: ;s 10 1 8 1 unloop 2drop drop con: 10 1 8 1 unloop 2drop drop 10 1 8 1 drop con: ;s ?branch col: user: 10 1 8 1 drop con: ;s ?branch col: 10 1 8 1 con: ;s ?branch col: user: @ 10 1 8 1 con: ;s ?branch col: user: 10 1 8 1 ?branch col: user: @ >r col: 10 1 8 1 ?branch col: user: @ >r 10 1 8 1 ;s ?branch col: user: @ >r 10 1 8 1 ;s ?branch col: user: @ 10 1 8 1 ;s ?branch col: user: 10 1 8 1 2drop drop con: ;s ?branch col: 10 1 8 1 2drop drop con: ;s ?branch 10 1 8 1 2drop drop con: ;s 10 1 8 1 2drop drop con: 10 1 8 1 2drop drop 10 1 8 1 ! ;s branch ;s ;s branch 10 0 7 3 ;s 2! ;s col: r> /does-handler 10 0 7 3 ;s 2! ;s col: r> 10 0 7 3 ;s 2! ;s col: 10 0 7 3 ;s +! ;s 2! ;s col: 10 0 7 3 2! ;s col: r> /does-handler + 10 0 7 3 2! ;s col: r> /does-handler 10 0 7 3 2! ;s col: r> 10 0 7 3 +! ;s 2! ;s col: r> 10 0 7 3 +! ;s 2! ;s col: 10 0 10 0 swap ! ;s lp+2 ;s 10 0 10 0 swap ! ;s lp+2 10 0 10 0 lp+2 ;s lit <> ?branch lp+ 10 0 10 0 lit <> ?branch lp+ ;s @local1 10 0 10 0 lit <> ?branch lp+ ;s 10 0 10 0 lit <> ?branch lp+ 10 0 10 0 con: swap ! ;s lp+2 ;s 10 0 10 0 con: swap ! ;s lp+2 10 0 10 0 col: con: swap ! ;s lp+2 10 0 10 0 col: col: >l 10 0 10 0 @local0 field: col: con: swap ! 10 0 10 0 @local0 field: col: con: swap 10 0 10 0 @local0 field: col: con: 10 0 10 0 ?branch lp+ ;s lp+ branch >l 10 0 10 0 ?branch lp+ ;s lp+ branch 10 0 10 0 >l >l >l @local0 @local1 10 0 10 0 >l >l >l >l @local0 @local1 10 0 10 0 <> ?branch lp+ ;s @local1 col: 10 0 10 0 <> ?branch lp+ ;s @local1 10 0 10 0 <> ?branch lp+ ;s 10 0 10 0 <> ?branch lp+ 10 0 10 0 ;s lit <> ?branch lp+ ;s 10 0 10 0 ;s lit <> ?branch lp+ 10 0 10 0 ! ;s lp+2 ;s 10 0 0 10 swap read-file ?branch rot over + 10 0 0 10 swap read-file ?branch rot over 10 0 0 10 swap read-file ?branch rot 10 0 0 10 swap read-file ?branch 10 0 0 10 swap read-file 10 0 0 10 rot over + -rot con: <> 10 0 0 10 rot over + -rot con: 10 0 0 10 rot over + -rot 10 0 0 10 rot over + 10 0 0 10 read-file ?branch rot over + -rot 10 0 0 10 read-file ?branch rot over + 10 0 0 10 read-file ?branch rot over 10 0 0 10 read-file ?branch rot 10 0 0 10 read-file ?branch 10 0 0 10 read-file 10 0 0 10 over + -rot con: <> ?branch 10 0 0 10 over + -rot con: <> 10 0 0 10 over + -rot con: 10 0 0 10 over + -rot 10 0 0 10 nip execute col: lit col: col: 10 0 0 10 lit col: col: defer: defer: col: 10 0 0 10 lit col: col: defer: defer: 10 0 0 10 lit col: col: defer: 10 0 0 10 execute col: lit col: col: defer: 10 0 0 10 con: swap read-file ?branch rot over 10 0 0 10 con: swap read-file ?branch rot 10 0 0 10 con: swap read-file ?branch 10 0 0 10 con: swap read-file 10 0 0 10 con: col: col: defer: defer: col: 10 0 0 10 con: col: col: defer: defer: 10 0 0 10 col: lit col: col: defer: defer: 10 0 0 10 col: lit col: col: defer: 10 0 0 10 col: con: col: col: defer: defer: 10 0 0 10 ?branch rot over + -rot con: 10 0 0 10 ?branch rot over + -rot 10 0 0 10 ?branch rot over + 10 0 0 10 ?branch rot over 10 0 0 10 ;s ;s drop ;s ;s ;s 10 0 0 10 2dup con: swap read-file ?branch rot 10 0 0 10 2dup con: swap read-file ?branch 10 0 0 10 2dup con: swap read-file 10 0 0 10 2dup con: swap 10 0 0 10 -rot con: <> ?branch 10 0 0 10 -rot con: <> 10 0 0 10 -rot con: 10 0 0 10 + -rot con: <> ?branch 10 0 0 10 + -rot con: <> 10 0 0 10 + -rot con: 10 0 0 10 + -rot 9 9 0 0 user: ! ;s ;s ;s branch 9 9 0 0 user: ! ;s ;s ;s 9 9 0 0 swap ! ;s ;s branch ;s 9 9 0 0 rdrop ;s ;s user: col: con: 9 9 0 0 rdrop ;s ;s user: col: 9 9 0 0 rdrop ;s ;s user: 9 9 0 0 nip nip execute col: user: col: 9 9 0 0 nip execute col: user: col: con: 9 9 0 0 nip execute col: user: col: 9 9 0 0 lit user: ! ;s ;s ;s 9 9 0 0 execute col: user: col: con: swap 9 9 0 0 execute col: user: col: con: 9 9 0 0 execute col: user: col: 9 9 0 0 count col: col: 2dup lit col: 9 9 0 0 count col: col: 2dup lit 9 9 0 0 count col: col: 2dup 9 9 0 0 col: col: lit user: ! ;s 9 9 0 0 @ ;s ;s count col: col: 9 9 0 0 @ 0= ?branch ;s ;s branch 9 9 0 0 ?branch rdrop ;s ;s user: col: 9 9 0 0 ?branch rdrop ;s ;s user: 9 9 0 0 >r ?branch rdrop ;s ;s user: 9 9 0 0 ;s count col: col: 2dup lit 9 9 0 0 ;s count col: col: 2dup 9 9 0 0 ;s count col: col: 9 9 0 0 ;s ;s count col: col: 2dup 9 9 0 0 ;s ;s count col: col: 9 6 1 2 nip nip execute drop ;s branch 9 6 1 2 nip nip execute drop ;s 9 6 1 2 nip nip execute drop 9 6 1 2 nip execute drop ;s branch col: 9 6 1 2 nip execute drop ;s branch 9 6 1 2 nip execute drop ;s 9 6 1 2 nip execute drop 9 6 1 2 execute drop ;s branch col: sp@ 9 6 1 2 drop ;s branch col: sp@ user: 9 6 1 2 drop ;s branch col: sp@ 9 6 1 2 and ?branch nip nip execute drop 9 6 1 2 ?branch nip nip execute drop ;s 9 6 1 2 ?branch nip nip execute drop 9 5 0 4 var: var: ! ;s ;s ;s 9 3 6 0 col: cr 9 3 3 3 var: ! defer: drop ;s 9 3 3 3 var: ! defer: drop 9 3 3 3 field: dup var: ! defer: drop 9 3 3 3 dup var: ! defer: drop ;s 9 3 3 3 dup var: ! defer: drop 9 3 3 3 dup @ ?branch 9 3 3 3 defer: drop ;s 9 3 3 3 defer: drop 9 3 3 3 @ dup @ ?branch 9 3 3 3 @ dup @ 9 3 3 3 ! defer: drop ;s 9 3 3 3 ! defer: drop 9 2 6 1 negate ;s ;s ;s 0= ?branch 9 2 6 1 negate ;s ;s ;s 0= 9 2 6 1 ?branch negate ;s ;s ;s 0= 9 1 0 8 col: user: @ ?branch ;s ;s 9 1 0 8 col: user: @ ?branch ;s 9 1 0 8 ;s col: user: @ ?branch ;s 9 0 9 0 user: @ ;s @ ;s cell+ 9 0 9 0 or ?branch @local1 field: @ var: 9 0 9 0 or ?branch @local1 field: @ 9 0 9 0 or ?branch @local1 field: 9 0 9 0 or ?branch @local1 9 0 9 0 nip execute col: lit col: cells 9 0 9 0 lp- lit @local1 ! lp+ ;s 9 0 9 0 lp- lit @local1 ! lp+ 9 0 9 0 lp- lit @local1 ! 9 0 9 0 lp+ ;s field: col: con: swap 9 0 9 0 lp+ ;s field: col: con: 9 0 9 0 lp+ ;s field: col: 9 0 9 0 lp+ ;s field: 9 0 9 0 lp+ ;s ;s ;s 9 0 9 0 lit col: cells con: ;s col: 9 0 9 0 lit col: cells con: ;s 9 0 9 0 lit col: cells con: 9 0 9 0 lit col: cells 9 0 9 0 lit @local1 ! lp+ ;s field: 9 0 9 0 lit @local1 ! lp+ ;s 9 0 9 0 lit @local1 ! lp+ 9 0 9 0 lit @local1 ! 9 0 9 0 lit (?do) dup >r 2@ 2over 9 0 9 0 invert and ;s ;s ;s col: 9 0 9 0 field: @ var: = ?branch @local1 9 0 9 0 faligned <> ?branch col: r> dup 9 0 9 0 faligned <> ?branch col: r> 9 0 9 0 faligned <> ?branch col: 9 0 9 0 faligned <> ?branch 9 0 9 0 faligned <> 9 0 9 0 execute col: lit col: cells con: 9 0 9 0 execute col: lit col: cells 9 0 9 0 dup faligned <> ?branch col: r> 9 0 9 0 dup faligned <> ?branch col: 9 0 9 0 dup faligned <> ?branch 9 0 9 0 dup faligned <> 9 0 9 0 con: = or ?branch @local1 field: 9 0 9 0 con: = or ?branch @local1 9 0 9 0 con: ;s col: col: defer: defer: 9 0 9 0 con: ;s col: col: defer: 9 0 9 0 con: ;s col: col: 9 0 9 0 col: var: 2@ lit (?do) dup 9 0 9 0 col: lit col: cells con: ;s 9 0 9 0 col: lit col: cells con: 9 0 9 0 col: lit col: cells 9 0 9 0 col: col: does: 2@ ;s col: 9 0 9 0 col: col: does: 2@ ;s 9 0 9 0 col: col: does: 2@ 9 0 9 0 col: col: >l lp- lit @local1 9 0 9 0 col: col: >l lp- lit 9 0 9 0 col: col: >l lp- 9 0 9 0 col: cells con: ;s col: col: 9 0 9 0 col: >l lp- lit @local1 ! 9 0 9 0 cells con: ;s col: col: defer: 9 0 9 0 cells con: ;s col: col: 9 0 9 0 cell+ dup faligned <> ?branch col: 9 0 9 0 cell+ dup faligned <> ?branch 9 0 9 0 cell+ dup faligned <> 9 0 9 0 cell+ dup faligned 9 0 9 0 and ;s ;s ;s col: r> 9 0 9 0 and ;s ;s ;s col: 9 0 9 0 @local3 @local1 9 0 9 0 @local1 lp+ ;s ;s ;s 9 0 9 0 @local1 con: = or ?branch @local1 9 0 9 0 @local1 branch lp+ ;s @local0 field: 9 0 9 0 @local1 branch lp+ ;s @local0 9 0 9 0 @local1 ! lp+ ;s field: col: 9 0 9 0 @local1 ! lp+ ;s field: 9 0 9 0 @ ;s cell+ dup faligned <> 9 0 9 0 @ ;s cell+ dup faligned 9 0 9 0 @ ;s cell+ dup 9 0 9 0 @ ;s cell+ 9 0 9 0 @ ;s @ ;s cell+ dup 9 0 9 0 @ ;s @ ;s cell+ 9 0 9 0 ?branch @local1 branch lp+ ;s @local0 9 0 9 0 >l lp- lit @local1 ! lp+ 9 0 9 0 >l lp- lit @local1 ! 9 0 9 0 = or ?branch @local1 field: @ 9 0 9 0 = or ?branch @local1 field: 9 0 9 0 = or ?branch @local1 9 0 9 0 <> ?branch col: r> dup cell+ 9 0 9 0 <> ?branch col: r> dup 9 0 9 0 <> ?branch col: r> 9 0 9 0 ;s field: col: con: swap ! 9 0 9 0 ;s field: col: con: swap 9 0 9 0 ;s field: col: con: 9 0 9 0 ;s field: col: 9 0 9 0 ;s field: 9 0 9 0 ;s drop ;s ;s user: ! 9 0 9 0 ;s drop ;s ;s user: 9 0 9 0 ;s col: col: defer: defer: col: 9 0 9 0 ;s col: col: defer: defer: 9 0 9 0 ;s col: col: defer: 9 0 9 0 ;s cell+ dup faligned <> ?branch 9 0 9 0 ;s cell+ dup faligned <> 9 0 9 0 ;s cell+ dup faligned 9 0 9 0 ;s @ ;s cell+ dup faligned 9 0 9 0 ;s @ ;s cell+ dup 9 0 9 0 ;s @ ;s cell+ 9 0 9 0 ;s ;s ;s col: r> /does-handler 9 0 9 0 2! @local1 lp+ ;s ;s ;s 9 0 9 0 (?do) dup >r 2@ 2over compare 9 0 9 0 (?do) dup >r 2@ 2over 9 0 9 0 ! lp+ ;s field: col: con: 9 0 9 0 ! lp+ ;s field: col: 9 0 9 0 ! lp+ ;s field: 9 0 9 0 ! ;s drop ;s ;s user: 9 0 8 1 over c@ lit = ?branch lit 9 0 8 1 lit = ?branch lit /string branch 9 0 8 1 lit = ?branch lit /string 9 0 8 1 lit = ?branch lit 9 0 8 1 lit /string branch dup >r col: 9 0 8 1 lit /string branch dup >r 9 0 8 1 c@ lit = ?branch lit /string 9 0 8 1 c@ lit = ?branch lit 9 0 8 1 branch dup >r col: lit (?do) 9 0 8 1 branch dup >r col: lit 9 0 8 1 branch dup >r col: 9 0 8 1 branch dup >r 9 0 8 1 ?branch lit /string branch dup >r 9 0 8 1 = ?branch lit /string branch dup 9 0 8 1 = ?branch lit /string branch 9 0 8 1 = ?branch lit /string 9 0 8 1 /string branch dup >r col: lit 9 0 8 1 /string branch dup >r col: 9 0 8 1 /string branch dup >r 9 0 3 6 unloop ;s ;s branch col: sp@ 9 0 3 6 unloop ;s ;s branch col: 9 0 0 9 con: <> ?branch 2dup con: swap 9 0 0 9 con: <> ?branch 2dup con: 9 0 0 9 con: <> ?branch 2dup 9 0 0 9 con: ! ;s ;s ;s 9 0 0 9 ?branch ;s ;s col: col: var: 9 0 0 9 ?branch 2dup con: swap read-file ?branch 9 0 0 9 ?branch 2dup con: swap read-file 9 0 0 9 ?branch 2dup con: swap 9 0 0 9 <> ?branch 2dup con: swap read-file 9 0 0 9 <> ?branch 2dup con: swap 9 0 0 9 <> ?branch 2dup con: 9 0 0 9 ;s con: ! ;s ;s ;s 9 0 0 9 ;s +! ;s ! ;s (loop) 9 0 0 9 ;s ! ;s (loop) 9 0 0 9 -rot con: <> ?branch 2dup con: 9 0 0 9 -rot con: <> ?branch 2dup 9 0 0 9 +! ;s ! ;s (loop) 9 0 0 9 + -rot con: <> ?branch 2dup 8 8 0 0 var: +! ;s ;s branch col: 8 8 0 0 rdrop ;s 0> ?branch col: cell+ 8 8 0 0 nip nip execute does: dup var: 8 8 0 0 nip nip execute does: dup 8 8 0 0 nip nip execute col: var: +! 8 8 0 0 nip execute does: dup var: ! 8 8 0 0 nip execute does: dup var: 8 8 0 0 nip execute does: dup 8 8 0 0 nip execute col: var: +! ;s 8 8 0 0 nip execute col: var: +! 8 8 0 0 execute col: var: +! ;s ;s 8 8 0 0 execute col: var: +! ;s 8 8 0 0 execute col: var: +! 8 8 0 0 col: var: +! ;s ;s branch 8 8 0 0 col: var: +! ;s ;s 8 8 0 0 col: cell+ cell+ ;s @ col: 8 8 0 0 cell+ cell+ ;s @ col: col: 8 8 0 0 cell+ cell+ ;s @ col: 8 8 0 0 cell+ ;s ! ;s ;s branch 8 8 0 0 ?branch nip nip execute does: dup 8 8 0 0 ?branch col: cell+ cell+ ;s @ 8 8 0 0 ?branch col: cell+ cell+ ;s 8 8 0 0 ?branch col: cell+ cell+ 8 8 0 0 ;s @ col: col: col: col: 8 8 0 0 ;s ?branch ;s ;s ;s branch 8 8 0 0 ;s 0> ?branch col: cell+ cell+ 8 8 0 0 ;s 0> ?branch col: cell+ 8 8 0 0 0> ?branch col: cell+ cell+ ;s 8 8 0 0 0> ?branch col: cell+ cell+ 8 8 0 0 0> ?branch col: cell+ 8 8 0 0 + ;s ;s branch col: sp@ 8 8 0 0 + ;s ;s branch col: 8 8 0 0 + ;s ;s branch 8 4 0 4 r> col: >r ;s ;s col: 8 4 0 4 r> col: >r ;s ;s 8 4 0 4 r> col: >r ;s 8 4 0 4 nip execute col: col: lit var: 8 4 0 4 execute col: col: lit var: +! 8 4 0 4 execute col: col: lit var: 8 4 0 4 col: col: lit var: +! col: 8 4 0 4 col: col: lit var: +! 8 4 0 4 col: col: lit var: 8 4 0 4 col: >r ;s ;s col: lit 8 4 0 4 col: >r ;s ;s col: 8 4 0 4 col: >r ;s ;s 8 4 0 4 col: >r ;s 8 4 0 4 >r ;s ;s col: lit var: 8 4 0 4 >r ;s ;s col: lit 8 4 0 4 >r ;s ;s col: 8 4 0 4 >r ;s ;s 8 4 0 4 ;s r> col: >r ;s ;s 8 4 0 4 ;s r> col: >r ;s 8 4 0 4 ;s col: lit var: +! col: 8 4 0 4 ;s col: lit var: +! 8 4 0 4 ;s col: lit var: 8 4 0 4 ;s ;s r> col: >r ;s 8 4 0 4 ;s ;s r> col: >r 8 4 0 4 ;s ;s r> col: 8 4 0 4 ;s ;s col: lit var: +! 8 4 0 4 ;s ;s col: lit var: 8 2 4 2 swap 1+ /string ;s ;s over 8 2 4 2 over c@ lit <> ?branch 8 2 4 2 over c@ lit <> 8 2 4 2 i col: cells var: @ + 8 2 4 2 i col: cells var: @ 8 2 4 2 i col: cells var: 8 2 4 2 ;s over c@ lit <> ?branch 8 2 4 2 ;s over c@ lit <> 8 2 4 2 ;s ;s over c@ lit <> 8 2 4 2 ;s ;s over c@ lit 8 2 4 2 1+ /string ;s ;s over c@ 8 2 4 2 1+ /string ;s ;s over 8 2 4 2 /string ;s ;s over c@ lit 8 2 4 2 /string ;s ;s over c@ 8 2 4 2 /string ;s ;s over 8 1 6 1 ;s col: var: @ ?branch col: 8 1 0 7 nip nip execute col: 0= ?branch 8 1 0 7 nip nip execute col: 0= 8 1 0 7 nip execute col: 0= ?branch 8 1 0 7 nip execute col: 0= 8 1 0 7 execute col: 0= ?branch 8 1 0 7 execute col: 0= 8 1 0 7 ?branch nip nip execute col: 0= 8 0 8 0 var: = ?branch lp+ ;s @local1 8 0 8 0 var: = ?branch lp+ ;s 8 0 8 0 var: = ?branch lp+ 8 0 8 0 var: = ?branch @local1 field: @ 8 0 8 0 var: = ?branch @local1 field: 8 0 8 0 nip ?branch 2dup 8 0 8 0 lp- @local3 >l lp- @local1 col: 8 0 8 0 lp- @local3 >l lp- @local1 8 0 8 0 lp- @local3 >l lp- 8 0 8 0 lp- @local3 >l 8 0 8 0 lp+2 ;s lit > col: ?branch 8 0 8 0 lp+2 ;s lit > col: 8 0 8 0 lp+ ;s lp+ ;s col: 8 0 8 0 lp+ ;s lp+ ;s @local1 field: 8 0 8 0 lp+ ;s @local1 field: @ 8 0 8 0 lit > col: ?branch r> does: 8 0 8 0 lit > col: ?branch r> 8 0 8 0 lit > col: ?branch 8 0 8 0 lit > col: 8 0 8 0 field: @ var: = ?branch lp+ 8 0 8 0 field: @ col: >l >l >l 8 0 8 0 field: @ col: >l >l 8 0 8 0 dup @ 0< ?branch drop ;s 8 0 8 0 dup @ 0< ?branch drop 8 0 8 0 dup ?branch @local3 = ?branch @local# 8 0 8 0 drop lp+!# ;s 8 0 8 0 drop lp+!# 8 0 8 0 @local3 field: @ 8 0 8 0 @local3 field: 8 0 8 0 @local3 >l lp- @local1 col: >l 8 0 8 0 @local3 >l lp- @local1 col: 8 0 8 0 @local3 >l lp- @local1 8 0 8 0 @local3 >l lp- 8 0 8 0 @local3 >l 8 0 8 0 @local3 = ?branch @local# @local1 ! 8 0 8 0 @local3 = ?branch @local# @local1 8 0 8 0 @local3 = ?branch @local# 8 0 8 0 @local2 field: @ 8 0 8 0 @local2 field: 8 0 8 0 @local1 ! drop lp+!# ;s 8 0 8 0 @local1 ! drop lp+!# 8 0 8 0 @local1 ! drop 8 0 8 0 @local0 lp+2 ;s lit > col: 8 0 8 0 @local0 field: @ col: >l lp- 8 0 8 0 @local0 field: @ col: >l 8 0 8 0 @local0 field: @ col: 8 0 8 0 @local# @local1 ! drop lp+!# ;s 8 0 8 0 @local# @local1 ! drop lp+!# 8 0 8 0 @local# @local1 ! drop 8 0 8 0 @local# @local1 ! 8 0 8 0 @ var: = ?branch lp+ ;s 8 0 8 0 @ var: = ?branch lp+ 8 0 8 0 @ var: = ?branch @local1 field: 8 0 8 0 @ col: >l >l >l lp- 8 0 8 0 @ col: >l >l >l 8 0 8 0 @ 0< ?branch drop ;s 8 0 8 0 @ 0< ?branch drop 8 0 8 0 ?branch @local3 = ?branch @local# @local1 8 0 8 0 ?branch @local3 = ?branch @local# 8 0 8 0 ?branch @local# @local1 ! drop lp+!# 8 0 8 0 ?branch @local# @local1 ! drop 8 0 8 0 ?branch @local# @local1 ! 8 0 8 0 >r ;s @local0 field: @ col: 8 0 8 0 >r ;s @local0 field: @ 8 0 8 0 >l lp- @local3 >l lp- @local1 8 0 8 0 >l lp- @local3 >l lp- 8 0 8 0 >l lp- @local3 >l 8 0 8 0 >l @local1 field: @ col: >l 8 0 8 0 >l @local1 field: @ col: 8 0 8 0 >l >l lp- @local3 >l lp- 8 0 8 0 >l >l lp- @local3 >l 8 0 8 0 >l >l @local1 field: @ col: 8 0 8 0 >l >l >l lp- @local3 >l 8 0 8 0 > col: ?branch r> does: 2@ 8 0 8 0 > col: ?branch r> does: 8 0 8 0 > col: ?branch r> 8 0 8 0 > col: ?branch 8 0 8 0 = ?branch lp+ ;s @local1 col: 8 0 8 0 = ?branch lp+ ;s @local1 8 0 8 0 = ?branch lp+ ;s 8 0 8 0 = ?branch @local1 field: @ var: 8 0 8 0 = ?branch @local1 field: @ 8 0 8 0 = ?branch @local1 field: 8 0 8 0 = ?branch @local# @local1 ! drop 8 0 8 0 = ?branch @local# @local1 ! 8 0 8 0 = ?branch @local# @local1 8 0 8 0 = ?branch @local# 8 0 8 0 ;s lp+ ;s lp+ ;s col: 8 0 8 0 ;s lp+ ;s @local1 field: @ 8 0 8 0 ;s lp+ ;s @local1 field: 8 0 8 0 ;s lit > col: ?branch r> 8 0 8 0 ;s lit > col: ?branch 8 0 8 0 ;s lit > col: 8 0 8 0 ;s @local3 @local1 8 0 8 0 ;s @local0 field: @ col: >l 8 0 8 0 ;s @local0 field: @ col: 8 0 8 0 ;s @local0 field: @ 8 0 8 0 ;s (loop) col: dup col: dup 8 0 8 0 ;s (loop) col: dup col: 8 0 8 0 0< ?branch drop ;s 8 0 8 0 + >r ;s @local0 field: @ 8 0 8 0 (loop) col: dup col: dup con: 8 0 8 0 (loop) col: dup col: dup 8 0 8 0 (loop) col: dup col: 8 0 8 0 ! drop lp+!# ;s 8 0 8 0 ! drop lp+!# 8 0 5 3 execute does: 2@ ;s 8 0 5 3 execute does: 2@ 8 0 4 4 r@ <> ?branch rdrop ;s over 8 0 4 4 lit /string branch over >r lit 8 0 4 4 lit /string branch over >r 8 0 4 4 lit /string branch over 8 0 4 4 dup ?branch lit /string branch over 8 0 4 4 dup ?branch lit /string branch 8 0 4 4 dup ?branch lit /string 8 0 4 4 branch over >r lit col: >r 8 0 4 4 branch over >r lit col: 8 0 4 4 branch over >r lit 8 0 4 4 branch over >r 8 0 4 4 branch dup ?branch lit /string branch 8 0 4 4 branch dup ?branch lit /string 8 0 4 4 branch dup ?branch lit 8 0 4 4 ?branch lit /string branch over >r 8 0 4 4 ?branch lit /string branch over 8 0 4 4 <> ?branch rdrop ;s over r> 8 0 4 4 <> ?branch rdrop ;s over 8 0 4 4 ;s branch dup ?branch lit /string 8 0 4 4 ;s branch dup ?branch lit 8 0 4 4 2! ;s branch dup ?branch lit 8 0 4 4 /string branch over >r lit col: 8 0 4 4 /string branch over >r lit 8 0 4 4 /string branch over >r 8 0 4 4 /string branch over 8 0 3 5 (loop) unloop ;s ;s branch col: 8 0 0 8 user: @ ?branch ;s ;s col: 8 0 0 8 swap ! ;s ;s lit col: 8 0 0 8 swap ! ;s ;s lit 8 0 0 8 or swap ! ;s ;s lit 8 0 0 8 or swap ! ;s ;s ;s 8 0 0 8 lit col: var: col: col: col: 8 0 0 8 lit col: var: col: col: 8 0 0 8 lit col: var: col: 8 0 0 8 execute col: col: col: con: col: 8 0 0 8 col: col: col: con: col: col: 8 0 0 8 col: col: col: con: col: 8 0 0 8 @ ?branch ;s ;s col: col: 8 0 0 8 @ ?branch ;s ;s col: 8 0 0 8 @ ;s ;s + ;s col: 8 0 0 8 ;s lit col: var: col: col: 8 0 0 8 ;s lit col: var: col: 8 0 0 8 ;s col: does: @ col: var: 8 0 0 8 ;s col: does: @ col: 8 0 0 8 ;s col: does: @ 8 0 0 8 ;s col: does: 8 0 0 8 ;s ;s lit col: var: col: 8 0 0 8 ;s ;s + ;s col: user: 8 0 0 8 ;s ;s + ;s col: 8 0 0 8 ;s + ;s col: user: @ 8 0 0 8 ;s + ;s col: user: 8 0 0 8 ;s (loop) lit col: col: col: 8 0 0 8 ;s (loop) lit col: col: 8 0 0 8 ;s (loop) lit col: 8 0 0 8 ;s (loop) lit 8 0 0 8 ;s ! ;s (loop) lit col: 8 0 0 8 ;s ! ;s (loop) lit 8 0 0 8 +! ;s ! ;s (loop) lit 8 0 0 8 + ;s col: user: @ ?branch 8 0 0 8 + ;s col: user: @ 8 0 0 8 + ;s col: user: 8 0 0 8 (loop) lit col: col: col: user: 8 0 0 8 (loop) lit col: col: col: 8 0 0 8 (loop) lit col: col: 8 0 0 8 (loop) lit col: 8 0 0 8 ! ;s ;s lit col: var: 8 0 0 8 ! ;s (loop) lit col: col: 8 0 0 8 ! ;s (loop) lit col: 8 0 0 8 ! ;s (loop) lit 7 7 0 0 unloop 2drop ;s ;s ;s + 7 7 0 0 nip nip execute col: + ;s 7 7 0 0 nip nip execute col: + 7 7 0 0 nip execute col: col: con: lshift 7 7 0 0 nip execute col: + ;s ;s 7 7 0 0 nip execute col: + ;s 7 7 0 0 nip execute col: + 7 7 0 0 lshift ;s lit col: con: lshift 7 7 0 0 lshift ;s lit col: con: 7 7 0 0 lshift ;s lit col: 7 7 0 0 lshift ;s lit 7 7 0 0 lshift ;s ;s ;s branch col: 7 7 0 0 lshift ;s ;s ;s branch 7 7 0 0 lshift ;s ;s ;s 7 7 0 0 lit col: con: lshift ;s ;s 7 7 0 0 invert and ;s ;s ;s ;s 7 7 0 0 execute col: col: con: lshift ;s 7 7 0 0 execute col: col: con: lshift 7 7 0 0 execute col: + ;s ;s branch 7 7 0 0 execute col: + ;s ;s 7 7 0 0 execute col: + ;s 7 7 0 0 execute col: + 7 7 0 0 con: lshift ;s lit col: con: 7 7 0 0 con: lshift ;s lit col: 7 7 0 0 con: lshift ;s lit 7 7 0 0 con: lshift ;s ;s ;s branch 7 7 0 0 con: lshift ;s ;s ;s 7 7 0 0 col: con: lshift ;s lit col: 7 7 0 0 col: con: lshift ;s lit 7 7 0 0 col: con: lshift ;s ;s ;s 7 7 0 0 col: col: con: lshift ;s lit 7 7 0 0 col: col: con: lshift ;s 7 7 0 0 col: col: con: lshift 7 7 0 0 col: + ;s ;s branch col: 7 7 0 0 col: + ;s ;s branch 7 7 0 0 col: + ;s ;s 7 7 0 0 col: + ;s 7 7 0 0 col: + 7 7 0 0 cell+ cell+ ;s ! ;s >r 7 7 0 0 cell+ ;s ! ;s >r rot 7 7 0 0 cell+ ;s ! ;s >r 7 7 0 0 and ;s ;s ;s ;s ;s 7 7 0 0 and ;s ;s ;s ;s 7 7 0 0 @ execute col: col: con: col: 7 7 0 0 @ execute col: col: con: 7 7 0 0 ?branch nip nip execute col: + 7 7 0 0 ;s lit col: con: lshift ;s 7 7 0 0 ;s lit col: con: lshift 7 7 0 0 ;s lit col: con: 7 7 0 0 ;s dup col: col: col: var: 7 7 0 0 ;s col: con: col: col: col: 7 7 0 0 ;s @ execute col: col: con: 7 7 0 0 ;s ;s ;s ;s ;s lit 7 7 0 0 ;s ;s ;s + swap r> 7 7 0 0 ;s ;s ;s + swap 7 7 0 0 ;s ;s ;s + 7 7 0 0 ;s ;s + swap r> col: 7 7 0 0 ;s ;s + swap r> 7 7 0 0 ;s ;s + swap 7 7 0 0 ;s ! ;s >r rot r@ 7 7 0 0 ;s ! ;s >r rot 7 7 0 0 ;s ! ;s >r 7 7 0 0 2drop ;s ;s ;s + swap 7 7 0 0 2drop ;s ;s ;s + 7 7 0 0 + ;s ;s col: col: user: 7 7 0 0 ! ;s >r rot r@ col: 7 7 0 0 ! ;s >r rot r@ 7 7 0 0 ! ;s >r rot 7 7 0 0 ! ;s ;s ;s col: lit 7 6 0 1 var: ! ?dup ?branch 7 6 0 1 var: ! ?dup 7 6 0 1 lit = ?branch dup var: ! 7 6 0 1 lit = ?branch dup var: 7 6 0 1 lit = ?branch dup 7 6 0 1 dup var: ! ?dup ?branch 7 6 0 1 dup var: ! ?dup 7 6 0 1 dup lit = ?branch dup var: 7 6 0 1 dup lit = ?branch dup 7 6 0 1 dup lit = ?branch 7 6 0 1 dup lit = 7 6 0 1 col: dup lit = ?branch dup 7 6 0 1 col: dup lit = ?branch 7 6 0 1 col: dup lit = 7 6 0 1 ?branch dup var: ! ?dup ?branch 7 6 0 1 ?branch dup var: ! ?dup 7 6 0 1 ?branch dup var: ! 7 6 0 1 ?branch dup var: 7 6 0 1 = ?branch dup var: ! ?dup 7 6 0 1 = ?branch dup var: ! 7 6 0 1 = ?branch dup var: 7 6 0 1 ! ?dup ?branch 7 6 0 1 ! ?dup 7 4 3 0 ;s ;s drop col: r> /does-handler 7 4 3 0 ;s ;s drop col: r> 7 4 3 0 ;s ;s drop col: 7 2 3 2 @ ;s +! ;s ;s branch 7 2 3 2 ;s +! ;s ;s branch col: 7 2 3 2 ;s +! ;s ;s branch 7 2 0 5 col: 0= ?branch ;s ;s 7 2 0 5 col: 0= ?branch ;s 7 1 5 1 code-address! ;s lit col: col: col: 7 1 5 1 code-address! ;s lit col: col: 7 1 5 1 ;s code-address! ;s lit col: col: 7 0 7 0 var: @ col: >l lp- 7 0 7 0 rdrop ;s dup 0= ?branch 7 0 7 0 rdrop ;s dup 0= 7 0 7 0 r> cell+ cell+ (loop) unloop 2drop 7 0 7 0 r> cell+ cell+ (loop) unloop 7 0 7 0 nip ?branch 2dup >float ?branch 2drop 7 0 7 0 nip ?branch 2dup >float ?branch 7 0 7 0 nip ?branch 2dup >float 7 0 7 0 lp+2 ;s ;s 7 0 7 0 lp+ ;s @local1 field: @ 0<> 7 0 7 0 field: @ ?branch @local1 @local1 col: 7 0 7 0 field: @ ?branch @local1 @local1 7 0 7 0 field: @ ;s col: >l >l 7 0 7 0 field: @ ;s col: >l 7 0 7 0 field: @ ;s col: 7 0 7 0 drop ;s col: user: @ ?dup 7 0 7 0 drop ;s col: user: @ 7 0 7 0 drop ;s col: user: 7 0 7 0 defer: col: 2dup lit col: >r 7 0 7 0 defer: col: 2dup lit col: 7 0 7 0 defer: col: 2dup lit 7 0 7 0 col: field: @ ;s col: >l 7 0 7 0 col: field: @ ;s col: 7 0 7 0 cell+ cell+ (loop) unloop 2drop drop 7 0 7 0 cell+ cell+ (loop) unloop 2drop 7 0 7 0 cell+ cell+ (loop) unloop 7 0 7 0 cell+ (loop) unloop 2drop drop con: 7 0 7 0 cell+ (loop) unloop 2drop drop 7 0 7 0 cell+ (loop) unloop 2drop 7 0 7 0 @local1 field: @ ?branch @local1 @local1 7 0 7 0 @local1 col: field: @ ;s col: 7 0 7 0 @local1 @local1 col: field: @ ;s 7 0 7 0 @local1 @local1 col: field: @ 7 0 7 0 @local1 @local1 col: field: 7 0 7 0 @local1 @local1 col: 7 0 7 0 @ ?branch @local1 @local1 col: field: 7 0 7 0 @ ?branch @local1 @local1 col: 7 0 7 0 @ ?branch @local1 @local1 7 0 7 0 @ ;s col: >l >l @local0 7 0 7 0 @ ;s col: >l >l 7 0 7 0 @ 0< ?branch drop ;s col: 7 0 7 0 ?branch rdrop ;s dup 0= ?branch 7 0 7 0 ?branch rdrop ;s dup 0= 7 0 7 0 ?branch r> cell+ cell+ (loop) unloop 7 0 7 0 ?branch dup @ 0< ?branch drop 7 0 7 0 ?branch drop ;s col: user: @ 7 0 7 0 ?branch drop ;s col: user: 7 0 7 0 ?branch drop ;s col: 7 0 7 0 ?branch @local1 @local1 col: field: @ 7 0 7 0 ?branch @local1 @local1 col: field: 7 0 7 0 ?branch @local1 @local1 col: 7 0 7 0 ?branch 2dup >float ?branch 2drop user: 7 0 7 0 ?branch 2dup >float ?branch 2drop 7 0 7 0 ?branch 2dup >float ?branch 7 0 7 0 ?branch 2dup >float 7 0 7 0 ?branch 2drop user: @ ?branch 7 0 7 0 ?branch 2drop user: @ 7 0 7 0 >float ?branch 2drop user: @ ?branch 7 0 7 0 >float ?branch 2drop user: @ 7 0 7 0 >float ?branch 2drop user: 7 0 7 0 >float ?branch 2drop 7 0 7 0 >float ?branch 7 0 7 0 >float 7 0 7 0 ;s col: >l >l @local0 ?branch 7 0 7 0 ;s col: >l >l @local0 7 0 7 0 ;s col: >l >l 7 0 7 0 ;s @local1 field: @ 0<> ?branch 7 0 7 0 ;s @local1 field: @ 0<> 7 0 7 0 2dup >float ?branch 2drop user: @ 7 0 7 0 2dup >float ?branch 2drop user: 7 0 7 0 2dup >float ?branch 2drop 7 0 7 0 2dup >float ?branch 7 0 7 0 2dup >float 7 0 7 0 2drop user: @ ?branch 7 0 7 0 2drop user: @ 7 0 7 0 0< ?branch drop ;s col: user: 7 0 7 0 0< ?branch drop ;s col: 7 0 7 0 (loop) unloop 2drop drop con: ;s 7 0 7 0 (loop) unloop 2drop drop con: 7 0 7 0 (loop) unloop 2drop drop 7 0 7 0 ! ;s ;s ;s ;s user: 7 0 0 7 var: cell+ i cells + 7 0 0 7 var: cell+ i cells 7 0 0 7 var: cell+ i 7 0 0 7 rot 0= and ?branch col: col: 7 0 0 7 rot 0= and ?branch col: 7 0 0 7 rdrop ;s col: col: r> r> 7 0 0 7 rdrop ;s col: col: r> 7 0 0 7 rdrop ;s col: col: 7 0 0 7 i cells + 7 0 0 7 i cells 7 0 0 7 defer: (type) ;s rdrop ;s col: 7 0 0 7 defer: (type) ;s r@ col: >r 7 0 0 7 defer: (type) ;s r@ col: 7 0 0 7 defer: (type) ;s cr branch rdrop 7 0 0 7 defer: (type) ;s cr 0<> swap 7 0 0 7 defer: (type) ;s cr 0<> 7 0 0 7 cr branch rdrop ;s ;s con: 7 0 0 7 cr branch rdrop ;s ;s 7 0 0 7 cr branch rdrop ;s 7 0 0 7 cr branch rdrop 7 0 0 7 cr 0<> swap 0= and ?branch 7 0 0 7 cr 0<> swap 0= and 7 0 0 7 cr 0<> swap 0= 7 0 0 7 cr 0<> swap 7 0 0 7 cr 0<> 7 0 0 7 count defer: (type) ;s r@ col: 7 0 0 7 count defer: (type) ;s cr 0<> 7 0 0 7 cell+ i cells + 7 0 0 7 cell+ i cells 7 0 0 7 cell+ i 7 0 0 7 ?branch branch rdrop ;s ;s con: 7 0 0 7 ?branch branch rdrop ;s ;s 7 0 0 7 ?branch branch rdrop ;s 7 0 0 7 ?branch branch rdrop 7 0 0 7 = ;s ?branch col: col: r> 7 0 0 7 = ;s ?branch col: col: 7 0 0 7 = ;s ?branch col: 7 0 0 7 = ;s ?branch branch rdrop ;s 7 0 0 7 = ;s ?branch branch rdrop 7 0 0 7 = ;s ?branch branch 7 0 0 7 ;s rdrop ;s col: col: r> 7 0 0 7 ;s rdrop ;s col: col: 7 0 0 7 ;s r@ col: >r r@ does: 7 0 0 7 ;s r@ col: >r r@ 7 0 0 7 ;s r@ col: >r 7 0 0 7 ;s cr branch rdrop ;s ;s 7 0 0 7 ;s cr branch rdrop ;s 7 0 0 7 ;s cr branch rdrop 7 0 0 7 ;s cr 0<> swap 0= and 7 0 0 7 ;s cr 0<> swap 0= 7 0 0 7 ;s cr 0<> swap 7 0 0 7 ;s cr 0<> 7 0 0 7 ;s col: col: con: <> col: 7 0 0 7 ;s col: col: con: <> 7 0 0 7 ;s ?branch col: col: r> r> 7 0 0 7 ;s ?branch col: col: r> 7 0 0 7 ;s ?branch branch rdrop ;s ;s 7 0 0 7 ;s ?branch branch rdrop ;s 7 0 0 7 ;s ?branch branch rdrop 7 0 0 7 ;s ;s col: col: con: <> 7 0 0 7 ;s ;s col: col: con: 7 0 0 7 ;s ;s ;s col: col: con: 7 0 0 7 0<> rot 0= and ?branch col: 7 0 0 7 (type) ;s rdrop ;s col: col: 7 0 0 7 (type) ;s rdrop ;s col: 7 0 0 7 (type) ;s r@ col: >r r@ 7 0 0 7 (type) ;s r@ col: >r 7 0 0 7 (type) ;s r@ col: 7 0 0 7 (type) ;s cr branch rdrop ;s 7 0 0 7 (type) ;s cr branch rdrop 7 0 0 7 (type) ;s cr 0<> swap 0= 7 0 0 7 (type) ;s cr 0<> swap 7 0 0 7 (type) ;s cr 0<> 6 6 0 0 var: ! ?dup ?branch ;s col: 6 6 0 0 var: ! ?dup ?branch ;s 6 6 0 0 swap ! ;s ;s ;s over 6 6 0 0 over col: cell+ cell+ ;s ! 6 6 0 0 over col: cell+ cell+ ;s 6 6 0 0 over col: cell+ cell+ 6 6 0 0 lit col: dup lit = ?branch 6 6 0 0 lit col: dup lit = 6 6 0 0 lit col: dup lit 6 6 0 0 dup var: ! ?dup ?branch ;s 6 6 0 0 drop branch ;s ;s ;s ;s 6 6 0 0 col: lit col: dup lit = 6 6 0 0 col: lit col: dup lit 6 6 0 0 col: col: lit col: dup lit 6 6 0 0 col: col: lit col: dup 6 6 0 0 branch ;s ;s ;s ;s branch 6 6 0 0 @ var: ! ;s col: col: 6 6 0 0 @ ;s col: con: col: col: 6 6 0 0 @ ;s col: con: col: 6 6 0 0 @ ;s col: con: 6 6 0 0 @ ;s @ ;s col: con: 6 6 0 0 ?dup ?branch ;s col: col: var: 6 6 0 0 ?branch ;s col: col: var: dup 6 6 0 0 ;s over col: cell+ cell+ ;s 6 6 0 0 ;s over col: cell+ cell+ 6 6 0 0 ;s @ ;s col: con: col: 6 6 0 0 ;s @ ;s col: con: 6 6 0 0 ;s ;s over col: cell+ cell+ 6 6 0 0 ;s ;s over col: cell+ 6 6 0 0 ;s ;s col: lit user: ! 6 6 0 0 ;s ;s col: lit user: 6 6 0 0 ;s ;s ;s over col: cell+ 6 6 0 0 ;s ;s ;s over col: 6 6 0 0 ;s ;s ;s over 6 6 0 0 ;s ! ;s ;s col: lit 6 6 0 0 ! ?dup ?branch ;s col: col: 6 6 0 0 ! ?dup ?branch ;s col: 6 6 0 0 ! ?dup ?branch ;s 6 6 0 0 ! ;s ;s col: lit user: 6 6 0 0 ! ;s ;s col: lit 6 6 0 0 ! ;s ;s ;s over col: 6 6 0 0 ! ;s ;s ;s over 6 4 2 0 var: ! ;s ;s drop col: 6 4 2 0 var: ! ;s ;s drop 6 4 2 0 r> var: ! ;s ;s drop 6 4 2 0 ! ;s ;s drop col: r> 6 4 2 0 ! ;s ;s drop col: 6 3 2 1 nip execute col: col: con: <> 6 3 2 1 execute col: col: con: <> col: 6 3 2 1 execute col: col: con: <> 6 3 1 2 * ;s 6 3 0 3 swap (?do) unloop ;s ;s ;s 6 3 0 3 1- ;s 6 3 0 3 (?do) unloop ;s ;s ;s ;s 6 2 2 2 var: ! defer: drop ;s drop 6 2 2 2 var: ! ;s branch @ dup 6 2 2 2 var: ! ;s branch @ 6 2 2 2 var: ! ;s branch 6 2 2 2 unloop drop branch lit pick @ 6 2 2 2 unloop drop branch lit pick 6 2 2 2 unloop drop branch lit 6 2 2 2 unloop drop branch 6 2 2 2 r> var: ! ;s branch @ 6 2 2 2 r> var: ! ;s branch 6 2 2 2 pick @ ?dup 0= ?branch 2dup 6 2 2 2 pick + (loop) unloop drop branch 6 2 2 2 pick + (loop) unloop drop 6 2 2 2 pick + (loop) unloop 6 2 2 2 over lit (?do) dup lit pick 6 2 2 2 over lit (?do) dup lit 6 2 2 2 over lit (?do) dup 6 2 2 2 over lit (?do) 6 2 2 2 lit pick + (loop) unloop drop 6 2 2 2 lit pick + (loop) unloop 6 2 2 2 lit (?do) dup lit pick col: 6 2 2 2 lit (?do) dup lit pick 6 2 2 2 lit (?do) dup lit 6 2 2 2 dup defer: col: cell+ dup @ 6 2 2 2 dup defer: col: cell+ dup 6 2 2 2 dup defer: col: cell+ 6 2 2 2 dup defer: col: 6 2 2 2 dup defer: 6 2 2 2 dup @ dup ?branch 2dup swap 6 2 2 2 dup @ dup ?branch 2dup 6 2 2 2 dup @ ?branch dup defer: col: 6 2 2 2 dup @ ?branch dup defer: 6 2 2 2 dup @ ?branch dup 6 2 2 2 drop branch lit pick @ ?dup 6 2 2 2 drop branch lit pick @ 6 2 2 2 drop branch lit pick 6 2 2 2 drop ;s drop col: r> /does-handler 6 2 2 2 drop ;s drop col: r> 6 2 2 2 drop ;s drop col: 6 2 2 2 defer: drop ;s drop col: r> 6 2 2 2 defer: drop ;s drop col: 6 2 2 2 defer: drop ;s drop 6 2 2 2 col: ?dup ?branch ;s over lit 6 2 2 2 col: ?dup ?branch ;s over 6 2 2 2 branch lit pick @ ?dup 0= 6 2 2 2 branch lit pick @ ?dup 6 2 2 2 branch lit pick @ 6 2 2 2 branch lit pick 6 2 2 2 branch @ dup @ ?branch 6 2 2 2 branch @ dup @ 6 2 2 2 branch @ dup ?branch 2drop r> 6 2 2 2 branch @ dup ?branch 2drop 6 2 2 2 allocate col: ?dup ?branch ;s over 6 2 2 2 @ dup @ ?branch dup defer: 6 2 2 2 @ dup @ ?branch dup 6 2 2 2 @ ?dup 0= ?branch 2dup * 6 2 2 2 @ ?dup 0= ?branch 2dup 6 2 2 2 @ ?branch dup defer: col: cell+ 6 2 2 2 @ ?branch dup defer: col: 6 2 2 2 @ ?branch dup defer: 6 2 2 2 ?dup ?branch ;s over lit (?do) 6 2 2 2 ?dup ?branch ;s over lit 6 2 2 2 ?dup ?branch ;s over 6 2 2 2 ?dup 0= ?branch 2dup * allocate 6 2 2 2 ?dup 0= ?branch 2dup * 6 2 2 2 ?dup 0= ?branch 2dup 6 2 2 2 ?branch dup defer: col: cell+ dup 6 2 2 2 ?branch dup defer: col: cell+ 6 2 2 2 ?branch dup defer: col: 6 2 2 2 ?branch dup defer: 6 2 2 2 ?branch ;s over lit (?do) dup 6 2 2 2 ?branch ;s over lit (?do) 6 2 2 2 ?branch ;s over lit 6 2 2 2 ?branch ;s over 6 2 2 2 ?branch 2dup * allocate col: ?dup 6 2 2 2 ?branch 2dup * allocate col: 6 2 2 2 ?branch 2dup * allocate 6 2 2 2 ?branch 2dup * 6 2 2 2 ;s over lit (?do) dup lit 6 2 2 2 ;s over lit (?do) dup 6 2 2 2 ;s over lit (?do) 6 2 2 2 ;s over lit 6 2 2 2 ;s lit pick + (loop) unloop 6 2 2 2 ;s branch @ dup @ ?branch 6 2 2 2 ;s branch @ dup @ 6 2 2 2 ;s branch @ dup ?branch 2drop 6 2 2 2 2dup * allocate col: ?dup ?branch 6 2 2 2 2dup * allocate col: ?dup 6 2 2 2 2dup * allocate col: 6 2 2 2 2dup * allocate 6 2 2 2 2dup * 6 2 2 2 2drop r> var: ! ;s branch 6 2 2 2 0= ?branch 2dup * allocate col: 6 2 2 2 0= ?branch 2dup * allocate 6 2 2 2 0= ?branch 2dup * 6 2 2 2 0= ?branch 2dup 6 2 2 2 + (loop) unloop drop branch lit 6 2 2 2 + (loop) unloop drop branch 6 2 2 2 + (loop) unloop drop 6 2 2 2 + (loop) unloop 6 2 2 2 * allocate col: ?dup ?branch ;s 6 2 2 2 * allocate col: ?dup ?branch 6 2 2 2 * allocate col: ?dup 6 2 2 2 * allocate col: 6 2 2 2 * allocate 6 2 2 2 (loop) unloop drop branch lit pick 6 2 2 2 (loop) unloop drop branch lit 6 2 2 2 (loop) unloop drop branch 6 2 2 2 (?do) dup lit pick col: dup 6 2 2 2 (?do) dup lit pick col: 6 2 2 2 (?do) dup lit pick 6 2 2 2 (?do) dup lit 6 2 2 2 ! dup @ dup ?branch 2dup 6 2 2 2 ! defer: drop ;s drop col: 6 2 2 2 ! defer: drop ;s drop 6 2 2 2 ! ;s branch @ dup @ 6 2 2 2 ! ;s branch @ dup 6 2 2 2 ! ;s branch @ 6 2 1 3 nip nip execute lshift ;s branch 6 2 1 3 nip nip execute lshift ;s 6 2 1 3 nip nip execute lshift 6 2 1 3 nip execute lshift ;s branch col: 6 2 1 3 nip execute lshift ;s branch 6 2 1 3 nip execute lshift ;s 6 2 1 3 nip execute lshift 6 2 1 3 lshift ;s branch col: sp@ user: 6 2 1 3 lshift ;s branch col: sp@ 6 2 1 3 lshift ;s branch col: 6 2 1 3 lshift ;s branch 6 2 1 3 execute lshift ;s branch col: sp@ 6 2 1 3 execute lshift ;s branch col: 6 2 1 3 execute lshift ;s branch 6 2 1 3 execute lshift ;s 6 2 1 3 execute lshift 6 2 1 3 and ?branch nip nip execute lshift 6 2 1 3 ?branch nip nip execute lshift ;s 6 2 1 3 ?branch nip nip execute lshift 6 2 0 4 dup count col: var: @ col: 6 2 0 4 dup count col: var: @ 6 2 0 4 dup count col: var: 6 2 0 4 dup count col: 6 2 0 4 count col: var: @ col: col: 6 2 0 4 count col: var: @ col: 6 2 0 4 count col: var: @ 6 2 0 4 count col: var: 6 2 0 4 col: dup count col: var: @ 6 2 0 4 col: dup count col: var: 6 2 0 4 col: dup count col: 6 2 0 4 ;s col: dup count col: var: 6 2 0 4 ;s col: dup count col: 6 2 0 4 ;s ;s col: dup count col: 6 1 4 1 over c@ lit <> ?branch col: 6 1 4 1 lit <> ?branch col: col: 2dup 6 1 4 1 lit <> ?branch col: col: 6 1 4 1 lit <> ?branch col: 6 1 4 1 c@ lit <> ?branch col: col: 6 1 4 1 c@ lit <> ?branch col: 6 1 4 1 ?branch col: col: 2dup lit col: 6 1 4 1 ?branch col: col: 2dup lit 6 1 4 1 ?branch col: col: 2dup 6 1 4 1 ?branch ;s >body @ col: col: 6 1 4 1 ?branch ;s >body @ col: 6 1 4 1 >body @ col: col: col: col: 6 1 4 1 >body @ col: col: col: 6 1 4 1 >body @ col: col: 6 1 4 1 >body @ col: 6 1 4 1 <> ?branch col: col: 2dup lit 6 1 4 1 <> ?branch col: col: 2dup 6 1 4 1 <> ?branch col: col: 6 1 4 1 ;s >body @ col: col: col: 6 1 4 1 ;s >body @ col: col: 6 1 4 1 ;s >body @ col: 6 1 4 1 ;s 0= ?branch ;s >body @ 6 1 4 1 0= ?branch ;s >body @ col: 6 0 6 0 var: @ min dup lit (?do) 6 0 6 0 var: @ min dup lit 6 0 6 0 var: @ min dup 6 0 6 0 var: @ min 6 0 6 0 var: @ ?branch lp+ ;s lp+ 6 0 6 0 var: 2@ drop over field: @ 6 0 6 0 var: 2@ drop over field: 6 0 6 0 var: 2@ drop over 6 0 6 0 user: @ ;s +! ;s f! 6 0 6 0 unloop drop ;s cr ;s r> 6 0 6 0 unloop drop ;s cr ;s 6 0 6 0 unloop drop ;s cr 6 0 6 0 swap ! ;s lp+2 ;s ;s 6 0 6 0 swap ! ;s ;s @local2 @local3 6 0 6 0 swap ! ;s ;s @local2 6 0 6 0 rot field: @ ;s >r defer: 6 0 6 0 rot field: @ ;s >r 6 0 6 0 rot field: @ ;s 6 0 6 0 rot field: @ 6 0 6 0 rot field: 6 0 6 0 rdrop ;s dup 0= ?branch nip 6 0 6 0 r@ defer: col: cr col: col: 6 0 6 0 r@ defer: col: cr col: 6 0 6 0 r@ defer: col: cr 6 0 6 0 r@ defer: col: 6 0 6 0 r@ defer: 6 0 6 0 r@ <> ?branch rdrop ;s dup 6 0 6 0 r> lit col: >r col: dup 6 0 6 0 r> lit col: >r col: 6 0 6 0 r> lit col: >r 6 0 6 0 r> lit col: 6 0 6 0 r> -rot move ;s @local0 field: 6 0 6 0 r> -rot move ;s @local0 6 0 6 0 over field: @ 2* cells + 6 0 6 0 over field: @ 2* cells 6 0 6 0 over field: @ 2* 6 0 6 0 over field: @ 6 0 6 0 over field: 6 0 6 0 nip nip execute col: dup >code-address 6 0 6 0 nip execute col: dup >code-address lit 6 0 6 0 nip execute col: dup >code-address 6 0 6 0 move ;s @local0 field: 2! @local0 6 0 6 0 move ;s @local0 field: 2! 6 0 6 0 move ;s @local0 field: 6 0 6 0 move ;s @local0 6 0 6 0 min dup lit (?do) unloop drop 6 0 6 0 min dup lit (?do) unloop 6 0 6 0 min dup lit (?do) 6 0 6 0 min dup lit 6 0 6 0 min dup 6 0 6 0 max var: @ min dup lit 6 0 6 0 max var: @ min dup 6 0 6 0 max var: @ min 6 0 6 0 max var: @ 6 0 6 0 max var: 6 0 6 0 lp+2 ;s ;s branch col: sp@ 6 0 6 0 lp+2 ;s ;s branch col: 6 0 6 0 lp+2 ;s ;s branch 6 0 6 0 lp+ ;s lp+ ;s col: col: 6 0 6 0 lp+ ;s ;s ;s ;s branch 6 0 6 0 lp+ ;s ;s ;s ;s 6 0 6 0 lit max var: @ min dup 6 0 6 0 lit max var: @ min 6 0 6 0 lit max var: @ 6 0 6 0 lit max var: 6 0 6 0 lit floats col: col: user: @ 6 0 6 0 lit floats col: col: user: 6 0 6 0 lit floats col: col: 6 0 6 0 lit floats col: 6 0 6 0 lit (?do) unloop drop ;s cr 6 0 6 0 floats col: col: user: @ ;s 6 0 6 0 floats col: col: user: @ 6 0 6 0 floats col: col: user: 6 0 6 0 floats col: col: 6 0 6 0 floats col: 6 0 6 0 field: @ ;s >r defer: (type) 6 0 6 0 field: @ ;s >r defer: 6 0 6 0 field: @ ;s >r 6 0 6 0 field: @ 2* cells + 2@ 6 0 6 0 field: @ 2* cells + 6 0 6 0 field: @ 2* cells 6 0 6 0 field: @ 2* 6 0 6 0 field: @ 0<> ?branch lp+ ;s 6 0 6 0 field: @ 0<> ?branch lp+ 6 0 6 0 field: 2! @local0 field: col: con: 6 0 6 0 field: 2! @local0 field: col: 6 0 6 0 field: 2! @local0 field: 6 0 6 0 field: 2! @local0 6 0 6 0 f! ;s 6 0 6 0 f! 6 0 6 0 execute col: dup >code-address lit = 6 0 6 0 execute col: dup >code-address lit 6 0 6 0 execute col: dup >code-address 6 0 6 0 dup lit (?do) unloop drop ;s 6 0 6 0 dup lit (?do) unloop drop 6 0 6 0 dup lit (?do) unloop 6 0 6 0 dup lit (?do) 6 0 6 0 dup >code-address lit = ?branch 6 0 6 0 dup >code-address lit = 6 0 6 0 dup >code-address lit 6 0 6 0 dup >code-address 6 0 6 0 dup 0= ?branch nip ?branch 2dup 6 0 6 0 dup 0= ?branch nip ?branch 6 0 6 0 dup 0= ?branch nip 6 0 6 0 drop over field: @ 2* cells 6 0 6 0 drop over field: @ 2* 6 0 6 0 drop over field: @ 6 0 6 0 drop over field: 6 0 6 0 drop over 6 0 6 0 drop branch ;s ;s r> ;s 6 0 6 0 drop branch ;s ;s r> 6 0 6 0 drop branch ;s (loop) 6 0 6 0 drop ;s cr ;s r> does: 6 0 6 0 drop ;s cr ;s r> 6 0 6 0 drop ;s cr ;s 6 0 6 0 drop ;s cr 6 0 6 0 defer: col: cr col: col: var: 6 0 6 0 defer: col: cr col: col: 6 0 6 0 defer: col: cr col: 6 0 6 0 defer: col: cr 6 0 6 0 defer: col: col: col: r> r> 6 0 6 0 defer: col: col: col: r> 6 0 6 0 defer: (type) ;s r> lit col: 6 0 6 0 defer: (type) ;s r> lit 6 0 6 0 defer: (type) ;s r> 6 0 6 0 defer: (type) ;s defer: col: col: 6 0 6 0 defer: (type) ;s defer: col: 6 0 6 0 defer: (type) ;s ;s ;s col: 6 0 6 0 defer: (type) ;s ;s ;s 6 0 6 0 cr col: col: var: 2@ drop 6 0 6 0 cr col: col: var: 2@ 6 0 6 0 cr col: col: var: 6 0 6 0 cr ;s r> does: 2@ ;s 6 0 6 0 cr ;s r> does: 2@ 6 0 6 0 cr ;s r> does: 6 0 6 0 cr ;s r> 6 0 6 0 count defer: (type) ;s r> lit 6 0 6 0 count defer: (type) ;s r> 6 0 6 0 count defer: (type) ;s defer: col: 6 0 6 0 con: swap ! ;s ;s @local2 6 0 6 0 con: / ;s lit max var: 6 0 6 0 con: / ;s lit max 6 0 6 0 con: / ;s lit col: >r 6 0 6 0 con: / ;s lit col: 6 0 6 0 col: var: 2@ drop over field: 6 0 6 0 col: var: 2@ drop over 6 0 6 0 col: r@ defer: col: cr col: 6 0 6 0 col: r@ defer: col: cr 6 0 6 0 col: r@ defer: col: 6 0 6 0 col: r@ defer: 6 0 6 0 col: r@ 6 0 6 0 col: dup >code-address lit = ?branch 6 0 6 0 col: dup >code-address lit = 6 0 6 0 col: dup >code-address lit 6 0 6 0 col: dup >code-address 6 0 6 0 col: cr col: col: var: 2@ 6 0 6 0 col: cr col: col: var: 6 0 6 0 col: cr col: col: 6 0 6 0 col: cr col: 6 0 6 0 col: col: var: 2@ drop over 6 0 6 0 code-address! ;s ;s col: col: does: 6 0 6 0 cells + 2@ rot field: @ 6 0 6 0 cells + 2@ rot field: 6 0 6 0 cells + 2@ rot 6 0 6 0 cells + 2@ 6 0 6 0 branch ;s (loop) 6 0 6 0 @local3 col: swap >r dup allocate 6 0 6 0 @local3 col: swap >r dup 6 0 6 0 @local3 col: swap >r 6 0 6 0 @local3 col: swap 6 0 6 0 @local2 @local3 col: swap >r dup 6 0 6 0 @local2 @local3 col: swap >r 6 0 6 0 @local2 @local3 col: swap 6 0 6 0 @local1 lp+ ;s ;s ;s ;s 6 0 6 0 @local1 field: @ 0<> ?branch lp+ 6 0 6 0 @local1 con: col: 6 0 6 0 @local1 col: col: >l lp- lit 6 0 6 0 @local1 col: col: >l lp- 6 0 6 0 @local1 col: col: >l 6 0 6 0 @local1 col: >l lp- @local1 col: 6 0 6 0 @local0 field: 2! @local0 field: col: 6 0 6 0 @local0 field: 2! @local0 field: 6 0 6 0 @local0 field: 2! @local0 6 0 6 0 @local0 field: 2! 6 0 6 0 @local0 @local1 col: col: >l lp- 6 0 6 0 @local0 @local1 col: col: >l 6 0 6 0 @local0 @local1 col: col: 6 0 6 0 @ min dup lit (?do) unloop 6 0 6 0 @ min dup lit (?do) 6 0 6 0 @ min dup lit 6 0 6 0 @ min dup 6 0 6 0 @ ?branch lp+ ;s lp+ branch 6 0 6 0 @ ?branch lp+ ;s lp+ 6 0 6 0 @ ;s lit floats col: col: 6 0 6 0 @ ;s lit floats col: 6 0 6 0 @ ;s lit floats 6 0 6 0 @ ;s @ ;s lit floats 6 0 6 0 @ ;s ?branch @local1 col: >l 6 0 6 0 @ ;s ?branch @local1 col: 6 0 6 0 @ ;s ?branch @local1 6 0 6 0 @ ;s >r defer: (type) col: 6 0 6 0 @ ;s >r defer: (type) 6 0 6 0 @ ;s >r defer: 6 0 6 0 @ ;s +! ;s f! ;s 6 0 6 0 @ ;s +! ;s f! 6 0 6 0 @ 2* cells + 2@ rot 6 0 6 0 @ 2* cells + 2@ 6 0 6 0 @ 0<> ?branch lp+ ;s @local1 6 0 6 0 @ 0<> ?branch lp+ ;s 6 0 6 0 @ 0<> ?branch lp+ 6 0 6 0 @ + @ ;s ?branch @local1 6 0 6 0 ?branch nip ?branch 2dup >float ?branch 6 0 6 0 ?branch nip ?branch 2dup >float 6 0 6 0 ?branch nip ?branch 2dup 6 0 6 0 ?branch nip ?branch 6 0 6 0 ?branch lp+ ;s lp+ ;s @local1 6 0 6 0 ?branch lp+ ;s lp+ ;s 6 0 6 0 ?branch @local1 col: >l lp- @local1 6 0 6 0 >r defer: (type) col: col: r> 6 0 6 0 >r defer: (type) col: col: 6 0 6 0 >r defer: (type) col: 6 0 6 0 >r defer: (type) 6 0 6 0 >l @local0 @local1 col: col: >l 6 0 6 0 >l @local0 @local1 col: col: 6 0 6 0 >l >l @local0 @local1 col: col: 6 0 6 0 >l >l >l @local0 @local1 col: 6 0 6 0 >code-address lit = ?branch 6 0 6 0 >code-address lit = 6 0 6 0 >code-address lit 6 0 6 0 <> ?branch rdrop ;s dup 0= 6 0 6 0 <> ?branch rdrop ;s dup 6 0 6 0 ;s var: @ col: >l lp- 6 0 6 0 ;s var: @ col: >l 6 0 6 0 ;s r> lit col: >r col: 6 0 6 0 ;s r> lit col: >r 6 0 6 0 ;s r> lit col: 6 0 6 0 ;s r> lit 6 0 6 0 ;s r> does: 2@ ;s drop 6 0 6 0 ;s r> does: 2@ ;s 6 0 6 0 ;s r> does: 2@ 6 0 6 0 ;s r> does: 6 0 6 0 ;s lp+2 ;s ;s 6 0 6 0 ;s lit max var: @ min 6 0 6 0 ;s lit max var: @ 6 0 6 0 ;s lit max var: 6 0 6 0 ;s lit max 6 0 6 0 ;s lit floats col: col: user: 6 0 6 0 ;s lit floats col: col: 6 0 6 0 ;s lit floats col: 6 0 6 0 ;s lit floats 6 0 6 0 ;s f! ;s 6 0 6 0 ;s f! 6 0 6 0 ;s dup 0= ?branch nip ?branch 6 0 6 0 ;s dup 0= ?branch nip 6 0 6 0 ;s drop branch ;s ;s r> 6 0 6 0 ;s drop branch ;s (loop) 6 0 6 0 ;s defer: col: col: col: r> 6 0 6 0 ;s defer: col: col: col: 6 0 6 0 ;s defer: (type) ;s ;s ;s 6 0 6 0 ;s cr ;s r> does: 2@ 6 0 6 0 ;s cr ;s r> does: 6 0 6 0 ;s cr ;s r> 6 0 6 0 ;s count defer: (type) ;s r> 6 0 6 0 ;s col: col: does: 2@ ;s 6 0 6 0 ;s col: col: does: 2@ 6 0 6 0 ;s col: col: does: 6 0 6 0 ;s @local2 @local3 col: swap >r 6 0 6 0 ;s @local2 @local3 col: swap 6 0 6 0 ;s @local2 @local3 col: 6 0 6 0 ;s @local2 @local3 6 0 6 0 ;s @local0 field: 2! @local0 field: 6 0 6 0 ;s @local0 field: 2! @local0 6 0 6 0 ;s @local0 field: 2! 6 0 6 0 ;s @ ;s lit floats col: 6 0 6 0 ;s @ ;s lit floats 6 0 6 0 ;s ?branch @local1 col: >l lp- 6 0 6 0 ;s ?branch @local1 col: >l 6 0 6 0 ;s >r defer: (type) col: col: 6 0 6 0 ;s >r defer: (type) col: 6 0 6 0 ;s >r defer: (type) 6 0 6 0 ;s >r defer: 6 0 6 0 ;s ;s col: col: does: 2@ 6 0 6 0 ;s ;s col: col: does: 6 0 6 0 ;s ;s @local2 @local3 col: swap 6 0 6 0 ;s ;s @local2 @local3 col: 6 0 6 0 ;s ;s @local2 @local3 6 0 6 0 ;s ;s @local2 6 0 6 0 ;s 0<> ?branch lp+ ;s lp+ 6 0 6 0 ;s 0<> ?branch lp+ ;s @local1 6 0 6 0 ;s +! ;s f! ;s 6 0 6 0 ;s +! ;s f! 6 0 6 0 2dup r> -rot move ;s @local0 6 0 6 0 2@ rot field: @ ;s >r 6 0 6 0 2@ rot field: @ ;s 6 0 6 0 2@ rot field: @ 6 0 6 0 2@ rot field: 6 0 6 0 2@ drop over field: @ 2* 6 0 6 0 2@ drop over field: @ 6 0 6 0 2@ drop over field: 6 0 6 0 2@ drop over 6 0 6 0 2* cells + 2@ rot field: 6 0 6 0 2* cells + 2@ rot 6 0 6 0 2* cells + 2@ 6 0 6 0 2! @local0 field: col: con: swap 6 0 6 0 2! @local0 field: col: con: 6 0 6 0 2! @local0 field: col: 6 0 6 0 2! @local0 field: 6 0 6 0 2! @local0 6 0 6 0 0= ?branch nip ?branch 2dup >float 6 0 6 0 0= ?branch nip ?branch 2dup 6 0 6 0 0= ?branch nip ?branch 6 0 6 0 0<> ?branch lp+ ;s lp+ ;s 6 0 6 0 0<> ?branch lp+ ;s lp+ 6 0 6 0 / ;s lit max var: @ 6 0 6 0 / ;s lit max var: 6 0 6 0 / ;s lit max 6 0 6 0 / ;s lit col: >r col: 6 0 6 0 / ;s lit col: >r 6 0 6 0 / ;s lit col: 6 0 6 0 -rot move ;s @local0 field: 2! 6 0 6 0 -rot move ;s @local0 field: 6 0 6 0 -rot move ;s @local0 6 0 6 0 - con: / ;s lit max 6 0 6 0 - con: / ;s lit col: 6 0 6 0 +! ;s f! ;s 6 0 6 0 +! ;s f! 6 0 6 0 + @ ;s ?branch @local1 col: 6 0 6 0 + @ ;s ?branch @local1 6 0 6 0 + 2@ rot field: @ ;s 6 0 6 0 + 2@ rot field: @ 6 0 6 0 + 2@ rot field: 6 0 6 0 + 2@ rot 6 0 6 0 (type) ;s r> lit col: >r 6 0 6 0 (type) ;s r> lit col: 6 0 6 0 (type) ;s r> lit 6 0 6 0 (type) ;s r> 6 0 6 0 (type) ;s defer: col: col: col: 6 0 6 0 (type) ;s defer: col: col: 6 0 6 0 (type) ;s defer: col: 6 0 6 0 (type) ;s ;s ;s col: col: 6 0 6 0 (type) ;s ;s ;s col: 6 0 6 0 (type) ;s ;s ;s 6 0 6 0 (?do) unloop drop ;s cr ;s 6 0 6 0 (?do) unloop drop ;s cr 6 0 6 0 ! ;s lp+2 ;s ;s 6 0 6 0 ! ;s drop branch ;s (loop) 6 0 6 0 ! ;s ;s @local2 @local3 col: 6 0 6 0 ! ;s ;s @local2 @local3 6 0 6 0 ! ;s ;s @local2 6 0 3 3 ;s drop ;s ;s col: 6 0 1 5 ! ;s (loop) unloop ;s ;s 6 0 1 5 ! ;s (loop) unloop ;s 6 0 1 5 ! ;s (loop) unloop 6 0 0 6 var: @ = ?branch drop con: 6 0 0 6 var: @ = ?branch drop 6 0 0 6 nip nip execute aligned ;s branch 6 0 0 6 nip nip execute aligned ;s 6 0 0 6 nip nip execute aligned 6 0 0 6 nip execute aligned ;s branch col: 6 0 0 6 nip execute aligned ;s branch 6 0 0 6 nip execute aligned ;s 6 0 0 6 nip execute aligned 6 0 0 6 execute and 0= 0= ?branch rot 6 0 0 6 execute aligned ;s branch col: sp@ 6 0 0 6 execute aligned ;s branch col: 6 0 0 6 execute aligned ;s branch 6 0 0 6 execute aligned ;s 6 0 0 6 execute aligned 6 0 0 6 dup var: @ = ?branch drop 6 0 0 6 drop con: branch ;s col: col: 6 0 0 6 drop con: branch ;s col: 6 0 0 6 drop con: branch ;s 6 0 0 6 drop = ;s ?branch branch rdrop 6 0 0 6 drop = ;s ?branch branch 6 0 0 6 con: branch ;s col: col: con: 6 0 0 6 con: branch ;s col: col: 6 0 0 6 con: branch ;s col: 6 0 0 6 col: col: var: @ ?branch var: 6 0 0 6 branch ;s col: col: con: /mod 6 0 0 6 branch ;s col: col: con: 6 0 0 6 and ?branch nip nip execute aligned 6 0 0 6 and 0= 0= ?branch rot drop 6 0 0 6 and 0= 0= ?branch rot 6 0 0 6 aligned ;s branch col: sp@ user: 6 0 0 6 aligned ;s branch col: sp@ 6 0 0 6 aligned ;s branch col: 6 0 0 6 aligned ;s branch 6 0 0 6 @ = ?branch drop con: branch 6 0 0 6 @ = ?branch drop con: 6 0 0 6 @ = ?branch drop 6 0 0 6 ?branch nip nip execute aligned ;s 6 0 0 6 ?branch nip nip execute aligned 6 0 0 6 ?branch drop con: branch ;s col: 6 0 0 6 ?branch drop con: branch ;s 6 0 0 6 = ?branch drop con: branch ;s 6 0 0 6 ;s col: defer: noop col: col: 6 0 0 6 ;s col: defer: noop col: 6 0 0 6 ;s col: defer: noop 6 0 0 6 ;s col: col: dup col: dup 6 0 0 6 ;s col: col: dup col: 6 0 0 6 ;s ;s col: defer: noop col: 6 0 0 6 ;s ;s col: defer: noop 6 0 0 6 ;s ;s col: col: dup col: 6 0 0 6 ;s ;s col: col: dup 6 0 0 6 ;s ;s ;s col: defer: noop 6 0 0 6 ;s ;s ;s col: defer: 6 0 0 6 ;s ;s ;s col: col: dup 6 0 0 6 ;s ! ;s ;s ;s does: 6 0 0 6 2@ drop = ;s ?branch branch 6 0 0 6 +! ;s ;s ;s col: defer: 5 5 0 0 unloop 2drop ;s ;s ;s col: 5 5 0 0 nip nip execute col: over col: 5 5 0 0 nip nip execute col: over 5 5 0 0 nip nip execute col: col: 0= 5 5 0 0 nip execute col: over col: ;s 5 5 0 0 nip execute col: over col: 5 5 0 0 nip execute col: over 5 5 0 0 nip execute col: col: 0= ?branch 5 5 0 0 nip execute col: col: 0= 5 5 0 0 execute col: over col: ;s @ 5 5 0 0 execute col: over col: ;s 5 5 0 0 execute col: over col: 5 5 0 0 execute col: over 5 5 0 0 execute col: col: col: lit col: 5 5 0 0 execute col: col: 0= ?branch 5 5 0 0 execute col: col: 0= 5 5 0 0 col: col: col: lit col: dup 5 5 0 0 col: col: col: lit col: 5 5 0 0 col: col: 0= ?branch 5 5 0 0 col: col: 0= 5 5 0 0 col: ;s ;s ;s branch col: 5 5 0 0 col: ;s ;s ;s branch 5 5 0 0 col: ;s ;s ;s 5 5 0 0 @ 2dup u> 0= ?branch var: 5 5 0 0 ?branch nip nip execute col: over 5 5 0 0 2drop ;s ;s ;s col: 5 4 1 0 cr ;s ;s branch col: sp@ 5 4 1 0 cr ;s ;s branch col: 5 4 1 0 cr ;s ;s branch 5 4 0 1 var: ! ;s ;s r> col: 5 4 0 1 var: ! ;s ;s r> 5 4 0 1 @ var: ! ;s ;s r> 5 4 0 1 ! ;s ;s r> col: >r 5 4 0 1 ! ;s ;s r> col: 5 3 2 0 ?branch ;s branch ;s 5 3 1 1 swap ! ;s col: col: var: 5 2 3 0 lit (?do) col: dup 5 2 3 0 lit (?do) col: 5 2 3 0 (?do) col: dup 5 2 3 0 (?do) col: 5 2 2 1 nip nip execute col: lit user: 5 2 2 1 nip execute col: lit user: ! 5 2 2 1 nip execute col: lit user: 5 2 2 1 execute col: lit user: ! 5 2 2 1 execute col: lit user: 5 2 0 3 nip nip execute 1- ;s branch 5 2 0 3 nip nip execute 1- ;s 5 2 0 3 nip nip execute 1- 5 2 0 3 nip execute 1- ;s branch col: 5 2 0 3 nip execute 1- ;s branch 5 2 0 3 nip execute 1- ;s 5 2 0 3 nip execute 1- 5 2 0 3 nip 0<> ;s 5 2 0 3 nip 0<> 5 2 0 3 execute 1- ;s branch col: sp@ 5 2 0 3 execute 1- ;s branch col: 5 2 0 3 execute 1- ;s branch 5 2 0 3 execute 1- ;s 5 2 0 3 execute 1- 5 2 0 3 dup ?branch ;s nip 0<> ;s 5 2 0 3 dup ?branch ;s nip 0<> 5 2 0 3 dup ?branch ;s nip 5 2 0 3 and ?branch nip nip execute 1- 5 2 0 3 ?branch nip nip execute 1- ;s 5 2 0 3 ?branch nip nip execute 1- 5 2 0 3 ?branch ;s nip 0<> ;s 5 2 0 3 ?branch ;s nip 0<> 5 2 0 3 ?branch ;s nip 5 2 0 3 ?branch ;s ;s dup ?branch ;s 5 2 0 3 ;s nip 0<> ;s 5 2 0 3 ;s nip 0<> 5 2 0 3 ;s dup ?branch ;s nip 0<> 5 2 0 3 ;s dup ?branch ;s nip 5 2 0 3 ;s ;s dup ?branch ;s nip 5 2 0 3 1- ;s branch col: sp@ user: 5 2 0 3 1- ;s branch col: sp@ 5 2 0 3 1- ;s branch col: 5 2 0 3 1- ;s branch 5 2 0 3 0<> ;s 5 1 4 0 lit or 5 1 3 1 con: ! ;s branch col: var: 5 1 3 1 con: ! ;s branch col: 5 1 3 1 con: ! ;s branch 5 1 3 1 ;s con: ! ;s branch col: 5 1 3 1 ;s con: ! ;s branch 5 1 3 1 ;s ;s con: ! ;s branch 5 1 3 1 (+loop) i col: cells var: @ 5 1 3 1 (+loop) i col: cells var: 5 1 3 1 (+loop) i col: cells 5 1 3 1 ! ;s branch col: var: @ 5 1 3 1 ! ;s branch col: var: 5 1 0 4 var: var: ! ;s ;s branch 5 1 0 4 nip execute col: 0= ?branch var: 5 1 0 4 execute col: 0= ?branch var: col: 5 1 0 4 execute col: 0= ?branch var: 5 0 5 0 var: col: >l >l @local0 ?branch 5 0 5 0 var: col: >l >l @local0 5 0 5 0 var: col: >l >l 5 0 5 0 var: col: >l 5 0 5 0 var: <= ?branch drop lit lit 5 0 5 0 var: <= ?branch drop lit 5 0 5 0 var: <= ?branch drop 5 0 5 0 user: @ ?branch col: col: col: 5 0 5 0 nip nip execute does: 2@ ;s 5 0 5 0 nip nip execute does: 2@ 5 0 5 0 nip execute does: 2@ ;s ;s 5 0 5 0 nip execute does: 2@ ;s 5 0 5 0 nip execute does: 2@ 5 0 5 0 lp- @local2 @local1 field: 5 0 5 0 lp- @local2 @local1 5 0 5 0 lp- @local2 5 0 5 0 lp- @local1 ?branch lp+2 ;s col: 5 0 5 0 lp- @local1 ?branch lp+2 ;s @local1 5 0 5 0 lp- @local1 ?branch lp+!# ;s lp+ 5 0 5 0 lp+2 ;s lit <> ?branch @local1 5 0 5 0 lp+2 ;s @local1 lit col: >l 5 0 5 0 lp+2 ;s @local1 lit col: 5 0 5 0 lp+2 ;s @local1 lit 5 0 5 0 lp+!# ;s lp+ ;s dup @local1 5 0 5 0 lp+!# ;s lp+ ;s dup 5 0 5 0 lp+ ;s var: @ 5 0 5 0 lp+ ;s dup 0= ?branch execute 5 0 5 0 lp+ ;s dup 0= ?branch 5 0 5 0 lp+ ;s dup 0= 5 0 5 0 lit lit lit ;s over r@ 5 0 5 0 lit lit lit ;s over 5 0 5 0 lit lit ;s over r@ u>= 5 0 5 0 lit lit ;s over r@ 5 0 5 0 lit lit ;s over 5 0 5 0 lit col: >l >l @local0 @local1 5 0 5 0 lit <> ?branch @local1 col: >l 5 0 5 0 lit <> ?branch @local1 col: 5 0 5 0 lit <> ?branch @local1 5 0 5 0 lit ;s over r@ u>= ?branch 5 0 5 0 lit ;s over r@ u>= 5 0 5 0 lit ;s over r@ 5 0 5 0 lit ;s over 5 0 5 0 field: @ 0<> ?branch @local1 @local1 5 0 5 0 field: @ 0<> ?branch @local1 5 0 5 0 field: 2@ col: >l >l @local0 5 0 5 0 field: 2@ col: >l >l 5 0 5 0 field: 2@ col: >l 5 0 5 0 field: 2@ col: 5 0 5 0 field: 2@ 5 0 5 0 f! ;s ;s ;s ;s branch 5 0 5 0 f! ;s ;s ;s ;s 5 0 5 0 f! ;s ;s ;s 5 0 5 0 f! ;s ;s 5 0 5 0 execute var: col: >l >l @local0 5 0 5 0 execute var: col: >l >l 5 0 5 0 execute var: col: >l 5 0 5 0 execute var: col: 5 0 5 0 execute does: 2@ ;s ;s branch 5 0 5 0 execute does: 2@ ;s ;s 5 0 5 0 dup var: <= ?branch drop lit 5 0 5 0 dup var: <= ?branch drop 5 0 5 0 dup ?branch drop defer: col: 2dup 5 0 5 0 dup ?branch drop defer: col: 5 0 5 0 dup ?branch drop defer: 5 0 5 0 dup 0= ?branch execute var: col: 5 0 5 0 dup 0= ?branch execute var: 5 0 5 0 dup 0= ?branch execute 5 0 5 0 drop lit lit lit ;s over 5 0 5 0 drop lit lit lit ;s 5 0 5 0 drop lit lit lit 5 0 5 0 drop lit lit 5 0 5 0 drop defer: col: 2dup lit col: 5 0 5 0 drop defer: col: 2dup lit 5 0 5 0 drop defer: col: 2dup 5 0 5 0 drop defer: col: 5 0 5 0 drop defer: 5 0 5 0 drop + >r ;s @local1 lit 5 0 5 0 does: 2@ ;s ;s branch col: 5 0 5 0 does: 2@ ;s ;s branch 5 0 5 0 does: 2@ ;s ;s 5 0 5 0 con: ;s dup ?branch drop defer: 5 0 5 0 con: ;s dup ?branch drop 5 0 5 0 con: ! ;s (loop) 5 0 5 0 col: >l >l @local0 @local1 lit 5 0 5 0 col: >l >l @local0 @local1 con: 5 0 5 0 and ?branch ;s ;s 0= ?branch 5 0 5 0 @local3 @local1 field: 5 0 5 0 @local2 @local1 field: 5 0 5 0 @local1 field: @ 0<> ?branch @local1 5 0 5 0 @local1 field: 2@ col: >l >l 5 0 5 0 @local1 field: 2@ col: >l 5 0 5 0 @local1 field: 2@ col: 5 0 5 0 @local1 field: 2@ 5 0 5 0 @local1 con: col: col: dup field: 5 0 5 0 @local1 con: col: col: dup 5 0 5 0 @local1 con: col: col: 5 0 5 0 @local1 @local1 field: 2@ col: >l 5 0 5 0 @local1 @local1 field: 2@ col: 5 0 5 0 @local1 @local1 field: 2@ 5 0 5 0 @local1 ?branch lp+2 ;s col: 5 0 5 0 @local1 ?branch lp+2 ;s @local1 lit 5 0 5 0 @local1 ?branch lp+2 ;s @local1 5 0 5 0 @local1 ?branch lp+!# ;s lp+ ;s 5 0 5 0 @local1 ?branch lp+!# ;s lp+ 5 0 5 0 @local0 @local1 lit col: >l >l 5 0 5 0 @local0 @local1 lit col: >l 5 0 5 0 @local0 @local1 lit col: 5 0 5 0 @local0 @local1 lit 5 0 5 0 @local0 @local1 con: col: col: dup 5 0 5 0 @local0 @local1 con: col: col: 5 0 5 0 @local0 @local1 con: col: 5 0 5 0 @local0 @local1 con: 5 0 5 0 @ dup var: <= ?branch drop 5 0 5 0 @ 0<> ?branch @local1 @local1 field: 5 0 5 0 @ 0<> ?branch @local1 @local1 5 0 5 0 @ 0<> ?branch @local1 5 0 5 0 ?branch nip nip execute does: 2@ 5 0 5 0 ?branch lp+2 ;s col: 5 0 5 0 ?branch lp+2 ;s @local1 lit col: 5 0 5 0 ?branch lp+2 ;s @local1 lit 5 0 5 0 ?branch lp+2 ;s @local1 5 0 5 0 ?branch lp+!# ;s lp+ ;s 5 0 5 0 ?branch lp+!# ;s lp+ 5 0 5 0 ?branch lp+ ;s dup 0= ?branch 5 0 5 0 ?branch lp+ ;s dup 0= 5 0 5 0 ?branch lp+ ;s dup 5 0 5 0 ?branch execute var: col: >l >l 5 0 5 0 ?branch execute var: col: >l 5 0 5 0 ?branch execute var: col: 5 0 5 0 ?branch drop lit lit lit ;s 5 0 5 0 ?branch drop lit lit lit 5 0 5 0 ?branch drop lit lit 5 0 5 0 ?branch drop defer: col: 2dup lit 5 0 5 0 ?branch drop defer: col: 2dup 5 0 5 0 ?branch drop defer: col: 5 0 5 0 ?branch drop defer: 5 0 5 0 ?branch @local1 col: >l lp- col: 5 0 5 0 ?branch @local1 @local1 field: 2@ col: 5 0 5 0 ?branch @local1 @local1 field: 2@ 5 0 5 0 ?branch @local1 @local1 field: 5 0 5 0 ?branch ;s ;s 0= ?branch lp+ 5 0 5 0 ?branch ;s ;s 0= ?branch 5 0 5 0 ?branch 2drop user: @ ?branch col: 5 0 5 0 >r ;s @local1 lit col: >l 5 0 5 0 >r ;s @local1 lit col: 5 0 5 0 >r ;s @local1 lit 5 0 5 0 >l lp- @local2 @local1 field: 5 0 5 0 >l lp- @local2 @local1 5 0 5 0 >l lp- @local2 5 0 5 0 >l @local0 @local1 lit col: >l 5 0 5 0 >l @local0 @local1 lit col: 5 0 5 0 >l @local0 @local1 lit 5 0 5 0 >l @local0 @local1 con: col: col: 5 0 5 0 >l @local0 @local1 con: col: 5 0 5 0 >l @local0 @local1 con: 5 0 5 0 >l >l @local0 @local1 lit col: 5 0 5 0 >l >l @local0 @local1 lit 5 0 5 0 >l >l @local0 @local1 con: col: 5 0 5 0 >l >l @local0 @local1 con: 5 0 5 0 <> ?branch @local1 col: >l lp- 5 0 5 0 <> ?branch @local1 col: >l 5 0 5 0 <> ?branch @local1 col: 5 0 5 0 <= ?branch drop lit lit lit 5 0 5 0 <= ?branch drop lit lit 5 0 5 0 <= ?branch drop lit 5 0 5 0 <= ?branch drop 5 0 5 0 ;s lp+2 ;s ;s branch col: 5 0 5 0 ;s lp+2 ;s ;s branch 5 0 5 0 ;s lp+!# ;s lp+ ;s dup 5 0 5 0 ;s lp+ ;s dup @local1 i 5 0 5 0 ;s lp+ ;s dup @local1 5 0 5 0 ;s lp+ ;s dup 5 0 5 0 ;s lit <> ?branch @local1 col: 5 0 5 0 ;s lit <> ?branch @local1 5 0 5 0 ;s f! ;s ;s ;s ;s 5 0 5 0 ;s f! ;s ;s ;s 5 0 5 0 ;s f! ;s ;s 5 0 5 0 ;s dup ?branch drop defer: col: 5 0 5 0 ;s dup ?branch drop defer: 5 0 5 0 ;s dup 0= ?branch execute var: 5 0 5 0 ;s dup 0= ?branch execute 5 0 5 0 ;s con: ! ;s (loop) 5 0 5 0 ;s col: r@ defer: col: cr 5 0 5 0 ;s col: r@ defer: col: 5 0 5 0 ;s col: r@ defer: 5 0 5 0 ;s col: r@ 5 0 5 0 ;s branch ;s ;s r> ;s 5 0 5 0 ;s branch ;s ;s r> 5 0 5 0 ;s >l lp- @local2 @local1 field: 5 0 5 0 ;s >l lp- @local2 @local1 5 0 5 0 ;s >l lp- @local2 5 0 5 0 ;s ;s con: ! ;s (loop) 5 0 5 0 ;s ;s 0= ?branch lp+ ;s 5 0 5 0 ;s ;s 0= ?branch lp+ 5 0 5 0 ;s 0= ?branch lp+ ;s dup 5 0 5 0 ;s 0= ?branch lp+ ;s 5 0 5 0 ;s 0= ?branch lp+ 5 0 5 0 ;s +! ;s f! ;s ;s 5 0 5 0 2drop user: @ ?branch col: col: 5 0 5 0 2drop user: @ ?branch col: 5 0 5 0 2drop con: ;s dup ?branch drop 5 0 5 0 2@ col: >l >l @local0 @local1 5 0 5 0 2@ col: >l >l @local0 5 0 5 0 2@ col: >l >l 5 0 5 0 2@ col: >l 5 0 5 0 2@ ;s ;s branch col: sp@ 5 0 5 0 2@ ;s ;s branch col: 5 0 5 0 2@ ;s ;s branch 5 0 5 0 2@ ;s ;s 5 0 5 0 0= ?branch lp+ ;s dup 0= 5 0 5 0 0= ?branch lp+ ;s dup 5 0 5 0 0= ?branch lp+ ;s 5 0 5 0 0= ?branch lp+ 5 0 5 0 0= ?branch execute var: col: >l 5 0 5 0 0= ?branch execute var: col: 5 0 5 0 0= ?branch execute var: 5 0 5 0 0= ?branch execute 5 0 5 0 0<> ?branch @local1 @local1 field: 2@ 5 0 5 0 0<> ?branch @local1 @local1 field: 5 0 5 0 0<> ?branch @local1 @local1 5 0 5 0 0<> ?branch @local1 5 0 5 0 +! ;s f! ;s ;s ;s 5 0 5 0 +! ;s f! ;s ;s 5 0 5 0 + >r ;s @local1 lit col: 5 0 5 0 + >r ;s @local1 lit 5 0 5 0 ! ;s lp+2 ;s ;s branch 5 0 5 0 ! ;s branch ;s ;s r> 5 0 0 5 unloop ;s swap col: col: col: 5 0 0 5 unloop ;s swap col: col: 5 0 0 5 unloop ;s swap col: 5 0 0 5 unloop ;s swap 5 0 0 5 swap ! ;s ;s ;s does: 5 0 0 5 noop ;s col: does: @ col: 5 0 0 5 noop ;s col: does: @ 5 0 0 5 noop ;s col: does: 5 0 0 5 execute col: dup does: @ col: 5 0 0 5 execute col: dup does: @ 5 0 0 5 execute col: dup does: 5 0 0 5 drop = ;s ?branch col: col: 5 0 0 5 drop = ;s ?branch col: 5 0 0 5 defer: noop ;s col: does: @ 5 0 0 5 defer: noop ;s col: does: 5 0 0 5 col: dup does: @ col: var: 5 0 0 5 col: dup does: @ col: 5 0 0 5 c@ ?branch con: does: @ col: 5 0 0 5 c@ ?branch con: does: @ 5 0 0 5 c@ ?branch con: does: 5 0 0 5 c@ ?branch con: 5 0 0 5 c@ ?branch 5 0 0 5 c! col: does: @ col: var: 5 0 0 5 c! col: does: @ col: 5 0 0 5 c! col: does: @ 5 0 0 5 c! col: does: 5 0 0 5 c! ;s (loop) unloop ;s swap 5 0 0 5 @ execute col: dup does: @ 5 0 0 5 @ execute col: dup does: 5 0 0 5 @ execute col: dup 5 0 0 5 ;s drop ;s ;s branch col: 5 0 0 5 ;s drop ;s ;s branch 5 0 0 5 ;s defer: noop ;s col: does: 5 0 0 5 ;s col: col: lit user: ! 5 0 0 5 ;s col: col: lit user: 5 0 0 5 ;s c@ ?branch con: does: @ 5 0 0 5 ;s c@ ?branch con: does: 5 0 0 5 ;s c@ ?branch con: 5 0 0 5 ;s c@ ?branch 5 0 0 5 ;s c! col: does: @ col: 5 0 0 5 ;s c! col: does: @ 5 0 0 5 ;s c! col: does: 5 0 0 5 ;s ;s drop ;s ;s branch 5 0 0 5 ;s ;s con: col: col: col: 5 0 0 5 ;s ;s col: col: lit user: 5 0 0 5 ;s ;s col: col: lit 5 0 0 5 ;s ;s ;s col: col: lit 5 0 0 5 ;s ;s + ;s c@ ?branch 5 0 0 5 ;s ;s + ;s ! ;s 5 0 0 5 ;s 2! ;s ;s con: col: 5 0 0 5 ;s 2! ;s ;s con: 5 0 0 5 ;s + @ execute col: dup 5 0 0 5 ;s + ;s c@ ?branch con: 5 0 0 5 ;s + ;s c@ ?branch 5 0 0 5 ;s + ;s c! col: does: 5 0 0 5 ;s + ;s ! ;s ;s 5 0 0 5 ;s + ;s ! ;s 5 0 0 5 ;s (loop) unloop ;s swap col: 5 0 0 5 ;s (loop) unloop ;s swap 5 0 0 5 ;s ! ;s ;s drop ;s 5 0 0 5 ;s ! ;s ;s drop 5 0 0 5 2@ drop = ;s ?branch col: 5 0 0 5 2! ;s ;s con: col: col: 5 0 0 5 2! ;s ;s con: col: 5 0 0 5 2! ;s ;s con: 5 0 0 5 +! ;s 2! ;s ;s con: 5 0 0 5 +! ;s ! ;s ;s drop 5 0 0 5 + @ execute col: dup does: 5 0 0 5 + @ execute col: dup 5 0 0 5 + ;s c@ ?branch con: does: 5 0 0 5 + ;s c@ ?branch con: 5 0 0 5 + ;s c@ ?branch 5 0 0 5 + ;s c! col: does: @ 5 0 0 5 + ;s c! col: does: 5 0 0 5 (loop) unloop ;s swap col: col: 5 0 0 5 (loop) unloop ;s swap col: 5 0 0 5 (loop) unloop ;s swap 5 0 0 5 ! ;s ;s drop ;s ;s 5 0 0 5 ! ;s ;s drop ;s 5 0 0 5 ! ;s ;s ;s col: var: 4 4 0 0 unloop d>s ;s ;s ;s 4 4 0 0 nip nip execute col: dup ;s 4 4 0 0 nip nip execute col: = ;s 4 4 0 0 nip nip execute col: = 4 4 0 0 nip nip execute col: - ;s 4 4 0 0 nip nip execute col: - 4 4 0 0 nip execute col: dup ;s ;s 4 4 0 0 nip execute col: dup ;s 4 4 0 0 nip execute col: = ;s ;s 4 4 0 0 nip execute col: = ;s 4 4 0 0 nip execute col: = 4 4 0 0 nip execute col: - ;s ;s 4 4 0 0 nip execute col: - ;s 4 4 0 0 nip execute col: - 4 4 0 0 execute col: dup ;s ;s branch 4 4 0 0 execute col: dup ;s ;s 4 4 0 0 execute col: dup ;s 4 4 0 0 execute col: col: 0= ?branch var: 4 4 0 0 execute col: = ;s ;s branch 4 4 0 0 execute col: = ;s ;s 4 4 0 0 execute col: = ;s 4 4 0 0 execute col: = 4 4 0 0 execute col: - ;s ;s branch 4 4 0 0 execute col: - ;s ;s 4 4 0 0 execute col: - ;s 4 4 0 0 execute col: - 4 4 0 0 dup ;s ;s branch col: sp@ 4 4 0 0 dup ;s ;s branch col: 4 4 0 0 dup ;s ;s branch 4 4 0 0 dup ;s ;s 4 4 0 0 d>s ;s ;s ;s 4 4 0 0 col: dup ;s ;s branch col: 4 4 0 0 col: dup ;s ;s branch 4 4 0 0 col: dup ;s ;s 4 4 0 0 col: col: 0= ?branch var: col: 4 4 0 0 col: col: 0= ?branch var: 4 4 0 0 col: = ;s ;s branch col: 4 4 0 0 col: = ;s ;s branch 4 4 0 0 col: = ;s ;s 4 4 0 0 col: = ;s 4 4 0 0 col: - ;s ;s branch col: 4 4 0 0 col: - ;s ;s branch 4 4 0 0 col: - ;s ;s 4 4 0 0 col: - ;s 4 4 0 0 col: - 4 4 0 0 cell+ ! branch ;s ;s col: 4 4 0 0 @ ;s ;s ;s branch col: 4 4 0 0 ?branch nip nip execute col: = 4 4 0 0 ?branch nip nip execute col: - 4 4 0 0 = ;s ;s branch col: sp@ 4 4 0 0 = ;s ;s branch col: 4 4 0 0 = ;s ;s branch 4 4 0 0 = ;s ;s 4 4 0 0 ;s (loop) unloop ;s col: ;s 4 4 0 0 - ;s ;s branch col: sp@ 4 4 0 0 - ;s ;s branch col: 4 4 0 0 - ;s ;s branch 4 4 0 0 - ;s ;s 4 4 0 0 (loop) unloop ;s col: ;s var: 4 4 0 0 (loop) unloop ;s col: ;s 4 4 0 0 (+loop) unloop d>s ;s ;s ;s 4 3 0 1 nip nip execute + ;s branch 4 3 0 1 nip nip execute + ;s 4 3 0 1 nip nip execute + 4 3 0 1 nip execute + ;s branch col: 4 3 0 1 nip execute + ;s branch 4 3 0 1 nip execute + ;s 4 3 0 1 nip execute + 4 3 0 1 execute + ;s branch col: sp@ 4 3 0 1 execute + ;s branch col: 4 3 0 1 execute + ;s branch 4 3 0 1 execute + ;s 4 3 0 1 execute + 4 3 0 1 and ?branch nip nip execute + 4 3 0 1 ?branch nip nip execute + ;s 4 3 0 1 ?branch nip nip execute + 4 3 0 1 + ;s branch col: sp@ user: 4 3 0 1 + ;s branch col: sp@ 4 3 0 1 + ;s branch col: 4 3 0 1 + ;s branch 4 2 0 2 swap >r ;s count ;s compare 4 2 0 2 i 1+ 4 2 0 2 count ;s compare 0= 4 2 0 2 count ;s compare 4 2 0 2 col: 0= ?branch ;s ;s ;s 4 2 0 2 ?branch i 1+ 4 2 0 2 >r ;s count ;s compare 0= 4 2 0 2 >r ;s count ;s compare 4 2 0 2 ;s count ;s compare 0= 4 2 0 2 ;s count ;s compare 4 2 0 2 ;s compare 0= 4 2 0 2 ;s compare 4 2 0 2 2dup col: col: r> r> dup 4 2 0 2 2dup col: col: r> r> 4 2 0 2 2dup col: col: r> 4 1 2 1 ;s var: ! ;s ;s branch 4 1 0 3 ;s ;s ;s col: con: 4 0 4 0 var: @ col: >l lp- col: 4 0 4 0 swap ! ;s lp+2 ;s @local0 4 0 4 0 or branch ;s ;s branch col: 4 0 4 0 or branch ;s ;s branch 4 0 4 0 or branch ;s ;s 4 0 4 0 or branch ;s 4 0 4 0 or branch 4 0 4 0 nip nip execute col: col: >l 4 0 4 0 nip execute col: col: >l 4 0 4 0 lp- @local2 @local1 field: col: >l 4 0 4 0 lp- @local2 @local1 field: col: 4 0 4 0 lp+2 ;s lit > ?branch @local1 4 0 4 0 lp+2 ;s lit > ?branch @local0 4 0 4 0 lp+2 ;s @local0 field: col: con: 4 0 4 0 lp+2 ;s @local0 field: col: 4 0 4 0 lp+2 ;s @local0 field: 4 0 4 0 lp+2 ;s @local0 4 0 4 0 lp+!# ;s lp+ ;s @local0 field: 4 0 4 0 lp+!# ;s lp+ ;s @local0 4 0 4 0 lp+!# ;s @local3 @local1 @local2 field: 4 0 4 0 lp+!# ;s @local3 @local1 @local2 4 0 4 0 lp+!# ;s @local3 @local1 4 0 4 0 lp+!# ;s @local3 4 0 4 0 lp+!# ;s @local2 field: @ @local1 4 0 4 0 lp+!# ;s @local2 field: @ 4 0 4 0 lp+!# ;s @local2 field: 4 0 4 0 lp+!# ;s @local2 4 0 4 0 lp+ ;s var: @ col: >l 4 0 4 0 lp+ ;s var: @ col: 4 0 4 0 lp+ ;s @local3 @local1 field: col: 4 0 4 0 lp+ ;s @local3 @local1 field: 4 0 4 0 lp+ ;s @local3 @local1 4 0 4 0 lp+ ;s @local2 @local1 @local3 field: 4 0 4 0 lp+ ;s @local2 @local1 @local3 4 0 4 0 lp+ ;s @local2 @local1 4 0 4 0 lp+ ;s >l lp- @local2 @local1 4 0 4 0 lp+ ;s >l lp- @local2 4 0 4 0 lit or branch ;s ;s branch 4 0 4 0 lit or branch ;s ;s 4 0 4 0 lit or branch ;s 4 0 4 0 lit or branch 4 0 4 0 lit > ?branch lp+ ;s lp+ 4 0 4 0 lit > ?branch @local1 field: @ 4 0 4 0 lit > ?branch @local1 field: 4 0 4 0 lit > ?branch @local1 4 0 4 0 lit > ?branch @local0 @local1 col: 4 0 4 0 lit > ?branch @local0 @local1 4 0 4 0 lit > ?branch @local0 4 0 4 0 lit = ?branch >does-code lit or 4 0 4 0 lit = ?branch >does-code lit 4 0 4 0 lit = ?branch >does-code 4 0 4 0 field: @ ?branch @local1 field: @ 4 0 4 0 field: @ ?branch @local1 field: 4 0 4 0 field: 2! @local1 lp+ ;s >l 4 0 4 0 execute col: col: >l 4 0 4 0 dup >code-address lit = ?branch >does-code 4 0 4 0 drop lp+!# ;s @local3 @local1 @local2 4 0 4 0 drop lp+!# ;s @local3 @local1 4 0 4 0 drop lp+!# ;s @local3 4 0 4 0 drop lp+!# ;s @local2 field: @ 4 0 4 0 drop lp+!# ;s @local2 field: 4 0 4 0 drop lp+!# ;s @local2 4 0 4 0 drop branch ;s (loop) col: dup 4 0 4 0 drop branch ;s (loop) col: 4 0 4 0 drop + >r ;s lp+2 ;s 4 0 4 0 drop + >r ;s lp+2 4 0 4 0 drop + >r ;s @local3 field: 4 0 4 0 drop + >r ;s @local3 4 0 4 0 con: ! ;s (loop) col: dup 4 0 4 0 con: ! ;s (loop) col: 4 0 4 0 col: >l >l col: does: 2@ 4 0 4 0 col: >l >l col: does: 4 0 4 0 branch col: col: user: @ ;s 4 0 4 0 branch col: col: user: @ 4 0 4 0 branch col: col: user: 4 0 4 0 branch col: col: 4 0 4 0 branch ;s (loop) col: dup col: 4 0 4 0 branch ;s (loop) col: dup 4 0 4 0 branch ;s (loop) col: 4 0 4 0 branch 2dup u< ?branch @ branch 4 0 4 0 branch 2dup u< ?branch @ 4 0 4 0 @local3 field: @ col: >l >l 4 0 4 0 @local3 field: @ col: >l 4 0 4 0 @local3 field: @ col: 4 0 4 0 @local3 field: @ @local1 col: >l 4 0 4 0 @local3 field: @ @local1 col: 4 0 4 0 @local3 field: @ @local1 4 0 4 0 @local3 col: >l >l >l >l 4 0 4 0 @local3 @local1 field: col: >l >l 4 0 4 0 @local3 @local1 field: col: >l 4 0 4 0 @local3 @local1 field: col: 4 0 4 0 @local3 @local1 @local2 field: @ col: 4 0 4 0 @local3 @local1 @local2 field: @ 4 0 4 0 @local3 @local1 @local2 field: 4 0 4 0 @local3 @local1 @local2 4 0 4 0 @local2 field: @ col: >l >l 4 0 4 0 @local2 field: @ col: >l 4 0 4 0 @local2 field: @ col: 4 0 4 0 @local2 field: @ @local1 col: >l 4 0 4 0 @local2 field: @ @local1 col: 4 0 4 0 @local2 field: @ @local1 4 0 4 0 @local2 @local1 field: col: >l >l 4 0 4 0 @local2 @local1 field: col: >l 4 0 4 0 @local2 @local1 field: col: 4 0 4 0 @local2 @local1 @local3 field: @ col: 4 0 4 0 @local2 @local1 @local3 field: @ 4 0 4 0 @local2 @local1 @local3 field: 4 0 4 0 @local2 @local1 @local3 4 0 4 0 @local1 lp+ ;s >l lp- @local2 4 0 4 0 @local1 lp+ ;s >l lp- 4 0 4 0 @local1 lp+ ;s >l 4 0 4 0 @local1 field: @ ?branch @local1 field: 4 0 4 0 @local1 col: >l >l col: does: 4 0 4 0 @local1 col: >l >l col: 4 0 4 0 @local1 @local3 field: @ col: >l 4 0 4 0 @local1 @local3 field: @ col: 4 0 4 0 @local1 @local3 field: @ 4 0 4 0 @local1 @local3 field: 4 0 4 0 @local1 @local2 field: @ col: >l 4 0 4 0 @local1 @local2 field: @ col: 4 0 4 0 @local1 @local2 field: @ 4 0 4 0 @local1 @local2 field: 4 0 4 0 @local1 @local2 @local3 col: >l >l 4 0 4 0 @local1 @local2 @local3 col: >l 4 0 4 0 @local1 @local2 @local3 col: 4 0 4 0 @local1 @local2 @local3 4 0 4 0 @local1 ! lp+ ;s @local3 @local1 4 0 4 0 @local1 ! lp+ ;s @local3 4 0 4 0 @local1 ! lp+ ;s @local2 @local1 4 0 4 0 @local1 ! lp+ ;s @local2 4 0 4 0 @local1 ! drop lp+!# ;s @local3 4 0 4 0 @local1 ! drop lp+!# ;s @local2 4 0 4 0 @local0 @local1 col: >l >l col: 4 0 4 0 @local0 @local1 @local2 @local3 col: >l 4 0 4 0 @local0 @local1 @local2 @local3 col: 4 0 4 0 @local0 @local1 @local2 @local3 4 0 4 0 @local0 @local1 @local2 4 0 4 0 @ col: >l lp- col: 4 0 4 0 @ branch 2dup u< ?branch @ 4 0 4 0 @ ?branch @local1 field: @ 0<> 4 0 4 0 @ ?branch @local1 field: @ 4 0 4 0 ?branch @local1 field: @ @local1 lit 4 0 4 0 ?branch @local1 field: @ 0<> ?branch 4 0 4 0 ?branch @local1 field: @ 0<> 4 0 4 0 ?branch >does-code lit or branch ;s 4 0 4 0 ?branch >does-code lit or branch 4 0 4 0 ?branch >does-code lit or 4 0 4 0 ?branch >does-code lit 4 0 4 0 ?branch >does-code 4 0 4 0 >r ;s lp+2 ;s lp+ ;s 4 0 4 0 >r ;s lp+2 ;s lp+ 4 0 4 0 >r ;s lp+2 ;s 4 0 4 0 >r ;s lp+2 4 0 4 0 >r ;s @local3 field: @ @local1 4 0 4 0 >r ;s @local3 field: @ 4 0 4 0 >r ;s @local3 field: 4 0 4 0 >r ;s @local3 4 0 4 0 >l lp- @local2 @local1 field: col: 4 0 4 0 >l col: does: 2@ ;s col: 4 0 4 0 >l col: does: 2@ ;s 4 0 4 0 >l col: does: 2@ 4 0 4 0 >l col: does: 4 0 4 0 >l @local0 @local1 @local2 @local3 col: 4 0 4 0 >l @local0 @local1 @local2 @local3 4 0 4 0 >l @local0 @local1 @local2 4 0 4 0 >l >l col: does: 2@ ;s 4 0 4 0 >l >l col: does: 2@ 4 0 4 0 >l >l col: does: 4 0 4 0 >l >l @local0 @local1 @local2 @local3 4 0 4 0 >l >l @local0 @local1 @local2 4 0 4 0 >l >l >l @local0 @local1 @local2 4 0 4 0 >does-code lit or branch ;s ;s 4 0 4 0 >does-code lit or branch ;s 4 0 4 0 >does-code lit or branch 4 0 4 0 >does-code lit or 4 0 4 0 >does-code lit 4 0 4 0 >does-code 4 0 4 0 >code-address lit = ?branch >does-code lit 4 0 4 0 >code-address lit = ?branch >does-code 4 0 4 0 >code-address ;s ;s branch col: sp@ 4 0 4 0 >code-address ;s ;s branch col: 4 0 4 0 >code-address ;s ;s branch 4 0 4 0 >code-address ;s ;s 4 0 4 0 > ?branch lp+ ;s lp+ branch 4 0 4 0 > ?branch lp+ ;s lp+ 4 0 4 0 > ?branch @local1 field: @ @local1 4 0 4 0 > ?branch @local1 field: @ 4 0 4 0 > ?branch @local1 field: 4 0 4 0 > ?branch @local1 4 0 4 0 > ?branch @local0 @local1 col: >l 4 0 4 0 > ?branch @local0 @local1 col: 4 0 4 0 > ?branch @local0 @local1 4 0 4 0 > ?branch @local0 4 0 4 0 = ?branch >does-code lit or branch 4 0 4 0 = ?branch >does-code lit or 4 0 4 0 = ?branch >does-code lit 4 0 4 0 = ?branch >does-code 4 0 4 0 ;s lp+2 ;s lp+ ;s lp+ 4 0 4 0 ;s lp+2 ;s @local0 field: col: 4 0 4 0 ;s lp+2 ;s @local0 field: 4 0 4 0 ;s lp+2 ;s @local0 4 0 4 0 ;s lp+!# ;s lp+ ;s @local0 4 0 4 0 ;s lp+ ;s @local0 field: ! 4 0 4 0 ;s lp+ ;s @local0 field: 4 0 4 0 ;s lit > ?branch @local1 field: 4 0 4 0 ;s lit > ?branch @local1 4 0 4 0 ;s lit > ?branch @local0 @local1 4 0 4 0 ;s lit > ?branch @local0 4 0 4 0 ;s drop branch ;s (loop) col: 4 0 4 0 ;s drop + >r ;s lp+2 4 0 4 0 ;s drop + >r ;s @local3 4 0 4 0 ;s con: ! ;s (loop) col: 4 0 4 0 ;s branch col: col: user: @ 4 0 4 0 ;s branch col: col: user: 4 0 4 0 ;s branch col: col: 4 0 4 0 ;s @local3 field: @ @local1 col: 4 0 4 0 ;s @local3 field: @ @local1 4 0 4 0 ;s @local3 field: @ 4 0 4 0 ;s @local3 field: 4 0 4 0 ;s @local3 @local1 field: col: >l 4 0 4 0 ;s @local3 @local1 field: col: 4 0 4 0 ;s @local3 @local1 field: 4 0 4 0 ;s @local3 @local1 @local2 field: @ 4 0 4 0 ;s @local3 @local1 @local2 field: 4 0 4 0 ;s @local3 @local1 @local2 4 0 4 0 ;s @local2 field: @ @local1 col: 4 0 4 0 ;s @local2 field: @ @local1 4 0 4 0 ;s @local2 field: @ 4 0 4 0 ;s @local2 field: 4 0 4 0 ;s @local2 @local1 @local3 field: @ 4 0 4 0 ;s @local2 @local1 @local3 field: 4 0 4 0 ;s @local2 @local1 @local3 4 0 4 0 ;s @local2 @local1 4 0 4 0 ;s @local1 ! lp+ ;s @local3 4 0 4 0 ;s @local1 ! lp+ ;s @local2 4 0 4 0 ;s @local0 field: col: con: swap 4 0 4 0 ;s @local0 field: col: con: 4 0 4 0 ;s @local0 field: col: 4 0 4 0 ;s ;s branch col: col: user: 4 0 4 0 ;s ;s branch col: col: 4 0 4 0 ;s ;s ;s branch col: col: 4 0 4 0 2! @local1 lp+ ;s >l lp- 4 0 4 0 2! @local1 lp+ ;s >l 4 0 4 0 + >r ;s lp+2 ;s lp+ 4 0 4 0 + >r ;s lp+2 ;s 4 0 4 0 + >r ;s lp+2 4 0 4 0 + >r ;s @local3 field: @ 4 0 4 0 + >r ;s @local3 field: 4 0 4 0 + >r ;s @local3 4 0 4 0 ! lp+ ;s @local3 @local1 field: 4 0 4 0 ! lp+ ;s @local3 @local1 4 0 4 0 ! lp+ ;s @local3 4 0 4 0 ! lp+ ;s @local2 @local1 @local3 4 0 4 0 ! lp+ ;s @local2 @local1 4 0 4 0 ! lp+ ;s @local2 4 0 4 0 ! drop lp+!# ;s @local3 @local1 4 0 4 0 ! drop lp+!# ;s @local3 4 0 4 0 ! drop lp+!# ;s @local2 field: 4 0 4 0 ! drop lp+!# ;s @local2 4 0 4 0 ! ;s lp+2 ;s @local0 field: 4 0 4 0 ! ;s lp+2 ;s @local0 4 0 4 0 ! ;s (loop) col: dup col: 4 0 4 0 ! ;s (loop) col: dup 4 0 4 0 ! ;s (loop) col: 4 0 3 1 lit branch (+loop) i col: cells 4 0 3 1 lit branch (+loop) i col: 4 0 3 1 lit branch (+loop) i 4 0 3 1 lit branch (+loop) 4 0 3 1 branch (+loop) i col: cells var: 4 0 3 1 branch (+loop) i col: cells 4 0 3 1 branch (+loop) i col: 4 0 3 1 branch (+loop) i 4 0 3 1 branch (+loop) 4 0 3 1 ?dup ?branch ;s ;s ;s lit 4 0 3 1 ?branch ;s ;s ;s lit branch 4 0 3 1 ?branch ;s ;s ;s lit 4 0 3 1 ;s lit branch (+loop) i col: 4 0 3 1 ;s lit branch (+loop) i 4 0 3 1 ;s lit branch (+loop) 4 0 3 1 ;s lit branch 4 0 3 1 ;s ;s lit branch (+loop) i 4 0 3 1 ;s ;s lit branch (+loop) 4 0 3 1 ;s ;s lit branch 4 0 3 1 ;s ;s ;s lit branch (+loop) 4 0 3 1 ;s ;s ;s lit branch 4 0 1 3 nip nip execute col: var: ! 4 0 1 3 nip execute col: var: ! ;s 4 0 1 3 nip execute col: var: ! 4 0 1 3 execute col: var: ! ;s ;s 4 0 1 3 execute col: var: ! ;s 4 0 1 3 execute col: var: ! 4 0 1 3 col: var: ! ;s ;s branch 4 0 0 4 var: col: col: dup field: @ 4 0 0 4 var: col: col: dup field: 4 0 0 4 var: col: col: dup 4 0 0 4 var: cell+ i cells + ! 4 0 0 4 unloop drop ;s swap 1+ rot 4 0 0 4 unloop drop ;s swap 1+ 4 0 0 4 swap drop branch ;s does: @ 4 0 0 4 swap drop branch ;s does: 4 0 0 4 swap 1+ rot (do) i over 4 0 0 4 swap 1+ rot (do) i 4 0 0 4 swap 1+ rot (do) 4 0 0 4 swap 1+ rot 4 0 0 4 swap ! ;s (loop) unloop ;s 4 0 0 4 swap ! ;s (loop) unloop 4 0 0 4 rot (do) i over col: swap 4 0 0 4 rot (do) i over col: 4 0 0 4 rot (do) i over 4 0 0 4 rot (do) i 4 0 0 4 rot (do) 4 0 0 4 r> ;s ;s ;s dup does: 4 0 0 4 r> ;s ;s ;s dup 4 0 0 4 or swap ! ;s ;s branch 4 0 0 4 or swap ! ;s (loop) unloop 4 0 0 4 nip nip execute col: swap col: 4 0 0 4 nip nip execute col: swap 4 0 0 4 nip nip execute 0= ;s branch 4 0 0 4 nip nip execute 0= ;s 4 0 0 4 nip nip execute 0= 4 0 0 4 nip execute col: swap col: con: 4 0 0 4 nip execute col: swap col: 4 0 0 4 nip execute col: swap 4 0 0 4 nip execute 0= ;s branch col: 4 0 0 4 nip execute 0= ;s branch 4 0 0 4 nip execute 0= ;s 4 0 0 4 nip execute 0= 4 0 0 4 i cells + ! (next) 4 0 0 4 i cells + ! 4 0 0 4 execute col: var: col: col: dup 4 0 0 4 execute col: swap col: con: /mod 4 0 0 4 execute col: swap col: con: 4 0 0 4 execute col: swap col: 4 0 0 4 execute col: swap 4 0 0 4 execute 0= ;s branch col: sp@ 4 0 0 4 execute 0= ;s branch col: 4 0 0 4 execute 0= ;s branch 4 0 0 4 execute 0= ;s 4 0 0 4 execute 0= 4 0 0 4 drop branch ;s does: @ col: 4 0 0 4 drop branch ;s does: @ 4 0 0 4 drop branch ;s does: 4 0 0 4 drop ;s swap 1+ rot (do) 4 0 0 4 drop ;s swap 1+ rot 4 0 0 4 drop ;s swap 1+ 4 0 0 4 con: branch ;s ;s branch col: 4 0 0 4 con: branch ;s ;s branch 4 0 0 4 con: branch ;s ;s 4 0 0 4 col: var: col: col: dup field: 4 0 0 4 col: var: col: col: dup 4 0 0 4 cells + ! (next) 4 0 0 4 cells + ! 4 0 0 4 cell+ i cells + ! (next) 4 0 0 4 cell+ i cells + ! 4 0 0 4 branch ;s does: @ col: var: 4 0 0 4 branch ;s does: @ col: 4 0 0 4 branch ;s does: @ 4 0 0 4 branch ;s does: 4 0 0 4 and ?branch nip nip execute 0= 4 0 0 4 ?branch swap drop branch ;s does: 4 0 0 4 ?branch nip nip execute col: swap 4 0 0 4 ?branch nip nip execute 0= ;s 4 0 0 4 ?branch nip nip execute 0= 4 0 0 4 ;s swap 1+ rot (do) i 4 0 0 4 ;s swap 1+ rot (do) 4 0 0 4 ;s swap 1+ rot 4 0 0 4 ;s swap 1+ 4 0 0 4 ;s ;s ;s dup does: @ 4 0 0 4 ;s ;s ;s dup does: 4 0 0 4 2drop r> ;s ;s ;s dup 4 0 0 4 1+ rot (do) i over col: 4 0 0 4 1+ rot (do) i over 4 0 0 4 1+ rot (do) i 4 0 0 4 1+ rot (do) 4 0 0 4 1+ rot 4 0 0 4 0= ;s branch col: sp@ user: 4 0 0 4 0= ;s branch col: sp@ 4 0 0 4 0= ;s branch col: 4 0 0 4 0= ;s branch 4 0 0 4 + ! (next) 4 0 0 4 (next) 4 0 0 4 (loop) unloop drop ;s swap 1+ 4 0 0 4 (do) i over col: swap col: 4 0 0 4 (do) i over col: swap 4 0 0 4 (do) i over col: 4 0 0 4 (do) i over 4 0 0 4 (do) i 4 0 0 4 ! (next) 3 3 0 0 var: @ tuck col: col: var: 3 3 0 0 var: @ tuck col: col: 3 3 0 0 var: @ tuck col: 3 3 0 0 var: @ tuck 3 3 0 0 var: @ ?branch ;s branch ;s 3 3 0 0 var: @ ?branch ;s branch 3 3 0 0 var: @ ?branch ;s 3 3 0 0 var: + c@ ;s ;s invert 3 3 0 0 unloop d>s ;s ;s ;s ;s 3 3 0 0 unloop 2drop ;s ;s col: con: 3 3 0 0 unloop 2drop ;s ;s col: 3 3 0 0 tuck col: col: var: @ + 3 3 0 0 tuck col: col: var: @ 3 3 0 0 tuck col: col: var: 3 3 0 0 tuck col: col: 3 3 0 0 tuck col: 3 3 0 0 r@ write-file col: ?dup ?branch ;s 3 3 0 0 r@ write-file col: ?dup ?branch 3 3 0 0 r@ write-file col: ?dup 3 3 0 0 r@ write-file col: 3 3 0 0 r@ write-file 3 3 0 0 over c@ and swap c! ;s 3 3 0 0 over c@ and swap c! 3 3 0 0 over c@ and swap 3 3 0 0 over c@ and 3 3 0 0 nip nip execute col: cr ;s 3 3 0 0 nip nip execute col: cr 3 3 0 0 nip nip execute col: col: ;s 3 3 0 0 nip execute col: cr ;s ;s 3 3 0 0 nip execute col: cr ;s 3 3 0 0 nip execute col: cr 3 3 0 0 nip execute col: col: ;s ;s 3 3 0 0 nip execute col: col: ;s 3 3 0 0 invert over c@ and swap c! 3 3 0 0 invert over c@ and swap 3 3 0 0 invert over c@ and 3 3 0 0 invert over c@ 3 3 0 0 invert over 3 3 0 0 execute col: cr ;s ;s branch 3 3 0 0 execute col: cr ;s ;s 3 3 0 0 execute col: cr ;s 3 3 0 0 execute col: cr 3 3 0 0 execute col: col: ;s ;s ;s 3 3 0 0 execute col: col: ;s ;s 3 3 0 0 execute col: col: ;s 3 3 0 0 d>s ;s ;s ;s ;s ;s 3 3 0 0 d>s ;s ;s ;s ;s 3 3 0 0 create-file 3 3 0 0 con: var: @ tuck col: col: 3 3 0 0 con: var: @ tuck col: 3 3 0 0 con: var: @ tuck 3 3 0 0 con: + ;s col: col: var: 3 3 0 0 con: + ;s col: col: 3 3 0 0 col: cr ;s ;s branch col: 3 3 0 0 col: cr ;s ;s branch 3 3 0 0 col: cr ;s ;s 3 3 0 0 col: cr ;s 3 3 0 0 col: con: var: @ tuck col: 3 3 0 0 col: con: var: @ tuck 3 3 0 0 col: con: var: @ 3 3 0 0 col: con: var: 3 3 0 0 col: con: + ;s col: col: 3 3 0 0 col: col: con: col: col: col: 3 3 0 0 col: col: ;s ;s ;s branch 3 3 0 0 col: col: ;s ;s ;s 3 3 0 0 col: col: ;s ;s 3 3 0 0 col: col: ;s 3 3 0 0 c@ and swap c! ;s ;s 3 3 0 0 c@ and swap c! ;s 3 3 0 0 c@ and swap c! 3 3 0 0 c@ and swap 3 3 0 0 c@ and 3 3 0 0 c@ ;s ;s invert over c@ 3 3 0 0 c@ ;s ;s invert over 3 3 0 0 c@ ;s ;s invert 3 3 0 0 and swap c! ;s ;s ;s 3 3 0 0 and swap c! ;s ;s 3 3 0 0 and swap c! ;s 3 3 0 0 and swap c! 3 3 0 0 and swap 3 3 0 0 @ tuck col: col: var: @ 3 3 0 0 @ tuck col: col: var: 3 3 0 0 @ tuck col: col: 3 3 0 0 @ tuck col: 3 3 0 0 @ ?branch ;s branch ;s user: 3 3 0 0 @ ?branch ;s branch ;s 3 3 0 0 @ ?branch ;s branch 3 3 0 0 @ ;s ;s col: con: var: 3 3 0 0 ?branch nip nip execute col: cr 3 3 0 0 ?branch ;s branch ;s user: @ 3 3 0 0 ?branch ;s branch ;s user: 3 3 0 0 ;s var: @ ?branch ;s branch 3 3 0 0 ;s var: @ ?branch ;s 3 3 0 0 ;s invert over c@ and swap 3 3 0 0 ;s invert over c@ and 3 3 0 0 ;s invert over c@ 3 3 0 0 ;s invert over 3 3 0 0 ;s invert 3 3 0 0 ;s col: con: var: @ tuck 3 3 0 0 ;s col: con: var: @ 3 3 0 0 ;s col: con: var: 3 3 0 0 ;s col: con: + ;s col: 3 3 0 0 ;s ;s invert over c@ and 3 3 0 0 ;s ;s invert over c@ 3 3 0 0 ;s ;s invert over 3 3 0 0 ;s ;s invert 3 3 0 0 ;s ;s col: con: var: @ 3 3 0 0 ;s ;s col: con: var: 3 3 0 0 ;s ;s col: con: + ;s 3 3 0 0 ;s ;s col: con: + 3 3 0 0 2drop ;s ;s col: con: + 3 3 0 0 2drop ;s ;s col: con: 3 3 0 0 2drop ;s ;s col: 3 3 0 0 2drop ;s ;s ;s col: sp@ 3 3 0 0 + c@ ;s ;s invert over 3 3 0 0 + c@ ;s ;s invert 3 3 0 0 + ;s col: col: var: @ 3 3 0 0 + ;s col: col: var: 3 3 0 0 + ;s col: col: 3 3 0 0 * ;s ;s branch col: sp@ 3 3 0 0 * ;s ;s branch col: 3 3 0 0 * ;s ;s branch 3 3 0 0 * ;s ;s 3 3 0 0 (loop) unloop 2drop ;s ;s col: 3 3 0 0 ! ;s var: @ ?branch ;s 3 1 2 0 close-file col: ?dup ?branch ;s 3 1 2 0 close-file col: ?dup ?branch 3 1 2 0 close-file col: ?dup 3 1 2 0 close-file col: 3 1 1 1 var: up! sp@ dup user: ! 3 1 1 1 var: up! sp@ dup user: 3 1 1 1 var: up! sp@ dup 3 1 1 1 var: up! sp@ 3 1 1 1 var: up! 3 1 1 1 var: @ lit > ?branch con: 3 1 1 1 var: @ lit > ?branch 3 1 1 1 var: @ lit > 3 1 1 1 var: @ lit (?do) i col: 3 1 1 1 var: @ lit (?do) i 3 1 1 1 var: @ dup @ ?branch dup 3 1 1 1 var: @ dup @ ?branch 3 1 1 1 var: @ dup @ 3 1 1 1 var: @ con: cells col: lit 3 1 1 1 var: @ con: cells col: 3 1 1 1 var: @ con: cells 3 1 1 1 var: @ 0= ?branch con: cells 3 1 1 1 var: @ 0= ?branch con: 3 1 1 1 var: 2@ nip var: 2! ;s 3 1 1 1 var: 2@ nip var: 2! 3 1 1 1 var: 2@ nip var: 3 1 1 1 var: 2@ lit (?do) unloop 2drop 3 1 1 1 var: 2@ lit (?do) unloop 3 1 1 1 var: 2@ col: col: col: col: 3 1 1 1 var: 2@ col: col: col: 3 1 1 1 var: 2@ col: col: 3 1 1 1 var: 2@ 2* cells col: swap 3 1 1 1 var: 2@ 2* cells col: 3 1 1 1 var: 2@ 2* cells 3 1 1 1 var: 2@ 2* 3 1 1 1 var: 2! var: up! sp@ dup 3 1 1 1 var: 2! var: up! sp@ 3 1 1 1 var: 2! var: up! 3 1 1 1 var: 2! col: var: 2@ 2* 3 1 1 1 var: 2! col: var: 2@ 3 1 1 1 var: 2! col: var: 3 1 1 1 var: 2! ;s defer: noop var: 3 1 1 1 var: 2! ;s defer: noop 3 1 1 1 var: 2! ;s defer: 3 1 1 1 var: ! var: @ con: cells 3 1 1 1 var: ! var: @ con: 3 1 1 1 var: ! var: ! col: lit 3 1 1 1 var: ! var: ! col: 3 1 1 1 var: ! var: ! 3 1 1 1 var: ! defer: drop ;s ;s 3 1 1 1 var: ! col: lit lit col: 3 1 1 1 var: ! col: lit lit 3 1 1 1 var: ! col: lit 3 1 1 1 user: @ >r var: @ lit 3 1 1 1 user: @ >r var: @ 3 1 1 1 user: @ >r var: 3 1 1 1 user: @ ;s @ ;s r> 3 1 1 1 user: ! lit + dup user: 3 1 1 1 user: ! lit + dup 3 1 1 1 user: ! lit + 3 1 1 1 user: ! fp@ user: ! col: 3 1 1 1 user: ! fp@ user: ! 3 1 1 1 user: ! fp@ user: 3 1 1 1 user: ! fp@ 3 1 1 1 user: ! execute col: user: @ 3 1 1 1 user: ! execute col: user: 3 1 1 1 user: ! col: var: 2@ col: 3 1 1 1 user: ! col: var: 2@ 3 1 1 1 up! sp@ dup user: ! lit 3 1 1 1 up! sp@ dup user: ! 3 1 1 1 up! sp@ dup user: 3 1 1 1 up! sp@ dup 3 1 1 1 up! sp@ 3 1 1 1 up! 3 1 1 1 tuck - lit cells / ;s 3 1 1 1 tuck - lit cells / 3 1 1 1 tuck - lit cells 3 1 1 1 tuck - lit 3 1 1 1 swap 1+ /string ;s var: 2! 3 1 1 1 swap 1+ /string ;s var: 3 1 1 1 swap ! ;s rp@ user: ! 3 1 1 1 swap ! ;s rp@ user: 3 1 1 1 swap ! ;s rp@ 3 1 1 1 sp@ dup user: ! lit + 3 1 1 1 sp@ dup user: ! lit 3 1 1 1 sp@ dup user: ! 3 1 1 1 sp@ dup user: 3 1 1 1 sp@ dup 3 1 1 1 rp@ user: ! fp@ user: ! 3 1 1 1 rp@ user: ! fp@ user: 3 1 1 1 rp@ user: ! fp@ 3 1 1 1 rp@ user: ! execute col: user: 3 1 1 1 r> tuck - lit cells / 3 1 1 1 r> tuck - lit cells 3 1 1 1 r> tuck - lit 3 1 1 1 r> -rot move ;s drop var: 3 1 1 1 r> -rot move ;s drop 3 1 1 1 noop var: @ lit > ?branch 3 1 1 1 noop var: @ lit > 3 1 1 1 noop var: @ lit 3 1 1 1 noop var: @ 3 1 1 1 noop var: 3 1 1 1 nip var: 2! ;s defer: noop 3 1 1 1 nip var: 2! ;s defer: 3 1 1 1 nip var: 2! ;s 3 1 1 1 nip var: 2! 3 1 1 1 nip var: 3 1 1 1 nip execute col: var: @ dup 3 1 1 1 move ;s drop var: 2@ nip 3 1 1 1 move ;s drop var: 2@ 3 1 1 1 move ;s drop var: 3 1 1 1 move ;s drop 3 1 1 1 lit swap 1+ /string ;s var: 3 1 1 1 lit fill ;s var: @ over 3 1 1 1 lit fill ;s var: @ 3 1 1 1 lit fill ;s var: 3 1 1 1 lit cells / ;s var: 2! 3 1 1 1 lit cells / ;s var: 3 1 1 1 lit cells / ;s 3 1 1 1 lit cells / 3 1 1 1 lit > ?branch con: lit ! 3 1 1 1 lit > ?branch con: lit 3 1 1 1 lit > ?branch con: 3 1 1 1 lit + dup user: ! user: 3 1 1 1 lit + dup user: ! 3 1 1 1 lit + dup user: 3 1 1 1 lit (bye) 3 1 1 1 lit (?do) unloop 2drop drop con: 3 1 1 1 lit (?do) unloop 2drop drop 3 1 1 1 lit (?do) unloop 2drop 3 1 1 1 lit (?do) i col: cells var: 3 1 1 1 lit (?do) i col: cells 3 1 1 1 lit (?do) i col: 3 1 1 1 lit (?do) i 3 1 1 1 lit ! lit col: >r sp@ 3 1 1 1 lit ! lit col: >r 3 1 1 1 fp@ user: ! col: var: 2@ 3 1 1 1 fp@ user: ! col: var: 3 1 1 1 fp@ user: ! col: 3 1 1 1 fp@ user: ! 3 1 1 1 fill ;s var: @ over ! 3 1 1 1 fill ;s var: @ over 3 1 1 1 fill ;s var: @ 3 1 1 1 fill ;s var: 3 1 1 1 execute col: var: @ dup @ 3 1 1 1 execute col: var: @ dup 3 1 1 1 execute col: user: @ >r var: 3 1 1 1 execute col: user: @ >r 3 1 1 1 dup user: ! user: ! user: 3 1 1 1 dup user: ! user: ! 3 1 1 1 dup user: ! user: 3 1 1 1 dup user: ! lit + dup 3 1 1 1 dup user: ! lit + 3 1 1 1 dup @ ?branch drop ;s ;s 3 1 1 1 dup @ ?branch drop ;s 3 1 1 1 dup @ ?branch drop 3 1 1 1 dup ?branch rdrop ;s over r> 3 1 1 1 dup ?branch rdrop ;s over 3 1 1 1 dup ?branch 2drop col: col: user: 3 1 1 1 dup ?branch 2drop col: col: 3 1 1 1 dup ?branch 2drop col: 3 1 1 1 drop var: 2@ nip var: 2! 3 1 1 1 drop var: 2@ nip var: 3 1 1 1 drop var: 2@ nip 3 1 1 1 drop var: 2@ 3 1 1 1 defer: noop var: @ lit > 3 1 1 1 defer: noop var: @ lit 3 1 1 1 defer: noop var: @ 3 1 1 1 defer: noop var: 3 1 1 1 defer: drop ;s ;s branch col: 3 1 1 1 defer: drop ;s ;s branch 3 1 1 1 defer: drop ;s ;s 3 1 1 1 con: swap ! ;s rp@ user: 3 1 1 1 con: swap ! ;s rp@ 3 1 1 1 con: lit ! lit col: >r 3 1 1 1 con: lit ! lit col: 3 1 1 1 con: lit ! lit 3 1 1 1 con: cells col: lit fill ;s 3 1 1 1 con: cells col: lit fill 3 1 1 1 con: cells col: lit 3 1 1 1 con: cells col: 3 1 1 1 con: cells allocate col: ?dup ?branch 3 1 1 1 con: cells allocate col: ?dup 3 1 1 1 con: cells allocate col: 3 1 1 1 con: cells allocate 3 1 1 1 con: 0= ?branch lit (bye) 3 1 1 1 con: 0= ?branch lit 3 1 1 1 con: 0= ?branch 3 1 1 1 con: 0= 3 1 1 1 col: var: @ dup @ ?branch 3 1 1 1 col: var: @ dup @ 3 1 1 1 col: var: @ 0= ?branch con: 3 1 1 1 col: var: 2@ lit (?do) unloop 3 1 1 1 col: var: 2@ col: col: col: 3 1 1 1 col: var: 2@ col: col: 3 1 1 1 col: var: 2@ col: 3 1 1 1 col: var: 2@ 2* cells col: 3 1 1 1 col: var: 2@ 2* cells 3 1 1 1 col: var: 2@ 2* 3 1 1 1 col: user: @ >r var: @ 3 1 1 1 col: user: @ >r var: 3 1 1 1 col: lit fill ;s var: @ 3 1 1 1 col: lit fill ;s var: 3 1 1 1 col: con: swap ! ;s rp@ 3 1 1 1 col: con: 0= ?branch lit (bye) 3 1 1 1 col: con: 0= ?branch lit 3 1 1 1 col: con: 0= ?branch 3 1 1 1 col: con: 0= 3 1 1 1 col: ?dup ?branch ;s var: ! 3 1 1 1 cells col: swap >r dup allocate 3 1 1 1 cells col: swap >r dup 3 1 1 1 cells col: swap >r 3 1 1 1 cells col: swap 3 1 1 1 cells col: lit fill ;s var: 3 1 1 1 cells col: lit fill ;s 3 1 1 1 cells col: lit fill 3 1 1 1 cells col: lit 3 1 1 1 cells allocate col: ?dup ?branch ;s 3 1 1 1 cells allocate col: ?dup ?branch 3 1 1 1 cells allocate col: ?dup 3 1 1 1 cells allocate col: 3 1 1 1 cells allocate 3 1 1 1 cells / ;s var: 2! col: 3 1 1 1 cells / ;s var: 2! 3 1 1 1 cells / ;s var: 3 1 1 1 cells / ;s 3 1 1 1 cells / 3 1 1 1 branch dup ?branch rdrop ;s over 3 1 1 1 branch dup ?branch 2drop col: col: 3 1 1 1 branch dup ?branch 2drop col: 3 1 1 1 branch dup ?branch 2drop 3 1 1 1 branch @ dup @ ?branch dup 3 1 1 1 branch @ dup @ ?branch drop 3 1 1 1 allocate col: ?dup ?branch ;s var: 3 1 1 1 @ lit > ?branch con: lit 3 1 1 1 @ lit > ?branch con: 3 1 1 1 @ lit > ?branch 3 1 1 1 @ lit > 3 1 1 1 @ lit (?do) i col: cells 3 1 1 1 @ lit (?do) i col: 3 1 1 1 @ lit (?do) i 3 1 1 1 @ dup @ ?branch drop ;s 3 1 1 1 @ dup @ ?branch drop 3 1 1 1 @ con: cells col: lit fill 3 1 1 1 @ con: cells col: lit 3 1 1 1 @ con: cells col: 3 1 1 1 @ con: cells 3 1 1 1 @ ?branch drop ;s ;s branch 3 1 1 1 @ ?branch drop ;s ;s 3 1 1 1 @ ?branch drop ;s 3 1 1 1 @ ?branch drop 3 1 1 1 @ >r var: @ lit (?do) 3 1 1 1 @ >r var: @ lit 3 1 1 1 @ >r var: @ 3 1 1 1 @ ;s r> tuck - lit 3 1 1 1 @ ;s r> tuck - 3 1 1 1 @ ;s r> tuck 3 1 1 1 @ ;s r> 3 1 1 1 @ ;s @ ;s r> tuck 3 1 1 1 @ ;s @ ;s r> 3 1 1 1 @ ;s @ ;s >r over 3 1 1 1 @ ;s >r over >r lit 3 1 1 1 @ ;s >r over >r 3 1 1 1 @ ;s >r over 3 1 1 1 @ 0= ?branch con: cells allocate 3 1 1 1 @ 0= ?branch con: cells 3 1 1 1 @ 0= ?branch con: 3 1 1 1 ?dup ?branch ;s var: ! var: 3 1 1 1 ?dup ?branch ;s var: ! 3 1 1 1 ?branch lit (bye) 3 1 1 1 ?branch con: lit ! lit col: 3 1 1 1 ?branch con: lit ! lit 3 1 1 1 ?branch con: lit ! 3 1 1 1 ?branch con: lit 3 1 1 1 ?branch con: cells allocate col: ?dup 3 1 1 1 ?branch con: cells allocate col: 3 1 1 1 ?branch con: cells allocate 3 1 1 1 ?branch con: cells 3 1 1 1 ?branch ;s var: ! var: @ 3 1 1 1 ?branch ;s var: ! var: 3 1 1 1 ?branch ;s var: ! 3 1 1 1 ?branch 2drop col: col: user: @ 3 1 1 1 ?branch 2drop col: col: user: 3 1 1 1 ?branch 2drop col: col: 3 1 1 1 >r var: @ lit (?do) i 3 1 1 1 >r var: @ lit (?do) 3 1 1 1 >r over >r lit col: >r 3 1 1 1 >r over >r lit col: 3 1 1 1 >r over >r lit 3 1 1 1 >r over >r 3 1 1 1 > ?branch con: lit ! lit 3 1 1 1 > ?branch con: lit ! 3 1 1 1 > ?branch con: lit 3 1 1 1 > ?branch con: 3 1 1 1 ;s var: @ over ! lit 3 1 1 1 ;s var: @ over ! 3 1 1 1 ;s var: @ over 3 1 1 1 ;s var: 2! var: up! sp@ 3 1 1 1 ;s var: 2! var: up! 3 1 1 1 ;s var: 2! col: var: 2@ 3 1 1 1 ;s var: 2! col: var: 3 1 1 1 ;s var: ! var: @ con: 3 1 1 1 ;s rp@ user: ! fp@ user: 3 1 1 1 ;s rp@ user: ! fp@ 3 1 1 1 ;s rp@ user: ! 3 1 1 1 ;s rp@ user: 3 1 1 1 ;s rp@ 3 1 1 1 ;s r> tuck - lit cells 3 1 1 1 ;s r> tuck - lit 3 1 1 1 ;s r> tuck - 3 1 1 1 ;s r> tuck 3 1 1 1 ;s drop var: 2@ nip var: 3 1 1 1 ;s drop var: 2@ nip 3 1 1 1 ;s drop var: 2@ 3 1 1 1 ;s drop var: 3 1 1 1 ;s defer: noop var: @ lit 3 1 1 1 ;s defer: noop var: @ 3 1 1 1 ;s defer: noop var: 3 1 1 1 ;s branch dup ?branch 2drop col: 3 1 1 1 ;s branch dup ?branch 2drop 3 1 1 1 ;s @ ;s r> tuck - 3 1 1 1 ;s @ ;s r> tuck 3 1 1 1 ;s @ ;s r> 3 1 1 1 ;s @ ;s >r over >r 3 1 1 1 ;s @ ;s >r over 3 1 1 1 ;s >r over >r lit col: 3 1 1 1 ;s >r over >r lit 3 1 1 1 ;s >r over >r 3 1 1 1 2dup r> -rot move ;s drop 3 1 1 1 2drop col: col: user: @ ;s 3 1 1 1 2drop col: col: user: @ 3 1 1 1 2drop col: col: user: 3 1 1 1 2@ nip var: 2! ;s defer: 3 1 1 1 2@ nip var: 2! ;s 3 1 1 1 2@ nip var: 2! 3 1 1 1 2@ nip var: 3 1 1 1 2@ lit (?do) unloop 2drop drop 3 1 1 1 2@ lit (?do) unloop 2drop 3 1 1 1 2@ lit (?do) unloop 3 1 1 1 2@ col: col: col: col: user: 3 1 1 1 2@ col: col: col: col: 3 1 1 1 2@ col: col: col: 3 1 1 1 2@ 2* cells col: swap >r 3 1 1 1 2@ 2* cells col: swap 3 1 1 1 2@ 2* cells col: 3 1 1 1 2@ 2* cells 3 1 1 1 2@ 2* 3 1 1 1 2* cells col: swap >r dup 3 1 1 1 2* cells col: swap >r 3 1 1 1 2* cells col: swap 3 1 1 1 2* cells col: 3 1 1 1 2! var: up! sp@ dup user: 3 1 1 1 2! var: up! sp@ dup 3 1 1 1 2! var: up! sp@ 3 1 1 1 2! var: up! 3 1 1 1 2! col: var: 2@ 2* cells 3 1 1 1 2! col: var: 2@ 2* 3 1 1 1 2! col: var: 2@ 3 1 1 1 2! col: var: 3 1 1 1 2! ;s defer: noop var: @ 3 1 1 1 2! ;s defer: noop var: 3 1 1 1 2! ;s defer: noop 3 1 1 1 2! ;s defer: 3 1 1 1 2! ;s branch dup ?branch 2drop 3 1 1 1 1+ /string ;s var: 2! var: 3 1 1 1 1+ /string ;s var: 2! 3 1 1 1 1+ /string ;s var: 3 1 1 1 0= ?branch lit (bye) 3 1 1 1 0= ?branch con: cells allocate col: 3 1 1 1 0= ?branch con: cells allocate 3 1 1 1 0= ?branch con: cells 3 1 1 1 /string ;s var: 2! var: up! 3 1 1 1 /string ;s var: 2! var: 3 1 1 1 /string ;s var: 2! 3 1 1 1 /string ;s var: 3 1 1 1 / ;s var: 2! col: var: 3 1 1 1 / ;s var: 2! col: 3 1 1 1 / ;s var: 2! 3 1 1 1 / ;s var: 3 1 1 1 -rot move ;s drop var: 2@ 3 1 1 1 -rot move ;s drop var: 3 1 1 1 -rot move ;s drop 3 1 1 1 - lit cells / ;s var: 3 1 1 1 - lit cells / ;s 3 1 1 1 - lit cells / 3 1 1 1 - lit cells 3 1 1 1 + dup user: ! user: ! 3 1 1 1 + dup user: ! user: 3 1 1 1 + dup user: ! 3 1 1 1 + dup user: 3 1 1 1 (bye) 3 1 1 1 (?do) unloop 2drop drop con: ;s 3 1 1 1 (?do) unloop 2drop drop con: 3 1 1 1 (?do) unloop 2drop drop 3 1 1 1 (?do) unloop 2drop 3 1 1 1 (?do) i col: cells var: @ 3 1 1 1 (?do) i col: cells var: 3 1 1 1 (?do) i col: cells 3 1 1 1 ! var: @ con: cells col: 3 1 1 1 ! var: @ con: cells 3 1 1 1 ! var: @ con: 3 1 1 1 ! var: ! col: lit lit 3 1 1 1 ! var: ! col: lit 3 1 1 1 ! var: ! col: 3 1 1 1 ! var: ! 3 1 1 1 ! lit + dup user: ! 3 1 1 1 ! lit + dup user: 3 1 1 1 ! lit + dup 3 1 1 1 ! lit + 3 1 1 1 ! fp@ user: ! col: var: 3 1 1 1 ! fp@ user: ! col: 3 1 1 1 ! fp@ user: ! 3 1 1 1 ! fp@ user: 3 1 1 1 ! fp@ 3 1 1 1 ! execute col: user: @ >r 3 1 1 1 ! execute col: user: @ 3 1 1 1 ! execute col: user: 3 1 1 1 ! defer: drop ;s ;s branch 3 1 1 1 ! defer: drop ;s ;s 3 1 1 1 ! col: var: 2@ col: col: 3 1 1 1 ! col: var: 2@ col: 3 1 1 1 ! col: var: 2@ 3 1 1 1 ! col: lit lit col: >r 3 1 1 1 ! col: lit lit col: 3 1 1 1 ! col: lit lit 3 1 1 1 ! ;s rp@ user: ! fp@ 3 1 1 1 ! ;s rp@ user: ! 3 1 1 1 ! ;s rp@ user: 3 1 1 1 ! ;s rp@ 3 1 0 2 nip 0<> ;s 0= col: 0= 3 1 0 2 nip 0<> ;s 0= col: 3 1 0 2 nip 0<> ;s 0= 3 1 0 2 ?branch ;s nip 0<> ;s 0= 3 1 0 2 ;s nip 0<> ;s 0= col: 3 1 0 2 ;s nip 0<> ;s 0= 3 1 0 2 ;s 0= col: 0= ?branch ;s 3 1 0 2 ;s 0= col: 0= ?branch 3 1 0 2 ;s 0= col: 0= 3 1 0 2 0= col: 0= ?branch ;s ;s 3 1 0 2 0= col: 0= ?branch ;s 3 1 0 2 0= col: 0= ?branch 3 1 0 2 0= col: 0= 3 1 0 2 0<> ;s 0= col: 0= ?branch 3 1 0 2 0<> ;s 0= col: 0= 3 1 0 2 0<> ;s 0= col: 3 1 0 2 0<> ;s 0= 3 0 3 0 user: ! noop ;s col: r> 3 0 3 0 nip nip execute col: col: does: 3 0 3 0 nip execute col: col: does: 2@ 3 0 3 0 nip execute col: col: does: 3 0 3 0 nip execute col: col: >l lp- 3 0 3 0 lp+2 ;s col: r@ defer: col: 3 0 3 0 lp+2 ;s col: r@ defer: 3 0 3 0 lp+2 ;s col: r@ 3 0 3 0 lp+!# ;s lp+ ;s lp+ ;s 3 0 3 0 lp+!# ;s lp+ ;s lp+ 3 0 3 0 lp+ ;s ;s ;s branch col: 3 0 3 0 lp+ ;s ;s ;s branch 3 0 3 0 lit (?do) col: dup col: dup 3 0 3 0 lit (?do) col: dup col: 3 0 3 0 execute col: col: does: 2@ ;s 3 0 3 0 execute col: col: does: 2@ 3 0 3 0 execute col: col: >l lp- lit 3 0 3 0 execute col: col: >l lp- 3 0 3 0 does-handler! ;s branch con: defer: col: 3 0 3 0 defer: (type) ;s cr @local1 lit 3 0 3 0 cr @local1 lit col: >l >l 3 0 3 0 cr @local1 lit col: >l 3 0 3 0 cr @local1 lit col: 3 0 3 0 cr @local1 lit 3 0 3 0 con: defer: col: noop user: @ 3 0 3 0 con: defer: col: noop user: 3 0 3 0 con: defer: col: noop 3 0 3 0 con: defer: col: 3 0 3 0 branch con: defer: col: noop user: 3 0 3 0 branch con: defer: col: noop 3 0 3 0 branch con: defer: col: 3 0 3 0 @local1 lp+ ;s ;s ;s branch 3 0 3 0 @local1 ?branch lp+2 ;s col: r@ 3 0 3 0 @ col: >l lp- col: col: 3 0 3 0 @ ?branch defer: col: col: con: 3 0 3 0 ?branch lp+2 ;s col: r@ defer: 3 0 3 0 ?branch lp+2 ;s col: r@ 3 0 3 0 ?branch lp+!# ;s lp+ ;s lp+ 3 0 3 0 ?branch defer: col: col: con: <> 3 0 3 0 ?branch defer: col: col: con: 3 0 3 0 ;s lp+ ;s var: @ 3 0 3 0 ;s lp+ ;s var: 3 0 3 0 ;s lit (?do) col: dup col: 3 0 3 0 ;s lit (?do) col: dup 3 0 3 0 ;s lit (?do) col: 3 0 3 0 ;s drop ;s ;s col: r> 3 0 3 0 ;s cr @local1 lit col: >l 3 0 3 0 ;s cr @local1 lit col: 3 0 3 0 ;s cr @local1 lit 3 0 3 0 ;s branch con: defer: col: noop 3 0 3 0 ;s branch con: defer: col: 3 0 3 0 ;s ;s lit (?do) col: dup 3 0 3 0 ;s ;s lit (?do) col: 3 0 3 0 ;s ;s lit (?do) 3 0 3 0 ;s ;s ;s lit (?do) col: 3 0 3 0 ;s ;s ;s lit (?do) 3 0 3 0 ;s ;s ;s ;s lit (?do) 3 0 3 0 0> ?branch nip nip execute con: 3 0 3 0 (type) ;s cr @local1 lit col: 3 0 3 0 (type) ;s cr @local1 lit 3 0 3 0 (?do) col: dup col: dup con: 3 0 3 0 (?do) col: dup col: dup 3 0 3 0 (?do) col: dup col: 3 0 3 0 ! noop ;s col: r> dup 3 0 3 0 ! noop ;s col: r> 3 0 3 0 ! ;s drop ;s ;s col: 3 0 3 0 ! ;s ;s ;s ;s lit 3 0 2 1 nip execute col: var: @ 1- 3 0 2 1 execute col: var: @ 1- dup 3 0 2 1 execute col: var: @ 1- 3 0 2 1 execute col: lit user: ! col: 3 0 1 2 r> var: ! ;s ;s ;s 3 0 1 2 nip nip execute * ;s branch 3 0 1 2 nip nip execute * ;s 3 0 1 2 nip nip execute * 3 0 1 2 nip execute * ;s branch col: 3 0 1 2 nip execute * ;s branch 3 0 1 2 nip execute * ;s 3 0 1 2 nip execute * 3 0 1 2 execute * ;s branch col: sp@ 3 0 1 2 execute * ;s branch col: 3 0 1 2 execute * ;s branch 3 0 1 2 execute * ;s 3 0 1 2 execute * 3 0 1 2 and ?branch nip nip execute * 3 0 1 2 ?branch nip nip execute * ;s 3 0 1 2 ?branch nip nip execute * 3 0 1 2 * ;s branch col: sp@ user: 3 0 1 2 * ;s branch col: sp@ 3 0 1 2 * ;s branch col: 3 0 1 2 * ;s branch 3 0 0 3 var: cell+ i cells + @ 3 0 0 3 var: @ and ?branch or >r 3 0 0 3 var: @ and ?branch or 3 0 0 3 var: @ ;s lit col: col: 3 0 0 3 var: @ ;s lit col: 3 0 0 3 var: @ ;s lit 3 0 0 3 var: 2@ nip = ;s ?branch 3 0 0 3 var: 2@ nip = ;s 3 0 0 3 var: 2@ nip = 3 0 0 3 swap +! ;s ;s ;s rot 3 0 0 3 rot 2dup and var: @ and 3 0 0 3 rot 2dup and var: @ 3 0 0 3 rot 2dup and var: 3 0 0 3 rot 2dup and 3 0 0 3 rot 2dup 3 0 0 3 rdrop ;s ;s ;s col: con: 3 0 0 3 r> ;s ;s ;s branch col: 3 0 0 3 r> ;s ;s ;s branch 3 0 0 3 or >r col: 2dup col: lit 3 0 0 3 or >r col: 2dup col: 3 0 0 3 or >r col: 2dup 3 0 0 3 or >r col: 3 0 0 3 or >r 3 0 0 3 nip nip execute 1+ ;s branch 3 0 0 3 nip nip execute 1+ ;s 3 0 0 3 nip nip execute 1+ 3 0 0 3 nip execute col: lit col: 0= 3 0 0 3 nip execute col: 0= ?branch ;s 3 0 0 3 nip execute 1+ ;s branch col: 3 0 0 3 nip execute 1+ ;s branch 3 0 0 3 nip execute 1+ ;s 3 0 0 3 nip execute 1+ 3 0 0 3 nip = ;s ?branch 3 0 0 3 nip = ;s 3 0 0 3 nip = 3 0 0 3 lit col: 0= ?branch var: col: 3 0 0 3 lit col: 0= ?branch var: 3 0 0 3 lit col: 0= ?branch 3 0 0 3 lit col: 0= 3 0 0 3 i cells + @ (loop) 3 0 0 3 i cells + @ 3 0 0 3 i cells + ! (next) var: 3 0 0 3 execute does: 2@ ;s con: branch 3 0 0 3 execute does: 2@ ;s con: 3 0 0 3 execute col: lit col: 0= ?branch 3 0 0 3 execute col: lit col: 0= 3 0 0 3 execute col: 0= ?branch ;s ;s 3 0 0 3 execute col: 0= ?branch ;s 3 0 0 3 execute 1+ ;s branch col: sp@ 3 0 0 3 execute 1+ ;s branch col: 3 0 0 3 execute 1+ ;s branch 3 0 0 3 execute 1+ ;s 3 0 0 3 execute 1+ 3 0 0 3 drop ;s does: @ col: var: 3 0 0 3 drop ;s does: @ col: 3 0 0 3 drop ;s does: @ 3 0 0 3 drop ;s does: 3 0 0 3 drop ;s ;s col: var: col: 3 0 0 3 drop ;s ;s col: var: 3 0 0 3 does: 2@ ;s con: branch ;s 3 0 0 3 does: 2@ ;s con: branch 3 0 0 3 does: 2@ ;s con: 3 0 0 3 con: ! ;s ;s ;s drop 3 0 0 3 con: ! ;s ;s ;s branch 3 0 0 3 con: ! ;s ;s ;s ;s 3 0 0 3 col: var: @ ;s lit col: 3 0 0 3 col: var: @ ;s lit 3 0 0 3 col: lit col: 0= ?branch var: 3 0 0 3 col: lit col: 0= ?branch 3 0 0 3 col: lit col: 0= 3 0 0 3 col: col: var: @ ;s lit 3 0 0 3 col: 0= ?branch ;s ;s branch 3 0 0 3 cells + @ (loop) 3 0 0 3 cells + @ 3 0 0 3 cells + ! (next) var: cell+ 3 0 0 3 cells + ! (next) var: 3 0 0 3 cell+ i cells + @ (loop) 3 0 0 3 cell+ i cells + @ 3 0 0 3 branch ;s ;s does: @ col: 3 0 0 3 branch ;s ;s does: @ 3 0 0 3 branch ;s ;s does: 3 0 0 3 and var: @ and ?branch or 3 0 0 3 and var: @ and ?branch 3 0 0 3 and var: @ and 3 0 0 3 and var: @ 3 0 0 3 and var: 3 0 0 3 and ?branch or >r col: 2dup 3 0 0 3 and ?branch or >r col: 3 0 0 3 and ?branch or >r 3 0 0 3 and ?branch or 3 0 0 3 and ?branch nip nip execute 1+ 3 0 0 3 and ?branch 2drop ;s col: does: 3 0 0 3 and ?branch 2drop ;s col: 3 0 0 3 @ and ?branch or >r col: 3 0 0 3 @ and ?branch or >r 3 0 0 3 @ and ?branch or 3 0 0 3 @ and ?branch 2drop ;s col: 3 0 0 3 @ ;s ;s col: col: var: 3 0 0 3 @ 1+ var: 2@ nip = 3 0 0 3 @ 1+ var: 2@ nip 3 0 0 3 @ 0< ?branch ;s ;s r> 3 0 0 3 @ (loop) 3 0 0 3 ?branch or >r col: 2dup col: 3 0 0 3 ?branch or >r col: 2dup 3 0 0 3 ?branch or >r col: 3 0 0 3 ?branch or >r 3 0 0 3 ?branch or 3 0 0 3 ?branch nip nip execute 1+ ;s 3 0 0 3 ?branch nip nip execute 1+ 3 0 0 3 ?branch execute does: 2@ ;s con: 3 0 0 3 ?branch execute does: 2@ ;s 3 0 0 3 ?branch execute does: 2@ 3 0 0 3 ?branch execute does: 3 0 0 3 ?branch col: does: @ col: var: 3 0 0 3 ?branch col: does: @ col: 3 0 0 3 ?branch col: does: @ 3 0 0 3 ?branch col: does: 3 0 0 3 ?branch ;s ;s r> col: >r 3 0 0 3 ?branch ;s ;s r> col: 3 0 0 3 ?branch ;s ;s ?branch execute does: 3 0 0 3 ?branch 2drop ;s col: does: @ 3 0 0 3 ?branch 2drop ;s col: does: 3 0 0 3 ?branch 2drop ;s col: 3 0 0 3 ;s rot 2dup and var: @ 3 0 0 3 ;s rot 2dup and var: 3 0 0 3 ;s rot 2dup and 3 0 0 3 ;s rot 2dup 3 0 0 3 ;s drop ;s does: @ col: 3 0 0 3 ;s drop ;s does: @ 3 0 0 3 ;s drop ;s does: 3 0 0 3 ;s drop ;s ;s col: var: 3 0 0 3 ;s con: branch ;s ;s branch 3 0 0 3 ;s con: branch ;s ;s 3 0 0 3 ;s con: branch ;s 3 0 0 3 ;s con: branch 3 0 0 3 ;s branch ;s ;s does: @ 3 0 0 3 ;s branch ;s ;s does: 3 0 0 3 ;s @ 1+ var: 2@ nip 3 0 0 3 ;s ?branch execute does: 2@ ;s 3 0 0 3 ;s ?branch execute does: 2@ 3 0 0 3 ;s ?branch execute does: 3 0 0 3 ;s ?branch drop does: @ col: 3 0 0 3 ;s ?branch drop does: @ 3 0 0 3 ;s ?branch drop does: 3 0 0 3 ;s ?branch col: does: @ col: 3 0 0 3 ;s ?branch col: does: @ 3 0 0 3 ;s ?branch col: does: 3 0 0 3 ;s ;s rot 2dup and var: 3 0 0 3 ;s ;s rot 2dup and 3 0 0 3 ;s ;s rot 2dup 3 0 0 3 ;s ;s drop ;s does: @ 3 0 0 3 ;s ;s drop ;s does: 3 0 0 3 ;s ;s drop ;s ;s col: 3 0 0 3 ;s ;s col: con: lit ;s 3 0 0 3 ;s ;s col: con: lit 3 0 0 3 ;s ;s col: col: var: col: 3 0 0 3 ;s ;s ?branch execute does: 2@ 3 0 0 3 ;s ;s ?branch execute does: 3 0 0 3 ;s ;s ?branch drop does: @ 3 0 0 3 ;s ;s ?branch drop does: 3 0 0 3 ;s ;s ?branch col: does: @ 3 0 0 3 ;s ;s ?branch col: does: 3 0 0 3 ;s ;s ;s rot 2dup and 3 0 0 3 ;s ;s ;s rot 2dup 3 0 0 3 ;s ;s ;s rot 3 0 0 3 ;s ;s ;s drop ;s does: 3 0 0 3 ;s ;s ;s col: con: lit 3 0 0 3 ;s ;s ;s ?branch drop does: 3 0 0 3 ;s ;s ;s ?branch drop 3 0 0 3 ;s ;s ;s ?branch col: does: 3 0 0 3 ;s ;s ;s ?branch col: 3 0 0 3 2dup and var: @ and ?branch 3 0 0 3 2dup and var: @ and 3 0 0 3 2dup and var: @ 3 0 0 3 2dup and var: 3 0 0 3 2dup and 3 0 0 3 2drop r> ;s ;s ;s branch 3 0 0 3 2drop ;s col: does: @ col: 3 0 0 3 2drop ;s col: does: @ 3 0 0 3 2drop ;s col: does: 3 0 0 3 2drop ;s col: 3 0 0 3 2@ nip = ;s ?branch 3 0 0 3 2@ nip = ;s 3 0 0 3 2@ nip = 3 0 0 3 2@ ;s con: branch ;s ;s 3 0 0 3 2@ ;s con: branch ;s 3 0 0 3 2@ ;s con: branch 3 0 0 3 2@ ;s con: 3 0 0 3 1+ var: 2@ nip = ;s 3 0 0 3 1+ var: 2@ nip = 3 0 0 3 1+ var: 2@ nip 3 0 0 3 1+ ;s branch col: sp@ user: 3 0 0 3 1+ ;s branch col: sp@ 3 0 0 3 1+ ;s branch col: 3 0 0 3 1+ ;s branch 3 0 0 3 1+ ;s 3 0 0 3 0< ?branch ;s ;s r> col: 3 0 0 3 0< ?branch ;s ;s r> 3 0 0 3 +! ;s ;s ;s rot 2dup 3 0 0 3 +! ;s ;s ;s rot 3 0 0 3 +! ;s ;s ;s ?branch drop 3 0 0 3 +! ;s ;s ;s ?branch col: 3 0 0 3 + @ (loop) 3 0 0 3 + ! (next) var: cell+ i 3 0 0 3 + ! (next) var: cell+ 3 0 0 3 + ! (next) var: 3 0 0 3 (next) var: cell+ i cells + 3 0 0 3 (next) var: cell+ i cells 3 0 0 3 (next) var: cell+ i 3 0 0 3 (next) var: cell+ 3 0 0 3 (next) var: 3 0 0 3 ! ;s branch ;s ;s does: 3 0 0 3 ! ;s ;s ;s drop ;s 3 0 0 3 ! ;s ;s ;s drop 3 0 0 3 ! (next) var: cell+ i cells 3 0 0 3 ! (next) var: cell+ i 3 0 0 3 ! (next) var: cell+ 3 0 0 3 ! (next) var: 2 2 0 0 var: @ dup 0> ?branch col: 2 2 0 0 var: @ col: var: @ ;s 2 2 0 0 var: @ ;s ;s con: - 2 2 0 0 var: ;s ;s branch col: sp@ 2 2 0 0 var: ;s ;s branch col: 2 2 0 0 var: ;s ;s branch 2 2 0 0 var: ;s ;s 2 2 0 0 user: @ var: col: con: swap 2 2 0 0 user: @ var: col: con: 2 2 0 0 user: @ var: col: 2 2 0 0 user: @ var: 2 2 0 0 user: ! col: defer: col: defer: 2 2 0 0 user: ! col: defer: col: 2 2 0 0 user: ! col: defer: 2 2 0 0 user: ! ;s ;s branch col: 2 2 0 0 user: ! ;s ;s branch 2 2 0 0 unloop drop ;s ;s branch col: 2 2 0 0 unloop drop ;s ;s branch 2 2 0 0 u<= ?branch drop con: ;s ?branch 2 2 0 0 u<= ?branch drop con: ;s 2 2 0 0 u<= ?branch drop con: 2 2 0 0 u<= ?branch drop 2 2 0 0 tuck allocate col: col: r> r> 2 2 0 0 tuck allocate col: col: r> 2 2 0 0 tuck allocate col: col: 2 2 0 0 tuck allocate col: 2 2 0 0 tuck allocate 2 2 0 0 swap user: ! col: defer: col: 2 2 0 0 swap user: ! col: defer: 2 2 0 0 swap col: lit fill ;s ;s 2 2 0 0 swap c! ;s ;s ;s col: 2 2 0 0 rshift 1+ 2 2 0 0 rot ! swap col: lit fill 2 2 0 0 rot ! swap col: lit 2 2 0 0 rot ! swap col: 2 2 0 0 rot ! swap 2 2 0 0 rdrop ;s dup rot ! swap 2 2 0 0 rdrop ;s dup rot ! 2 2 0 0 rdrop ;s dup rot 2 2 0 0 nip nip execute create-file ;s branch 2 2 0 0 nip nip execute create-file ;s 2 2 0 0 nip nip execute create-file 2 2 0 0 nip nip execute col: var: ;s 2 2 0 0 nip nip execute col: lit * 2 2 0 0 nip nip execute col: lit (?do) 2 2 0 0 nip nip execute col: does: @ 2 2 0 0 nip nip execute col: ?dup ?branch 2 2 0 0 nip nip execute col: ?dup 2 2 0 0 nip execute create-file ;s branch col: 2 2 0 0 nip execute create-file ;s branch 2 2 0 0 nip execute create-file ;s 2 2 0 0 nip execute create-file 2 2 0 0 nip execute col: var: ;s ;s 2 2 0 0 nip execute col: var: ;s 2 2 0 0 nip execute col: user: @ var: 2 2 0 0 nip execute col: lit * ;s 2 2 0 0 nip execute col: lit * 2 2 0 0 nip execute col: lit (?do) col: 2 2 0 0 nip execute col: lit (?do) 2 2 0 0 nip execute col: does: @ execute 2 2 0 0 nip execute col: does: @ 2 2 0 0 nip execute col: ?dup ?branch ;s 2 2 0 0 nip execute col: ?dup ?branch 2 2 0 0 nip execute col: ?dup 2 2 0 0 lit user: ! ;s ;s branch 2 2 0 0 lit u<= ?branch drop con: ;s 2 2 0 0 lit u<= ?branch drop con: 2 2 0 0 lit u<= ?branch drop 2 2 0 0 lit lit col: ;s ;s ;s 2 2 0 0 lit lit col: ;s ;s 2 2 0 0 lit lit col: ;s 2 2 0 0 lit fill ;s ;s var: 2 2 0 0 lit fill ;s ;s 2 2 0 0 lit col: ;s ;s ;s branch 2 2 0 0 lit col: ;s ;s ;s 2 2 0 0 lit col: ;s ;s 2 2 0 0 lit col: ;s 2 2 0 0 lit * ;s ;s branch col: 2 2 0 0 lit * ;s ;s branch 2 2 0 0 lit * ;s ;s 2 2 0 0 lit * ;s 2 2 0 0 lit * 2 2 0 0 lit (?do) col: dup ;s col: 2 2 0 0 lit (?do) col: dup ;s 2 2 0 0 fill ;s ;s var: 2 2 0 0 fill ;s ;s 2 2 0 0 execute create-file ;s branch col: sp@ 2 2 0 0 execute create-file ;s branch col: 2 2 0 0 execute create-file ;s branch 2 2 0 0 execute create-file ;s 2 2 0 0 execute create-file 2 2 0 0 execute col: var: ;s ;s branch 2 2 0 0 execute col: var: ;s ;s 2 2 0 0 execute col: var: ;s 2 2 0 0 execute col: user: @ var: col: 2 2 0 0 execute col: user: @ var: 2 2 0 0 execute col: lit user: ! ;s 2 2 0 0 execute col: lit lit col: ;s 2 2 0 0 execute col: lit * ;s ;s 2 2 0 0 execute col: lit * ;s 2 2 0 0 execute col: lit * 2 2 0 0 execute col: lit (?do) col: dup 2 2 0 0 execute col: lit (?do) col: 2 2 0 0 execute col: lit (?do) 2 2 0 0 execute col: does: @ execute does: 2 2 0 0 execute col: does: @ execute 2 2 0 0 execute col: ?dup ?branch ;s ;s 2 2 0 0 execute col: ?dup ?branch ;s 2 2 0 0 execute col: ?dup ?branch 2 2 0 0 execute col: ?dup 2 2 0 0 dup rot ! swap col: lit 2 2 0 0 dup rot ! swap col: 2 2 0 0 dup rot ! swap 2 2 0 0 dup rot ! 2 2 0 0 dup rot 2 2 0 0 dup lit u<= ?branch drop con: 2 2 0 0 dup lit u<= ?branch drop 2 2 0 0 dup 0> ?branch col: col: col: 2 2 0 0 dup 0> ?branch col: col: 2 2 0 0 dup 0> ?branch col: 2 2 0 0 dup 0< ?branch drop con: col: 2 2 0 0 dup 0< ?branch drop con: 2 2 0 0 dup 0< ?branch drop 2 2 0 0 drop con: col: col: col: var: 2 2 0 0 drop con: col: col: col: 2 2 0 0 drop con: col: col: 2 2 0 0 drop con: col: 2 2 0 0 create-file ;s branch col: sp@ user: 2 2 0 0 create-file ;s branch col: sp@ 2 2 0 0 create-file ;s branch col: 2 2 0 0 create-file ;s branch 2 2 0 0 create-file ;s 2 2 0 0 con: rshift 1+ 2 2 0 0 con: - col: var: @ swap 2 2 0 0 con: - col: var: @ 2 2 0 0 con: - col: var: 2 2 0 0 col: var: ;s ;s branch col: 2 2 0 0 col: var: ;s ;s branch 2 2 0 0 col: var: ;s ;s 2 2 0 0 col: user: @ var: col: con: 2 2 0 0 col: user: @ var: col: 2 2 0 0 col: user: @ var: 2 2 0 0 col: tuck allocate col: col: r> 2 2 0 0 col: tuck allocate col: col: 2 2 0 0 col: tuck allocate col: 2 2 0 0 col: tuck allocate 2 2 0 0 col: tuck 2 2 0 0 col: lit lit col: ;s ;s 2 2 0 0 col: lit lit col: ;s 2 2 0 0 col: lit fill ;s ;s var: 2 2 0 0 col: lit fill ;s ;s 2 2 0 0 col: lit * ;s ;s branch 2 2 0 0 col: lit * ;s ;s 2 2 0 0 col: lit * ;s 2 2 0 0 col: lit * 2 2 0 0 col: lit (?do) col: dup ;s 2 2 0 0 col: lit (?do) col: dup 2 2 0 0 col: lit (?do) col: 2 2 0 0 col: does: @ execute does: dup 2 2 0 0 col: does: @ execute does: 2 2 0 0 col: does: @ execute 2 2 0 0 col: ?dup ?branch ;s ;s branch 2 2 0 0 c! ;s ;s ;s col: lit 2 2 0 0 c! ;s ;s ;s col: 2 2 0 0 c! ;s ;s (loop) unloop drop 2 2 0 0 branch ;s col: dup @ con: 2 2 0 0 branch ;s col: dup @ 2 2 0 0 branch ;s col: dup 2 2 0 0 branch ;s ;s branch ;s user: 2 2 0 0 branch ;s ;s branch ;s 2 2 0 0 and ?branch nip nip execute create-file 2 2 0 0 @ dup 0> ?branch col: col: 2 2 0 0 @ dup 0> ?branch col: 2 2 0 0 @ dup 0< ?branch drop con: 2 2 0 0 @ dup 0< ?branch drop 2 2 0 0 @ ;s ;s con: - col: 2 2 0 0 @ ;s ;s con: - 2 2 0 0 ?dup ?branch ;s ;s branch col: 2 2 0 0 ?dup ?branch ;s ;s branch 2 2 0 0 ?branch rdrop ;s dup rot ! 2 2 0 0 ?branch rdrop ;s dup rot 2 2 0 0 ?branch nip nip execute create-file ;s 2 2 0 0 ?branch nip nip execute create-file 2 2 0 0 ?branch nip nip execute col: ?dup 2 2 0 0 ?branch drop con: col: col: col: 2 2 0 0 ?branch drop con: col: col: 2 2 0 0 ?branch drop con: col: 2 2 0 0 ?branch ;s swap col: cell+ cell+ 2 2 0 0 ?branch ;s swap col: cell+ 2 2 0 0 ?branch ;s swap col: 2 2 0 0 >r ?branch rdrop ;s dup rot 2 2 0 0 ;s swap user: ! col: defer: 2 2 0 0 ;s swap col: cell+ cell+ ;s 2 2 0 0 ;s swap col: cell+ cell+ 2 2 0 0 ;s swap col: cell+ 2 2 0 0 ;s dup rot ! swap col: 2 2 0 0 ;s dup rot ! swap 2 2 0 0 ;s dup rot ! 2 2 0 0 ;s dup rot 2 2 0 0 ;s con: - col: var: @ 2 2 0 0 ;s con: - col: var: 2 2 0 0 ;s branch ;s col: dup @ 2 2 0 0 ;s branch ;s col: dup 2 2 0 0 ;s branch ;s ;s branch ;s 2 2 0 0 ;s @ dup 0< ?branch drop 2 2 0 0 ;s ;s con: - col: var: 2 2 0 0 ;s ;s col: lit cells + 2 2 0 0 ;s ;s col: lit cells 2 2 0 0 ;s ;s branch ;s col: dup 2 2 0 0 ;s ;s ;s col: lit cells 2 2 0 0 ;s ;s 0= ?branch ;s swap 2 2 0 0 ;s ;s (loop) unloop drop ;s 2 2 0 0 ;s ;s (loop) unloop drop 2 2 0 0 ;s 0= ?branch ;s swap col: 2 2 0 0 ;s 0= ?branch ;s swap 2 2 0 0 ;s (loop) unloop drop ;s ;s 2 2 0 0 ;s (loop) unloop drop ;s 2 2 0 0 ;s (loop) unloop drop 2 2 0 0 2drop ;s ;s ;s col: col: 2 2 0 0 1- con: rshift 1+ 2 2 0 0 1- con: rshift 2 2 0 0 1- con: 2 2 0 0 0> ?branch col: col: col: var: 2 2 0 0 0= ?branch ;s swap col: cell+ 2 2 0 0 0= ?branch ;s swap col: 2 2 0 0 0= ?branch ;s swap 2 2 0 0 0< ?branch drop con: col: col: 2 2 0 0 0< ?branch drop con: col: 2 2 0 0 0< ?branch drop con: 2 2 0 0 - dup lit u<= ?branch drop 2 2 0 0 - col: var: @ swap col: 2 2 0 0 - col: var: @ swap 2 2 0 0 - col: var: @ 2 2 0 0 - col: var: 2 2 0 0 (loop) unloop drop ;s ;s branch 2 2 0 0 (loop) unloop drop ;s ;s 2 2 0 0 (?do) col: dup ;s col: col: 2 2 0 0 (?do) col: dup ;s col: 2 2 0 0 (?do) col: dup ;s 2 2 0 0 ! swap col: lit fill ;s 2 2 0 0 ! swap col: lit fill 2 2 0 0 ! swap col: lit 2 2 0 0 ! col: defer: col: defer: col: 2 2 0 0 ! col: defer: col: defer: 2 2 0 0 ! col: defer: col: 2 2 0 0 ! col: defer: 2 1 1 0 ;s cr ;s ;s branch col: 2 1 1 0 ;s cr ;s ;s branch 2 1 1 0 ;s cr ;s ;s 2 1 0 1 var: @ = ?branch i 1+ 2 1 0 1 var: @ = ?branch i 2 1 0 1 swap 1+ /string ;s ;s col: 2 1 0 1 r> or ?branch 2drop dup >r 2 1 0 1 r> or ?branch 2drop dup 2 1 0 1 r> or ?branch 2drop 2 1 0 1 r> or ?branch 2 1 0 1 r> or 2 1 0 1 over c@ lit <> ?branch i 2 1 0 1 or ?branch 2drop dup >r lit 2 1 0 1 or ?branch 2drop dup >r 2 1 0 1 or ?branch 2drop dup 2 1 0 1 or ?branch 2drop 2 1 0 1 nip 0<> ;s col: 0= ?branch 2 1 0 1 nip 0<> ;s col: 0= 2 1 0 1 nip 0<> ;s col: 2 1 0 1 lit <> ?branch i 1+ var: 2 1 0 1 lit <> ?branch i 1+ 2 1 0 1 lit <> ?branch i 2 1 0 1 i 1+ var: @ = ?branch 2 1 0 1 i 1+ var: @ = 2 1 0 1 i 1+ var: @ 2 1 0 1 i 1+ var: 2 1 0 1 i 1+ col: cells var: @ 2 1 0 1 i 1+ col: cells var: 2 1 0 1 i 1+ col: cells 2 1 0 1 i 1+ col: 2 1 0 1 dup >r lit col: >r sp@ 2 1 0 1 dup >r lit col: >r 2 1 0 1 dup >r lit col: 2 1 0 1 dup >r lit 2 1 0 1 count ;s compare 0= r> or 2 1 0 1 count ;s compare 0= r> 2 1 0 1 count ;s compare 0= >r 2dup 2 1 0 1 count ;s compare 0= >r 2 1 0 1 compare 0= r> or ?branch 2drop 2 1 0 1 compare 0= r> or ?branch 2 1 0 1 compare 0= r> or 2 1 0 1 compare 0= r> 2 1 0 1 compare 0= >r 2dup col: col: 2 1 0 1 compare 0= >r 2dup col: 2 1 0 1 compare 0= >r 2dup 2 1 0 1 compare 0= >r 2 1 0 1 col: 2swap 2dup col: col: r> 2 1 0 1 col: 2swap 2dup col: col: 2 1 0 1 col: 2swap 2dup col: 2 1 0 1 col: 2swap 2dup 2 1 0 1 col: 2swap 2 1 0 1 c@ lit <> ?branch i 1+ 2 1 0 1 c@ lit <> ?branch i 2 1 0 1 @ = ?branch i 1+ col: 2 1 0 1 @ = ?branch i 1+ 2 1 0 1 @ = ?branch i 2 1 0 1 ?branch i 1+ var: @ = 2 1 0 1 ?branch i 1+ var: @ 2 1 0 1 ?branch i 1+ var: 2 1 0 1 ?branch i 1+ col: cells var: 2 1 0 1 ?branch i 1+ col: cells 2 1 0 1 ?branch i 1+ col: 2 1 0 1 ?branch ;s nip 0<> ;s col: 2 1 0 1 ?branch 2drop dup >r lit col: 2 1 0 1 ?branch 2drop dup >r lit 2 1 0 1 ?branch 2drop dup >r 2 1 0 1 ?branch 2drop dup 2 1 0 1 >r lit col: >r sp@ r> 2 1 0 1 >r lit col: >r sp@ 2 1 0 1 >r 2dup col: col: r> r> 2 1 0 1 >r 2dup col: col: r> 2 1 0 1 >r 2dup col: col: 2 1 0 1 = ?branch i 1+ col: cells 2 1 0 1 = ?branch i 1+ col: 2 1 0 1 = ?branch i 1+ 2 1 0 1 <> ?branch i 1+ var: @ 2 1 0 1 <> ?branch i 1+ var: 2 1 0 1 <> ?branch i 1+ 2 1 0 1 <> ?branch i 2 1 0 1 ;s nip 0<> ;s col: 0= 2 1 0 1 ;s nip 0<> ;s col: 2 1 0 1 ;s count ;s compare 0= r> 2 1 0 1 ;s count ;s compare 0= >r 2 1 0 1 ;s compare 0= r> or ?branch 2 1 0 1 ;s compare 0= r> or 2 1 0 1 ;s compare 0= r> 2 1 0 1 ;s compare 0= >r 2dup col: 2 1 0 1 ;s compare 0= >r 2dup 2 1 0 1 ;s compare 0= >r 2 1 0 1 ;s col: 2swap 2dup col: col: 2 1 0 1 ;s col: 2swap 2dup col: 2 1 0 1 ;s col: 2swap 2dup 2 1 0 1 ;s col: 2swap 2 1 0 1 ;s col: 0= ?branch var: col: 2 1 0 1 ;s ;s col: 2swap 2dup col: 2 1 0 1 ;s ;s col: 2swap 2dup 2 1 0 1 ;s ;s col: 2swap 2 1 0 1 2swap 2dup col: col: r> r> 2 1 0 1 2swap 2dup col: col: r> 2 1 0 1 2swap 2dup col: col: 2 1 0 1 2swap 2dup col: 2 1 0 1 2swap 2dup 2 1 0 1 2drop dup >r lit col: >r 2 1 0 1 2drop dup >r lit col: 2 1 0 1 2drop dup >r lit 2 1 0 1 2drop dup >r 2 1 0 1 2drop dup 2 1 0 1 2* ;s 2 1 0 1 1+ var: @ = ?branch i 2 1 0 1 1+ var: @ = ?branch 2 1 0 1 1+ var: @ = 2 1 0 1 1+ var: @ 2 1 0 1 1+ col: cells var: @ + 2 1 0 1 1+ col: cells var: @ 2 1 0 1 1+ col: cells var: 2 1 0 1 1+ col: cells 2 1 0 1 1+ /string ;s ;s col: 2swap 2 1 0 1 1+ /string ;s ;s col: 2 1 0 1 0= r> or ?branch 2drop dup 2 1 0 1 0= r> or ?branch 2drop 2 1 0 1 0= r> or ?branch 2 1 0 1 0= r> or 2 1 0 1 0= r> 2 1 0 1 0= >r 2dup col: col: r> 2 1 0 1 0= >r 2dup col: col: 2 1 0 1 0= >r 2dup col: 2 1 0 1 0= >r 2dup 2 1 0 1 0= >r 2 1 0 1 0<> ;s col: 0= ?branch var: 2 1 0 1 0<> ;s col: 0= ?branch 2 1 0 1 0<> ;s col: 0= 2 1 0 1 0<> ;s col: 2 1 0 1 /string ;s ;s col: 2swap 2dup 2 1 0 1 /string ;s ;s col: 2swap 2 1 0 1 /string ;s ;s col: 2 0 2 0 var: @ lit col: >l >l 2 0 2 0 var: @ lit col: >l 2 0 2 0 var: @ lit col: 2 0 2 0 var: @ col: >l lp- @local1 2 0 2 0 user: @ ?branch ;s ;s branch 2 0 2 0 user: @ ;s ;s branch col: 2 0 2 0 user: @ ;s ;s branch 2 0 2 0 user: @ ;s ;s 2 0 2 0 user: ! dup ?branch drop user: 2 0 2 0 user: ! dup ?branch drop 2 0 2 0 unloop con: ;s ?branch 2drop close-file 2 0 2 0 unloop con: ;s ?branch 2drop 2 0 2 0 unloop con: ;s ?branch 2 0 2 0 unloop con: ;s 2 0 2 0 unloop con: 2 0 2 0 rdrop unloop con: ;s ?branch 2drop 2 0 2 0 rdrop unloop con: ;s ?branch 2 0 2 0 rdrop unloop con: ;s 2 0 2 0 rdrop unloop con: 2 0 2 0 rdrop unloop 2 0 2 0 rdrop ;s nip ?branch 2dup 2 0 2 0 r@ <> ?branch rdrop ;s nip 2 0 2 0 or ?branch lp+ ;s @local1 col: 2 0 2 0 or ?branch lp+ ;s @local1 2 0 2 0 or ?branch lp+ ;s 2 0 2 0 or ?branch lp+ 2 0 2 0 nip nip execute col: lit >code-address 2 0 2 0 nip nip execute col: does: 2@ 2 0 2 0 nip nip execute code-address! ;s branch 2 0 2 0 nip nip execute code-address! ;s 2 0 2 0 nip nip execute code-address! 2 0 2 0 nip execute col: user: @ ;s 2 0 2 0 nip execute col: lit >code-address ;s 2 0 2 0 nip execute col: lit >code-address 2 0 2 0 nip execute col: does: 2@ ;s 2 0 2 0 nip execute col: does: 2@ 2 0 2 0 nip execute code-address! ;s branch col: 2 0 2 0 nip execute code-address! ;s branch 2 0 2 0 nip execute code-address! ;s 2 0 2 0 nip execute code-address! 2 0 2 0 lp- @local1 lit col: >l >l 2 0 2 0 lp- @local1 lit col: >l 2 0 2 0 lp- @local1 lit col: 2 0 2 0 lp- @local1 lit 2 0 2 0 lp- @local1 ?branch lp+2 ;s var: 2 0 2 0 lp+2 ;s var: @ 2 0 2 0 lp+2 ;s var: 2 0 2 0 lp+2 ;s lp+ ;s var: @ 2 0 2 0 lp+2 ;s lp+ ;s var: 2 0 2 0 lp+ ;s lp+ ;s col: r@ 2 0 2 0 lp+ ;s col: r@ defer: col: 2 0 2 0 lp+ ;s col: r@ defer: 2 0 2 0 lp+ ;s col: r@ 2 0 2 0 lit >code-address ;s ;s branch col: 2 0 2 0 lit >code-address ;s ;s branch 2 0 2 0 lit >code-address ;s ;s 2 0 2 0 lit = ?branch >code-address ;s ;s 2 0 2 0 lit = ?branch >code-address ;s 2 0 2 0 lit = ?branch >code-address 2 0 2 0 execute col: user: @ ;s ;s 2 0 2 0 execute col: user: @ ;s 2 0 2 0 execute col: lit >code-address ;s ;s 2 0 2 0 execute col: lit >code-address ;s 2 0 2 0 execute col: lit >code-address 2 0 2 0 execute col: does: 2@ ;s col: 2 0 2 0 execute col: does: 2@ ;s 2 0 2 0 execute col: does: 2@ 2 0 2 0 execute code-address! ;s branch col: sp@ 2 0 2 0 execute code-address! ;s branch col: 2 0 2 0 execute code-address! ;s branch 2 0 2 0 execute code-address! ;s 2 0 2 0 execute code-address! 2 0 2 0 dup >code-address lit = ?branch >code-address 2 0 2 0 drop branch ;s (loop) unloop ;s 2 0 2 0 drop branch ;s (loop) unloop 2 0 2 0 drop ;s ;s ;s cell+ cell+ 2 0 2 0 cr lp+ ;s var: @ col: 2 0 2 0 cr lp+ ;s var: @ 2 0 2 0 cr lp+ ;s var: 2 0 2 0 con: col: >l lp- var: @ 2 0 2 0 con: col: >l lp- var: 2 0 2 0 con: = or ?branch lp+ ;s 2 0 2 0 con: = or ?branch lp+ 2 0 2 0 con: ;s ?branch 2r> defer: col: 2 0 2 0 con: ;s ?branch 2r> defer: 2 0 2 0 con: ;s ?branch 2r> 2 0 2 0 con: ;s ?branch 2drop close-file col: 2 0 2 0 con: ;s ?branch 2drop close-file 2 0 2 0 con: ;s ?branch 2drop 2 0 2 0 compare 0= ?branch 2drop rdrop unloop 2 0 2 0 compare 0= ?branch 2drop rdrop 2 0 2 0 compare 0= ?branch 2drop 2 0 2 0 col: user: @ ;s ;s branch 2 0 2 0 col: user: @ ;s ;s 2 0 2 0 col: lit >code-address ;s ;s branch 2 0 2 0 col: lit >code-address ;s ;s 2 0 2 0 col: ?dup ?branch ;s branch ;s 2 0 2 0 col: >l lp- @local1 lit col: 2 0 2 0 col: >l lp- @local1 lit 2 0 2 0 code-address! ;s branch col: sp@ user: 2 0 2 0 code-address! ;s branch col: sp@ 2 0 2 0 code-address! ;s branch col: 2 0 2 0 code-address! ;s branch 2 0 2 0 close-file col: ?dup ?branch ;s branch 2 0 2 0 cell+ cell+ dup user: ! swap 2 0 2 0 cell+ cell+ dup user: ! 2 0 2 0 cell+ cell+ dup user: 2 0 2 0 cell+ cell+ dup 2 0 2 0 branch ;s (loop) unloop ;s ;s 2 0 2 0 branch ;s (loop) unloop ;s 2 0 2 0 branch ;s (loop) unloop 2 0 2 0 and ?branch nip nip execute code-address! 2 0 2 0 @local1 lp+ ;s ;s branch col: 2 0 2 0 @local1 lp+ ;s ;s branch 2 0 2 0 @local1 con: = or ?branch lp+ 2 0 2 0 @local1 ?branch lp+2 ;s var: @ 2 0 2 0 @local1 ?branch lp+2 ;s var: 2 0 2 0 @local1 ?branch lp+2 ;s col: col: 2 0 2 0 @ user: ! dup ?branch drop 2 0 2 0 @ col: >l lp- @local1 lit 2 0 2 0 @ col: >l lp- @local1 2 0 2 0 @ ?branch ;s ;s branch col: 2 0 2 0 @ ?branch ;s ;s branch 2 0 2 0 ?dup ?branch ;s branch ;s ;s 2 0 2 0 ?dup ?branch ;s branch ;s 2 0 2 0 ?branch rdrop ;s nip ?branch 2dup 2 0 2 0 ?branch nip nip execute code-address! ;s 2 0 2 0 ?branch nip nip execute code-address! 2 0 2 0 ?branch lp+2 ;s var: @ 2 0 2 0 ?branch lp+2 ;s var: 2 0 2 0 ?branch lp+2 ;s lp+ ;s var: 2 0 2 0 ?branch lp+2 ;s col: col: r> 2 0 2 0 ?branch lp+2 ;s col: col: 2 0 2 0 ?branch >code-address ;s ;s branch col: 2 0 2 0 ?branch >code-address ;s ;s branch 2 0 2 0 ?branch >code-address ;s ;s 2 0 2 0 ?branch >code-address ;s 2 0 2 0 ?branch >code-address 2 0 2 0 ?branch ;s branch ;s ;s ;s 2 0 2 0 ?branch ;s branch ;s ;s 2 0 2 0 ?branch 2r> defer: col: 2dup lit 2 0 2 0 ?branch 2r> defer: col: 2dup 2 0 2 0 ?branch 2r> defer: col: 2 0 2 0 ?branch 2r> defer: 2 0 2 0 ?branch 2r> 2 0 2 0 ?branch 2drop user: @ ?branch ;s 2 0 2 0 ?branch 2drop rdrop unloop con: ;s 2 0 2 0 ?branch 2drop rdrop unloop con: 2 0 2 0 ?branch 2drop rdrop unloop 2 0 2 0 ?branch 2drop con: ;s ?branch 2r> 2 0 2 0 ?branch 2drop con: ;s ?branch 2 0 2 0 ?branch 2drop close-file col: ?dup ?branch 2 0 2 0 ?branch 2drop close-file col: ?dup 2 0 2 0 ?branch 2drop close-file col: 2 0 2 0 ?branch 2drop close-file 2 0 2 0 >l lp- @local1 lit col: >l 2 0 2 0 >l lp- @local1 lit col: 2 0 2 0 >l lp- @local1 lit 2 0 2 0 >code-address lit = ?branch >code-address ;s 2 0 2 0 >code-address lit = ?branch >code-address 2 0 2 0 = or ?branch lp+ ;s @local1 2 0 2 0 = or ?branch lp+ ;s 2 0 2 0 = or ?branch lp+ 2 0 2 0 = ?branch >code-address ;s ;s branch 2 0 2 0 = ?branch >code-address ;s ;s 2 0 2 0 = ?branch >code-address ;s 2 0 2 0 = ?branch >code-address 2 0 2 0 <> ?branch rdrop ;s nip ?branch 2 0 2 0 <> ?branch rdrop ;s nip 2 0 2 0 ;s var: @ lit col: >l 2 0 2 0 ;s var: @ lit col: 2 0 2 0 ;s nip ?branch 2dup 2 0 2 0 ;s lp+ ;s var: @ col: 2 0 2 0 ;s lp+ ;s col: r@ defer: 2 0 2 0 ;s lp+ ;s col: r@ 2 0 2 0 ;s drop branch ;s (loop) unloop 2 0 2 0 ;s cr lp+ ;s var: @ 2 0 2 0 ;s cr lp+ ;s var: 2 0 2 0 ;s cell+ cell+ dup user: ! 2 0 2 0 ;s cell+ cell+ dup user: 2 0 2 0 ;s cell+ cell+ dup 2 0 2 0 ;s cell+ cell+ 2 0 2 0 ;s ?branch 2r> defer: col: 2dup 2 0 2 0 ;s ?branch 2r> defer: col: 2 0 2 0 ;s ?branch 2r> defer: 2 0 2 0 ;s ?branch 2r> 2 0 2 0 ;s ?branch 2drop close-file col: ?dup 2 0 2 0 ;s ?branch 2drop close-file col: 2 0 2 0 ;s ?branch 2drop close-file 2 0 2 0 ;s ?branch 2drop 2 0 2 0 ;s ;s cell+ cell+ dup user: 2 0 2 0 ;s ;s cell+ cell+ dup 2 0 2 0 ;s ;s cell+ cell+ 2 0 2 0 ;s ;s ;s cell+ cell+ dup 2 0 2 0 ;s ;s ;s cell+ cell+ 2 0 2 0 2r> defer: col: 2dup lit col: 2 0 2 0 2r> defer: col: 2dup lit 2 0 2 0 2r> defer: col: 2dup 2 0 2 0 2r> defer: col: 2 0 2 0 2r> defer: 2 0 2 0 2r> 2 0 2 0 2over compare 0= ?branch 2drop rdrop 2 0 2 0 2over compare 0= ?branch 2drop 2 0 2 0 2drop user: @ ?branch ;s ;s 2 0 2 0 2drop user: @ ?branch ;s 2 0 2 0 2drop rdrop unloop con: ;s ?branch 2 0 2 0 2drop rdrop unloop con: ;s 2 0 2 0 2drop rdrop unloop con: 2 0 2 0 2drop rdrop unloop 2 0 2 0 2drop lp+2 ;s lp+ ;s @local1 2 0 2 0 2drop con: ;s ?branch 2r> defer: 2 0 2 0 2drop con: ;s ?branch 2r> 2 0 2 0 2drop con: ;s ?branch 2 0 2 0 2drop close-file col: ?dup ?branch ;s 2 0 2 0 2drop close-file col: ?dup ?branch 2 0 2 0 2drop close-file col: ?dup 2 0 2 0 2drop close-file col: 2 0 2 0 2drop close-file 2 0 2 0 2@ 2over compare 0= ?branch 2drop 2 0 2 0 2! @local1 lp+ ;s ;s branch 2 0 2 0 0= ?branch 2drop rdrop unloop con: 2 0 2 0 0= ?branch 2drop rdrop unloop 2 0 2 0 0= ?branch 2drop rdrop 2 0 2 0 0= ?branch 2drop con: ;s ?branch 2 0 2 0 (type) ;s cr lp+ ;s var: 2 0 2 0 ! dup ?branch drop user: @ 2 0 2 0 ! dup ?branch drop user: 2 0 2 0 ! dup ?branch drop 2 0 1 1 open-file col: 2 0 1 1 nip nip execute col: con: 0= 2 0 1 1 nip execute col: con: 0= ?branch 2 0 1 1 nip execute col: con: 0= 2 0 1 1 lit (?do) unloop lit branch ;s 2 0 1 1 lit (?do) unloop lit branch 2 0 1 1 lit (?do) unloop lit 2 0 1 1 execute col: con: 0= ?branch lit 2 0 1 1 execute col: con: 0= ?branch 2 0 1 1 execute col: con: 0= 2 0 1 1 dup >r col: lit (?do) unloop 2 0 1 1 dup 0> 0= ?branch ;s 2 0 1 1 con: open-file col: 2 0 1 1 col: lit (?do) unloop lit branch 2 0 1 1 col: lit (?do) unloop lit 2 0 1 1 col: lit (?do) unloop 2 0 1 1 @ dup 0> 0= ?branch ;s 2 0 1 1 @ ;s @ ;s col: col: 2 0 1 1 >r col: lit (?do) unloop lit 2 0 1 1 >r col: lit (?do) unloop 2 0 1 1 0> 0= ?branch ;s 2 0 1 1 (?do) unloop lit branch ;s dup 2 0 1 1 (?do) unloop lit branch ;s 2 0 1 1 (?do) unloop lit branch 2 0 1 1 (?do) unloop lit 2 0 0 2 var: @ <> ?branch ;s ;s 2 0 0 2 var: @ <> ?branch ;s 2 0 0 2 var: @ ;s ;s branch col: 2 0 0 2 var: @ ;s ;s branch 2 0 0 2 r> ;s ;s ;s ;s branch 2 0 0 2 r> ;s ;s ;s ;s 2 0 0 2 nip nip execute col: 2dup col: 2 0 0 2 nip nip execute col: 2dup 2 0 0 2 nip execute col: 2dup col: lit 2 0 0 2 nip execute col: 2dup col: 2 0 0 2 nip execute col: 2dup 2 0 0 2 nip = ;s ?branch col: col: 2 0 0 2 nip = ;s ?branch col: 2 0 0 2 i cells + @ (loop) var: 2 0 0 2 execute col: 2dup col: lit col: 2 0 0 2 execute col: 2dup col: lit 2 0 0 2 execute col: 2dup col: 2 0 0 2 execute col: 2dup 2 0 0 2 dup var: ! col: col: user: 2 0 0 2 dup var: ! col: col: 2 0 0 2 col: dup ! ;s 2 0 0 2 col: dup ! 2 0 0 2 cells + @ (loop) var: cell+ 2 0 0 2 cells + @ (loop) var: 2 0 0 2 @ var: @ <> ?branch ;s 2 0 0 2 @ <> ?branch ;s ;s 2 0 0 2 @ <> ?branch ;s 2 0 0 2 @ ;s @ ;s var: ! 2 0 0 2 @ (loop) var: cell+ i cells 2 0 0 2 @ (loop) var: cell+ i 2 0 0 2 @ (loop) var: cell+ 2 0 0 2 @ (loop) var: 2 0 0 2 ?branch nip nip execute col: 2dup 2 0 0 2 <> ?branch ;s ;s 2 0 0 2 <> ?branch ;s 2 0 0 2 ;s @ ;s var: ! 2 0 0 2 2drop r> ;s ;s ;s ;s 2 0 0 2 2@ nip = ;s ?branch col: 2 0 0 2 + @ (loop) var: cell+ i 2 0 0 2 + @ (loop) var: cell+ 2 0 0 2 + @ (loop) var: 2 0 0 2 (loop) var: cell+ i cells + 2 0 0 2 (loop) var: cell+ i cells 2 0 0 2 (loop) var: cell+ i 2 0 0 2 (loop) var: cell+ 1 1 0 0 write-file col: ?dup ?branch ;s r> 1 1 0 0 var: over col: tuck allocate col: 1 1 0 0 var: over col: tuck allocate 1 1 0 0 var: over col: tuck 1 1 0 0 var: over col: 1 1 0 0 var: over 1- con: rshift 1+ 1 1 0 0 var: over 1- con: rshift 1 1 0 0 var: over 1- con: 1 1 0 0 var: over 1- 1 1 0 0 var: lit r@ write-file col: ?dup 1 1 0 0 var: lit r@ write-file col: 1 1 0 0 var: lit r@ write-file 1 1 0 0 var: lit r@ 1 1 0 0 var: @ dup ?branch dup col: 1 1 0 0 var: @ dup ?branch dup 1 1 0 0 var: @ ?dup ?branch @ col: 1 1 0 0 var: @ ?dup ?branch @ 1 1 0 0 var: @ ?dup ?branch 1 1 0 0 var: @ ?dup 1 1 0 0 var: @ ?branch col: col: r> 1 1 0 0 var: @ ;s r@ write-file col: 1 1 0 0 var: @ ;s r@ write-file 1 1 0 0 var: @ ;s r@ 1 1 0 0 var: @ ;s ;s col: over 1 1 0 0 var: @ ;s 1- con: rshift 1 1 0 0 var: @ ;s 1- con: 1 1 0 0 var: @ ;s 1- 1 1 0 0 var: ! ;s drop ;s ;s 1 1 0 0 var: ! ;s drop ;s 1 1 0 0 var: ! ;s drop 1 1 0 0 var: ! ;s ;s branch ;s 1 1 0 0 user: @ ?branch ;s ;s ;s 1 1 0 0 user: @ = ?branch user: @ 1 1 0 0 user: @ = ?branch user: 1 1 0 0 user: +! lit ;s (+loop) i 1 1 0 0 user: +! lit ;s (+loop) 1 1 0 0 user: +! lit ;s 1 1 0 0 user: +! ;s col: col: r> 1 1 0 0 unloop d>s ;s ;s ;s branch 1 1 0 0 swap ;s (?do) unloop ;s col: 1 1 0 0 swap ;s (?do) unloop ;s 1 1 0 0 swap ;s (?do) unloop 1 1 0 0 swap ! ;s cr col: col: 1 1 0 0 swap ! ;s cr col: 1 1 0 0 swap ! ;s cr 1 1 0 0 rshift 1+ r@ write-file col: ?dup 1 1 0 0 rshift 1+ r@ write-file col: 1 1 0 0 rshift 1+ r@ write-file 1 1 0 0 rshift 1+ r@ 1 1 0 0 rshift 1+ col: tuck allocate col: 1 1 0 0 rshift 1+ col: tuck allocate 1 1 0 0 rshift 1+ col: tuck 1 1 0 0 rshift 1+ col: 1 1 0 0 rdrop rdrop rdrop lit ;s ?dup 1 1 0 0 rdrop rdrop lit ;s ?dup ?branch 1 1 0 0 rdrop rdrop lit ;s ?dup 1 1 0 0 rdrop lit ;s ?dup ?branch r> 1 1 0 0 rdrop lit ;s ?dup ?branch 1 1 0 0 rdrop lit ;s ?dup 1 1 0 0 r> user: +! lit ;s (+loop) 1 1 0 0 r> user: +! lit ;s 1 1 0 0 r> user: +! lit 1 1 0 0 r> user: +! 1 1 0 0 r> close-file col: ?dup ?branch ;s 1 1 0 0 r> close-file col: ?dup ?branch 1 1 0 0 r> close-file col: ?dup 1 1 0 0 r> close-file col: 1 1 0 0 r> close-file 1 1 0 0 over col: tuck allocate col: col: 1 1 0 0 over col: tuck allocate col: 1 1 0 0 over col: tuck allocate 1 1 0 0 over col: tuck 1 1 0 0 over 1- con: rshift 1+ col: 1 1 0 0 over 1- con: rshift 1+ 1 1 0 0 over 1- con: rshift 1 1 0 0 over 1- con: 1 1 0 0 over 1- 1 1 0 0 over + swap ;s (?do) unloop 1 1 0 0 or ;s create-file col: ?dup ?branch 1 1 0 0 or ;s create-file col: ?dup 1 1 0 0 or ;s create-file col: 1 1 0 0 or ;s create-file 1 1 0 0 or ;s 1 1 0 0 nip nip execute move ;s branch 1 1 0 0 nip nip execute move ;s 1 1 0 0 nip nip execute move 1 1 0 0 nip nip execute col: var: over 1 1 0 0 nip nip execute col: drop ;s 1 1 0 0 nip nip execute col: drop 1 1 0 0 nip nip execute col: con: + 1 1 0 0 nip nip execute col: col: 2dup 1 1 0 0 nip nip execute col: 2* ;s 1 1 0 0 nip nip execute col: 2* 1 1 0 0 nip nip execute col: 1- ;s 1 1 0 0 nip nip execute col: 1- 1 1 0 0 nip nip execute col: * ;s 1 1 0 0 nip nip execute col: * 1 1 0 0 nip nip execute c! ;s branch 1 1 0 0 nip nip execute c! ;s 1 1 0 0 nip nip execute c! 1 1 0 0 nip nip execute 2! ;s branch 1 1 0 0 nip nip execute 2! ;s 1 1 0 0 nip nip execute 2! 1 1 0 0 nip execute move ;s branch col: 1 1 0 0 nip execute move ;s branch 1 1 0 0 nip execute move ;s 1 1 0 0 nip execute move 1 1 0 0 nip execute col: var: over 1- 1 1 0 0 nip execute col: var: over 1 1 0 0 nip execute col: var: @ swap 1 1 0 0 nip execute col: drop ;s ;s 1 1 0 0 nip execute col: drop ;s 1 1 0 0 nip execute col: drop 1 1 0 0 nip execute col: con: col: >r 1 1 0 0 nip execute col: con: + ;s 1 1 0 0 nip execute col: con: + 1 1 0 0 nip execute col: col: con: 0= 1 1 0 0 nip execute col: col: con: + 1 1 0 0 nip execute col: col: 2dup lit 1 1 0 0 nip execute col: col: 2dup 1 1 0 0 nip execute col: 2* ;s ;s 1 1 0 0 nip execute col: 2* ;s 1 1 0 0 nip execute col: 2* 1 1 0 0 nip execute col: 1- ;s ;s 1 1 0 0 nip execute col: 1- ;s 1 1 0 0 nip execute col: 1- 1 1 0 0 nip execute col: * ;s ;s 1 1 0 0 nip execute col: * ;s 1 1 0 0 nip execute col: * 1 1 0 0 nip execute c! ;s branch col: 1 1 0 0 nip execute c! ;s branch 1 1 0 0 nip execute c! ;s 1 1 0 0 nip execute c! 1 1 0 0 nip execute 2! ;s branch col: 1 1 0 0 nip execute 2! ;s branch 1 1 0 0 nip execute 2! ;s 1 1 0 0 nip execute 2! 1 1 0 0 move ;s branch col: sp@ user: 1 1 0 0 move ;s branch col: sp@ 1 1 0 0 move ;s branch col: 1 1 0 0 move ;s branch 1 1 0 0 lit r@ write-file col: ?dup ?branch 1 1 0 0 lit r@ write-file col: ?dup 1 1 0 0 lit r@ write-file col: 1 1 0 0 lit r@ write-file 1 1 0 0 lit or ;s create-file col: ?dup 1 1 0 0 lit or ;s create-file col: 1 1 0 0 lit or ;s create-file 1 1 0 0 lit or ;s 1 1 0 0 lit fill ;s ;s var: over 1 1 0 0 lit fill ;s ;s var: col: 1 1 0 0 lit ;s ?dup ?branch r> user: 1 1 0 0 lit ;s ?dup ?branch r> 1 1 0 0 lit ;s ?dup ?branch 1 1 0 0 lit ;s ?dup 1 1 0 0 lit ;s (+loop) i col: cells 1 1 0 0 lit ;s (+loop) i col: 1 1 0 0 lit ;s (+loop) i 1 1 0 0 lit ;s (+loop) 1 1 0 0 fill ;s ;s var: over col: 1 1 0 0 fill ;s ;s var: over 1 1 0 0 fill ;s ;s var: col: con: 1 1 0 0 fill ;s ;s var: col: 1 1 0 0 execute move ;s branch col: sp@ 1 1 0 0 execute move ;s branch col: 1 1 0 0 execute move ;s branch 1 1 0 0 execute move ;s 1 1 0 0 execute move 1 1 0 0 execute col: var: over 1- con: 1 1 0 0 execute col: var: over 1- 1 1 0 0 execute col: var: over 1 1 0 0 execute col: var: @ swap col: 1 1 0 0 execute col: var: @ swap 1 1 0 0 execute col: drop ;s ;s branch 1 1 0 0 execute col: drop ;s ;s 1 1 0 0 execute col: drop ;s 1 1 0 0 execute col: con: col: >r defer: 1 1 0 0 execute col: con: col: >r 1 1 0 0 execute col: con: + ;s ;s 1 1 0 0 execute col: con: + ;s 1 1 0 0 execute col: con: + 1 1 0 0 execute col: col: lit col: dup 1 1 0 0 execute col: col: con: 0= ?branch 1 1 0 0 execute col: col: con: 0= 1 1 0 0 execute col: col: con: + ;s 1 1 0 0 execute col: col: con: + 1 1 0 0 execute col: col: 2dup lit col: 1 1 0 0 execute col: col: 2dup lit 1 1 0 0 execute col: col: 2dup 1 1 0 0 execute col: col: 0= ?branch ;s 1 1 0 0 execute col: 2* ;s ;s branch 1 1 0 0 execute col: 2* ;s ;s 1 1 0 0 execute col: 2* ;s 1 1 0 0 execute col: 2* 1 1 0 0 execute col: 1- ;s ;s branch 1 1 0 0 execute col: 1- ;s ;s 1 1 0 0 execute col: 1- ;s 1 1 0 0 execute col: 1- 1 1 0 0 execute col: * ;s ;s branch 1 1 0 0 execute col: * ;s ;s 1 1 0 0 execute col: * ;s 1 1 0 0 execute col: * 1 1 0 0 execute c! ;s branch col: sp@ 1 1 0 0 execute c! ;s branch col: 1 1 0 0 execute c! ;s branch 1 1 0 0 execute c! ;s 1 1 0 0 execute c! 1 1 0 0 execute 2! ;s branch col: sp@ 1 1 0 0 execute 2! ;s branch col: 1 1 0 0 execute 2! ;s branch 1 1 0 0 execute 2! ;s 1 1 0 0 execute 2! 1 1 0 0 dup ?branch drop var: @ ?branch 1 1 0 0 dup ?branch drop var: @ 1 1 0 0 dup ?branch drop var: 1 1 0 0 dup ?branch ;s ?branch drop con: 1 1 0 0 drop var: @ ?branch col: col: 1 1 0 0 drop var: @ ?branch col: 1 1 0 0 drop var: @ ?branch 1 1 0 0 drop var: @ 1 1 0 0 drop con: ;s 0= ?branch col: 1 1 0 0 drop con: ;s 0= ?branch 1 1 0 0 drop con: ;s 0= 1 1 0 0 drop ;s ;s ;s ;s branch 1 1 0 0 defer: (type) con: col: lit or 1 1 0 0 defer: (type) con: col: lit 1 1 0 0 defer: (type) con: col: 1 1 0 0 defer: (type) con: 1 1 0 0 defer: (type) ;s var: @ dup 1 1 0 0 defer: (type) ;s var: @ 1 1 0 0 defer: (type) ;s cr ;s ;s 1 1 0 0 defer: (type) ;s 2dup defer: (type) 1 1 0 0 defer: (type) ;s 2dup defer: 1 1 0 0 defer: (type) ;s 2dup 1 1 0 0 d>s ;s ;s ;s branch col: 1 1 0 0 d>s ;s ;s ;s branch 1 1 0 0 create-file col: ?dup ?branch ;s >r 1 1 0 0 create-file col: ?dup ?branch ;s 1 1 0 0 create-file col: ?dup ?branch 1 1 0 0 create-file col: ?dup 1 1 0 0 create-file col: 1 1 0 0 count defer: (type) ;s var: @ 1 1 0 0 count defer: (type) ;s 2dup defer: 1 1 0 0 count defer: (type) ;s 2dup 1 1 0 0 con: swap ! ;s cr col: 1 1 0 0 con: swap ! ;s cr 1 1 0 0 con: rshift 1+ r@ write-file col: 1 1 0 0 con: rshift 1+ r@ write-file 1 1 0 0 con: rshift 1+ r@ 1 1 0 0 con: rshift 1+ col: tuck allocate 1 1 0 0 con: rshift 1+ col: tuck 1 1 0 0 con: rshift 1+ col: 1 1 0 0 con: col: lit or ;s create-file 1 1 0 0 con: col: lit or ;s 1 1 0 0 con: col: lit or 1 1 0 0 con: col: >r defer: col: col: 1 1 0 0 con: col: >r defer: col: 1 1 0 0 con: col: >r defer: 1 1 0 0 con: ;s 0= ?branch col: user: 1 1 0 0 con: ;s 0= ?branch col: 1 1 0 0 con: ;s 0= ?branch 1 1 0 0 con: ;s 0= 1 1 0 0 con: + ;s ;s branch col: 1 1 0 0 con: + ;s ;s branch 1 1 0 0 con: + ;s ;s ;s branch 1 1 0 0 con: + ;s ;s ;s 1 1 0 0 col: var: over 1- con: rshift 1 1 0 0 col: var: over 1- con: 1 1 0 0 col: var: over 1- 1 1 0 0 col: var: over 1 1 0 0 col: var: @ ;s r@ write-file 1 1 0 0 col: var: @ ;s r@ 1 1 0 0 col: var: @ ;s 1- con: 1 1 0 0 col: var: @ ;s 1- 1 1 0 0 col: lit or ;s create-file col: 1 1 0 0 col: lit or ;s create-file 1 1 0 0 col: lit or ;s 1 1 0 0 col: lit or 1 1 0 0 col: drop ;s ;s branch col: 1 1 0 0 col: drop ;s ;s branch 1 1 0 0 col: drop ;s ;s 1 1 0 0 col: drop ;s 1 1 0 0 col: con: swap ! ;s cr 1 1 0 0 col: con: col: >r defer: col: 1 1 0 0 col: con: col: >r defer: 1 1 0 0 col: con: col: >r 1 1 0 0 col: con: + ;s ;s branch 1 1 0 0 col: con: + ;s ;s ;s 1 1 0 0 col: col: con: 0= ?branch lit 1 1 0 0 col: col: con: 0= ?branch 1 1 0 0 col: col: con: 0= 1 1 0 0 col: col: 0= ?branch ;s ;s 1 1 0 0 col: col: 0= ?branch ;s 1 1 0 0 col: ?dup ?branch ;s r> close-file 1 1 0 0 col: ?dup ?branch ;s r> 1 1 0 0 col: ?dup ?branch ;s >r var: 1 1 0 0 col: ?dup ?branch ;s >r 1 1 0 0 col: 2* ;s ;s branch col: 1 1 0 0 col: 2* ;s ;s branch 1 1 0 0 col: 2* ;s ;s 1 1 0 0 col: 2* ;s 1 1 0 0 col: 2* 1 1 0 0 col: 1- ;s ;s branch col: 1 1 0 0 col: 1- ;s ;s branch 1 1 0 0 col: 1- ;s ;s 1 1 0 0 col: 1- ;s 1 1 0 0 col: * ;s ;s branch col: 1 1 0 0 col: * ;s ;s branch 1 1 0 0 col: * ;s ;s 1 1 0 0 col: * ;s 1 1 0 0 col: * 1 1 0 0 close-file col: ?dup ?branch ;s ;s 1 1 0 0 c! ;s branch col: sp@ user: 1 1 0 0 c! ;s branch col: sp@ 1 1 0 0 c! ;s branch col: 1 1 0 0 c! ;s branch 1 1 0 0 branch @ dup ?branch drop var: 1 1 0 0 branch @ dup ?branch drop 1 1 0 0 branch 2dup u> 0= ?branch dup 1 1 0 0 and ?branch nip nip execute move 1 1 0 0 and ?branch nip nip execute c! 1 1 0 0 and ?branch nip nip execute 2! 1 1 0 0 @ user: @ = ?branch user: 1 1 0 0 @ dup ?branch drop var: @ 1 1 0 0 @ dup ?branch drop var: 1 1 0 0 @ col: var: @ ;s r@ 1 1 0 0 @ col: var: @ ;s 1- 1 1 0 0 @ col: col: var: @ ;s 1 1 0 0 @ col: col: var: @ 1 1 0 0 @ col: col: var: 1 1 0 0 @ ?dup ?branch @ col: col: 1 1 0 0 @ ?dup ?branch @ col: 1 1 0 0 @ ?dup ?branch @ 1 1 0 0 @ ?branch col: col: r> r> 1 1 0 0 @ ?branch ;s ;s ;s branch 1 1 0 0 @ ?branch ;s ;s ;s 1 1 0 0 @ = ?branch user: @ user: 1 1 0 0 @ = ?branch user: @ 1 1 0 0 @ = ?branch user: 1 1 0 0 @ ;s r@ write-file col: ?dup 1 1 0 0 @ ;s r@ write-file col: 1 1 0 0 @ ;s r@ write-file 1 1 0 0 @ ;s r@ 1 1 0 0 @ ;s @ ;s ;s branch 1 1 0 0 @ ;s ;s col: over col: 1 1 0 0 @ ;s ;s col: over 1 1 0 0 @ ;s 1- con: rshift 1+ 1 1 0 0 @ ;s 1- con: rshift 1 1 0 0 @ ;s 1- con: 1 1 0 0 @ ;s 1- 1 1 0 0 ?dup ?branch r> user: +! lit 1 1 0 0 ?dup ?branch r> user: +! 1 1 0 0 ?dup ?branch r> user: 1 1 0 0 ?dup ?branch r> 1 1 0 0 ?dup ?branch @ col: col: var: 1 1 0 0 ?dup ?branch @ col: col: 1 1 0 0 ?dup ?branch @ col: 1 1 0 0 ?dup ?branch @ 1 1 0 0 ?dup ?branch ;s r> close-file col: 1 1 0 0 ?dup ?branch ;s r> close-file 1 1 0 0 ?dup ?branch ;s r> 1 1 0 0 ?dup ?branch ;s >r var: lit 1 1 0 0 ?dup ?branch ;s >r var: 1 1 0 0 ?dup ?branch ;s >r 1 1 0 0 ?dup ?branch ;s ;s ;s branch 1 1 0 0 ?branch user: @ user: ! user: 1 1 0 0 ?branch user: @ user: ! 1 1 0 0 ?branch user: @ user: 1 1 0 0 ?branch r> user: +! lit ;s 1 1 0 0 ?branch r> user: +! lit 1 1 0 0 ?branch r> user: +! 1 1 0 0 ?branch nip nip execute move ;s 1 1 0 0 ?branch nip nip execute move 1 1 0 0 ?branch nip nip execute col: drop 1 1 0 0 ?branch nip nip execute col: 2* 1 1 0 0 ?branch nip nip execute col: 1- 1 1 0 0 ?branch nip nip execute col: * 1 1 0 0 ?branch nip nip execute c! ;s 1 1 0 0 ?branch nip nip execute c! 1 1 0 0 ?branch nip nip execute 2! ;s 1 1 0 0 ?branch nip nip execute 2! 1 1 0 0 ?branch drop var: @ ?branch col: 1 1 0 0 ?branch drop var: @ ?branch 1 1 0 0 ?branch drop var: @ 1 1 0 0 ?branch drop var: 1 1 0 0 ?branch drop con: ;s 0= ?branch 1 1 0 0 ?branch drop con: ;s 0= 1 1 0 0 ?branch col: user: @ ?branch defer: 1 1 0 0 ?branch @ col: col: var: @ 1 1 0 0 ?branch @ col: col: var: 1 1 0 0 ?branch @ col: col: 1 1 0 0 ?branch @ col: 1 1 0 0 ?branch ;s r> close-file col: ?dup 1 1 0 0 ?branch ;s r> close-file col: 1 1 0 0 ?branch ;s r> close-file 1 1 0 0 ?branch ;s ?branch drop con: ;s 1 1 0 0 ?branch ;s ?branch drop con: 1 1 0 0 ?branch ;s >r var: lit r@ 1 1 0 0 ?branch ;s >r var: lit 1 1 0 0 ?branch ;s >r var: 1 1 0 0 ?branch ;s >r 1 1 0 0 >r var: lit r@ write-file col: 1 1 0 0 >r var: lit r@ write-file 1 1 0 0 >r var: lit r@ 1 1 0 0 = ?branch user: @ user: ! 1 1 0 0 = ?branch user: @ user: 1 1 0 0 = ?branch user: @ 1 1 0 0 = ?branch user: 1 1 0 0 ;s var: over col: tuck allocate 1 1 0 0 ;s var: over col: tuck 1 1 0 0 ;s var: over col: 1 1 0 0 ;s var: over 1 1 0 0 ;s var: @ dup ?branch dup 1 1 0 0 ;s var: @ dup ?branch 1 1 0 0 ;s var: @ ?dup ?branch @ 1 1 0 0 ;s var: @ ?dup ?branch 1 1 0 0 ;s var: @ ?dup 1 1 0 0 ;s var: ! ;s drop ;s 1 1 0 0 ;s var: ! ;s drop 1 1 0 0 ;s r@ write-file col: ?dup ?branch 1 1 0 0 ;s r@ write-file col: ?dup 1 1 0 0 ;s r@ write-file col: 1 1 0 0 ;s r@ write-file 1 1 0 0 ;s r> close-file col: ?dup ?branch 1 1 0 0 ;s r> close-file col: ?dup 1 1 0 0 ;s r> close-file col: 1 1 0 0 ;s r> close-file 1 1 0 0 ;s drop ;s ;s ;s ;s 1 1 0 0 ;s create-file col: ?dup ?branch ;s 1 1 0 0 ;s create-file col: ?dup ?branch 1 1 0 0 ;s create-file col: ?dup 1 1 0 0 ;s create-file col: 1 1 0 0 ;s create-file 1 1 0 0 ;s count defer: (type) ;s 2dup 1 1 0 0 ;s branch @ dup ?branch drop 1 1 0 0 ;s ?dup ?branch r> user: +! 1 1 0 0 ;s ?dup ?branch r> user: 1 1 0 0 ;s ?dup ?branch r> 1 1 0 0 ;s ?branch drop con: ;s 0= 1 1 0 0 ;s ?branch drop con: ;s 1 1 0 0 ;s >r var: lit r@ write-file 1 1 0 0 ;s >r var: lit r@ 1 1 0 0 ;s >r var: lit 1 1 0 0 ;s ;s var: over col: tuck 1 1 0 0 ;s ;s var: over col: 1 1 0 0 ;s ;s var: over 1 1 0 0 ;s ;s var: @ ?dup ?branch 1 1 0 0 ;s ;s var: @ ?dup 1 1 0 0 ;s ;s var: ! ;s ;s 1 1 0 0 ;s ;s col: over col: ;s 1 1 0 0 ;s ;s col: over col: 1 1 0 0 ;s ;s ;s var: @ ?dup 1 1 0 0 ;s ;s ;s col: con: col: 1 1 0 0 ;s ;s ;s ;s var: @ 1 1 0 0 ;s ;s ;s ;s var: 1 1 0 0 ;s ;s ;s ;s col: con: 1 1 0 0 ;s 2dup defer: (type) con: col: 1 1 0 0 ;s 2dup defer: (type) con: 1 1 0 0 ;s 1- con: rshift 1+ r@ 1 1 0 0 ;s 1- con: rshift 1+ 1 1 0 0 ;s 1- con: rshift 1 1 0 0 ;s 1- con: 1 1 0 0 ;s 0= ?branch col: user: @ 1 1 0 0 ;s 0= ?branch col: user: 1 1 0 0 ;s (?do) unloop ;s col: col: 1 1 0 0 ;s (?do) unloop ;s col: 1 1 0 0 ;s (?do) unloop ;s 1 1 0 0 ;s (?do) unloop 1 1 0 0 ;s (+loop) i col: cells var: 1 1 0 0 ;s (+loop) i col: cells 1 1 0 0 ;s (+loop) i col: 1 1 0 0 ;s (+loop) i 1 1 0 0 ;s (+loop) 1 1 0 0 2dup defer: (type) con: col: lit 1 1 0 0 2dup defer: (type) con: col: 1 1 0 0 2dup defer: (type) con: 1 1 0 0 2drop ;s ;s ;s ;s var: 1 1 0 0 2* ;s ;s branch col: sp@ 1 1 0 0 2* ;s ;s branch col: 1 1 0 0 2* ;s ;s branch 1 1 0 0 2* ;s ;s 1 1 0 0 2! ;s branch col: sp@ user: 1 1 0 0 2! ;s branch col: sp@ 1 1 0 0 2! ;s branch col: 1 1 0 0 1- con: rshift 1+ r@ write-file 1 1 0 0 1- con: rshift 1+ r@ 1 1 0 0 1- con: rshift 1+ col: tuck 1 1 0 0 1- con: rshift 1+ col: 1 1 0 0 1- ;s ;s branch col: sp@ 1 1 0 0 1- ;s ;s branch col: 1 1 0 0 1- ;s ;s branch 1 1 0 0 1- ;s ;s 1 1 0 0 1+ r@ write-file col: ?dup ?branch 1 1 0 0 1+ r@ write-file col: ?dup 1 1 0 0 1+ r@ write-file col: 1 1 0 0 1+ r@ write-file 1 1 0 0 1+ r@ 1 1 0 0 1+ col: tuck allocate col: col: 1 1 0 0 1+ col: tuck allocate col: 1 1 0 0 1+ col: tuck allocate 1 1 0 0 1+ col: tuck 1 1 0 0 0= ?branch col: user: @ ?branch 1 1 0 0 0= ?branch col: user: @ 1 1 0 0 0= ?branch col: user: 1 1 0 0 +! lit ;s (+loop) i col: 1 1 0 0 +! lit ;s (+loop) i 1 1 0 0 +! lit ;s (+loop) 1 1 0 0 +! lit ;s 1 1 0 0 +! ;s col: col: r> r> 1 1 0 0 +! ;s col: col: r> 1 1 0 0 + swap ;s (?do) unloop ;s 1 1 0 0 + swap ;s (?do) unloop 1 1 0 0 + ;s var: ! ;s drop 1 1 0 0 + ;s ;s ;s branch col: 1 1 0 0 + ;s ;s ;s branch 1 1 0 0 (type) con: col: lit or ;s 1 1 0 0 (type) con: col: lit or 1 1 0 0 (type) con: col: lit 1 1 0 0 (type) con: col: 1 1 0 0 (type) con: 1 1 0 0 (type) ;s var: @ dup ?branch 1 1 0 0 (type) ;s var: @ dup 1 1 0 0 (type) ;s var: @ 1 1 0 0 (type) ;s cr ;s ;s branch 1 1 0 0 (type) ;s cr ;s ;s 1 1 0 0 (type) ;s 2dup defer: (type) con: 1 1 0 0 (type) ;s 2dup defer: (type) 1 1 0 0 (type) ;s 2dup defer: 1 1 0 0 (type) ;s 2dup 1 1 0 0 (?do) unloop ;s col: col: col: 1 1 0 0 ! ;s cr col: col: r> 1 1 0 0 ! ;s cr col: col: 1 1 0 0 ! ;s cr col: 1 1 0 0 ! ;s cr 1 0 1 0 var: r> ;s col: user: @ 1 0 1 0 var: r> ;s col: user: 1 0 1 0 var: r> ;s col: 1 0 1 0 var: @ col: >l lp- con: 1 0 1 0 var: = ?branch con: @local1 col: 1 0 1 0 var: = ?branch con: @local1 1 0 1 0 var: = ?branch con: 1 0 1 0 var: = ?branch @local1 con: col: 1 0 1 0 var: = ?branch @local1 con: 1 0 1 0 user: @ swap ! col: r> 1 0 1 0 user: @ swap ! col: 1 0 1 0 user: @ swap ! 1 0 1 0 swap col: user: @ ?branch col: 1 0 1 0 swap col: user: @ ?branch 1 0 1 0 swap col: user: @ 1 0 1 0 swap col: user: 1 0 1 0 swap - ;s col: col: col: 1 0 1 0 swap - ;s col: col: 1 0 1 0 sfloats ;s branch col: sp@ user: 1 0 1 0 sfloats ;s branch col: sp@ 1 0 1 0 sfloats ;s branch col: 1 0 1 0 sfloats ;s branch 1 0 1 0 sfloats ;s 1 0 1 0 sfloats 1 0 1 0 rdrop ;s nip ?branch 2dup con: 1 0 1 0 rdrop ;s nip ?branch 2dup >float 1 0 1 0 rdrop ;s dup 0= ?branch 2drop 1 0 1 0 r@ cmove var: r> ;s col: 1 0 1 0 r> drop r> col: col: col: 1 0 1 0 r> drop r> col: col: 1 0 1 0 r> drop r> col: 1 0 1 0 r> drop r> 1 0 1 0 r> ;s col: user: @ >r 1 0 1 0 r> ;s col: user: @ 1 0 1 0 r> ;s col: user: 1 0 1 0 r> ;s col: 1 0 1 0 open-file col: ?dup ?branch ;s -rot 1 0 1 0 open-file col: ?dup ?branch ;s 1 0 1 0 open-file col: ?dup ?branch 1 0 1 0 open-file col: ?dup 1 0 1 0 nip nip execute sfloats ;s branch 1 0 1 0 nip nip execute sfloats ;s 1 0 1 0 nip nip execute sfloats 1 0 1 0 nip nip execute invert ;s branch 1 0 1 0 nip nip execute invert ;s 1 0 1 0 nip nip execute invert 1 0 1 0 nip nip execute floats ;s branch 1 0 1 0 nip nip execute floats ;s 1 0 1 0 nip nip execute floats 1 0 1 0 nip nip execute fasin ;s branch 1 0 1 0 nip nip execute fasin ;s 1 0 1 0 nip nip execute fasin 1 0 1 0 nip nip execute f* ;s branch 1 0 1 0 nip nip execute f* ;s 1 0 1 0 nip nip execute f* 1 0 1 0 nip nip execute does: col: r> 1 0 1 0 nip nip execute dfloats ;s branch 1 0 1 0 nip nip execute dfloats ;s 1 0 1 0 nip nip execute dfloats 1 0 1 0 nip nip execute cell+ ;s branch 1 0 1 0 nip nip execute cell+ ;s 1 0 1 0 nip nip execute cell+ 1 0 1 0 nip nip execute >code-address ;s branch 1 0 1 0 nip nip execute >code-address ;s 1 0 1 0 nip nip execute >code-address 1 0 1 0 nip execute sfloats ;s branch col: 1 0 1 0 nip execute sfloats ;s branch 1 0 1 0 nip execute sfloats ;s 1 0 1 0 nip execute sfloats 1 0 1 0 nip execute invert ;s branch col: 1 0 1 0 nip execute invert ;s branch 1 0 1 0 nip execute invert ;s 1 0 1 0 nip execute invert 1 0 1 0 nip execute floats ;s branch col: 1 0 1 0 nip execute floats ;s branch 1 0 1 0 nip execute floats ;s 1 0 1 0 nip execute floats 1 0 1 0 nip execute fasin ;s branch col: 1 0 1 0 nip execute fasin ;s branch 1 0 1 0 nip execute fasin ;s 1 0 1 0 nip execute fasin 1 0 1 0 nip execute f* ;s branch col: 1 0 1 0 nip execute f* ;s branch 1 0 1 0 nip execute f* ;s 1 0 1 0 nip execute f* 1 0 1 0 nip execute does: col: r> dup 1 0 1 0 nip execute does: col: r> 1 0 1 0 nip execute dfloats ;s branch col: 1 0 1 0 nip execute dfloats ;s branch 1 0 1 0 nip execute dfloats ;s 1 0 1 0 nip execute dfloats 1 0 1 0 nip execute col: var: @ col: 1 0 1 0 nip execute col: col: >l >l 1 0 1 0 nip execute col: >l >l does: 1 0 1 0 nip execute cell+ ;s branch col: 1 0 1 0 nip execute cell+ ;s branch 1 0 1 0 nip execute cell+ ;s 1 0 1 0 nip execute cell+ 1 0 1 0 nip execute >code-address ;s branch col: 1 0 1 0 nip execute >code-address ;s branch 1 0 1 0 nip execute >code-address ;s 1 0 1 0 nip execute >code-address 1 0 1 0 nip ?branch 2dup con: open-file col: 1 0 1 0 nip ?branch 2dup con: open-file 1 0 1 0 nip ?branch 2dup con: 1 0 1 0 nip ;s - dup ?branch r> 1 0 1 0 lp- con: col: >l lp- var: 1 0 1 0 lp- con: col: >l lp- 1 0 1 0 lp- con: col: >l 1 0 1 0 lp- con: col: 1 0 1 0 lp- col: r@ defer: col: cr 1 0 1 0 lp- col: r@ defer: col: 1 0 1 0 lp- col: r@ defer: 1 0 1 0 lp- col: r@ 1 0 1 0 lp- @local2 @local1 field: ! @local3 1 0 1 0 lp- @local2 @local1 field: ! 1 0 1 0 lp+2 ;s var: @ lit col: 1 0 1 0 lp+2 ;s var: @ lit 1 0 1 0 lp+2 ;s var: @ col: >l 1 0 1 0 lp+2 ;s var: @ col: 1 0 1 0 lp+2 ;s ;s ;s branch col: 1 0 1 0 lp+2 ;s ;s ;s branch 1 0 1 0 lp+2 ;s ;s ;s 1 0 1 0 lp+!# ;s lp+ ;s col: col: 1 0 1 0 lp+!# ;s lp+ ;s col: 1 0 1 0 lp+!# ;s lp+ ;s @local1 lit 1 0 1 0 lp+ ;s var: @ lit col: 1 0 1 0 lp+ ;s var: @ lit 1 0 1 0 lp+ ;s lp+ ;s var: @ 1 0 1 0 lp+ ;s lp+ ;s var: 1 0 1 0 lp+ ;s @local1 lit col: >l 1 0 1 0 lp+ ;s @local1 lit col: 1 0 1 0 lp+ ;s @local1 lit 1 0 1 0 lp+ ;s @local1 field: @ var: 1 0 1 0 lit col: dup negate user: +! 1 0 1 0 lit col: dup negate user: 1 0 1 0 lit col: dup negate 1 0 1 0 invert ;s branch col: sp@ user: 1 0 1 0 invert ;s branch col: sp@ 1 0 1 0 invert ;s branch col: 1 0 1 0 invert ;s branch 1 0 1 0 floats ;s branch col: sp@ user: 1 0 1 0 floats ;s branch col: sp@ 1 0 1 0 floats ;s branch col: 1 0 1 0 floats ;s branch 1 0 1 0 floats ;s 1 0 1 0 float+ dup user: ! swap ! 1 0 1 0 float+ dup user: ! swap 1 0 1 0 float+ dup user: ! 1 0 1 0 float+ dup user: 1 0 1 0 float+ dup 1 0 1 0 float+ 1 0 1 0 field: @ var: = ?branch con: 1 0 1 0 field: ! @local3 @local1 field: ! 1 0 1 0 field: ! @local3 @local1 field: 1 0 1 0 field: ! @local3 @local1 1 0 1 0 field: ! @local3 1 0 1 0 field: ! @local1 lp+2 ;s ;s 1 0 1 0 field: ! @local1 lp+2 ;s 1 0 1 0 field: ! @local1 lp+2 1 0 1 0 fasin ;s branch col: sp@ user: 1 0 1 0 fasin ;s branch col: sp@ 1 0 1 0 fasin ;s branch col: 1 0 1 0 fasin ;s branch 1 0 1 0 fasin ;s 1 0 1 0 fasin 1 0 1 0 f* ;s branch col: sp@ user: 1 0 1 0 f* ;s branch col: sp@ 1 0 1 0 f* ;s branch col: 1 0 1 0 f* ;s branch 1 0 1 0 f* ;s 1 0 1 0 f* 1 0 1 0 f! ;s col: r> /does-handler + 1 0 1 0 f! ;s col: r> /does-handler 1 0 1 0 f! ;s col: r> 1 0 1 0 f! ;s col: 1 0 1 0 execute sfloats ;s branch col: sp@ 1 0 1 0 execute sfloats ;s branch col: 1 0 1 0 execute sfloats ;s branch 1 0 1 0 execute sfloats ;s 1 0 1 0 execute sfloats 1 0 1 0 execute invert ;s branch col: sp@ 1 0 1 0 execute invert ;s branch col: 1 0 1 0 execute invert ;s branch 1 0 1 0 execute invert ;s 1 0 1 0 execute invert 1 0 1 0 execute floats ;s branch col: sp@ 1 0 1 0 execute floats ;s branch col: 1 0 1 0 execute floats ;s branch 1 0 1 0 execute floats ;s 1 0 1 0 execute floats 1 0 1 0 execute fasin ;s branch col: sp@ 1 0 1 0 execute fasin ;s branch col: 1 0 1 0 execute fasin ;s branch 1 0 1 0 execute fasin ;s 1 0 1 0 execute fasin 1 0 1 0 execute f* ;s branch col: sp@ 1 0 1 0 execute f* ;s branch col: 1 0 1 0 execute f* ;s branch 1 0 1 0 execute f* ;s 1 0 1 0 execute f* 1 0 1 0 execute does: col: r> dup cell+ 1 0 1 0 execute does: col: r> dup 1 0 1 0 execute does: col: r> 1 0 1 0 execute dfloats ;s branch col: sp@ 1 0 1 0 execute dfloats ;s branch col: 1 0 1 0 execute dfloats ;s branch 1 0 1 0 execute dfloats ;s 1 0 1 0 execute dfloats 1 0 1 0 execute col: var: @ col: >l 1 0 1 0 execute col: var: @ col: 1 0 1 0 execute col: user: @ col: faligned 1 0 1 0 execute col: lit col: dup negate 1 0 1 0 execute col: col: >l >l >l 1 0 1 0 execute col: col: >l >l 1 0 1 0 execute col: >l >l does: 2@ 1 0 1 0 execute col: >l >l does: 1 0 1 0 execute cell+ ;s branch col: sp@ 1 0 1 0 execute cell+ ;s branch col: 1 0 1 0 execute cell+ ;s branch 1 0 1 0 execute cell+ ;s 1 0 1 0 execute cell+ 1 0 1 0 execute >code-address ;s branch col: sp@ 1 0 1 0 execute >code-address ;s branch col: 1 0 1 0 execute >code-address ;s branch 1 0 1 0 execute >code-address ;s 1 0 1 0 execute >code-address 1 0 1 0 dup ?branch rdrop ;s dup 0= 1 0 1 0 dup ?branch rdrop ;s dup 1 0 1 0 dup ?branch r> drop r> col: 1 0 1 0 dup ?branch r> drop r> 1 0 1 0 dup ?branch r> drop 1 0 1 0 dup ?branch execute col: lit col: 1 0 1 0 dup ?branch execute col: lit 1 0 1 0 dup ?branch 0> ?branch swap col: 1 0 1 0 dup ?branch 0> ?branch swap 1 0 1 0 dup 0> 0= ?branch ;s dup 1 0 1 0 dup 0= ?branch 2drop 2dup lit 1 0 1 0 dup 0= ?branch 2drop 2dup 1 0 1 0 dup 0= ?branch 2drop 1 0 1 0 drop ;s user: @ swap ! 1 0 1 0 drop ;s user: @ swap 1 0 1 0 drop ;s user: @ 1 0 1 0 drop ;s ;s drop col: r> 1 0 1 0 drop ;s ;s drop col: 1 0 1 0 drop ;s ;s drop 1 0 1 0 drop ;s ;s ;s float+ dup 1 0 1 0 drop ;s ;s ;s float+ 1 0 1 0 drop ;s ;s ;s ;s cr 1 0 1 0 drop + >r ;s var: @ 1 0 1 0 drop + >r ;s con: col: 1 0 1 0 drop + >r ;s con: 1 0 1 0 drop + >r ;s col: col: 1 0 1 0 drop + >r ;s col: 1 0 1 0 does: col: r> dup cell+ >r 1 0 1 0 does: col: r> dup cell+ 1 0 1 0 does: col: r> dup 1 0 1 0 does: col: r> 1 0 1 0 dfloats ;s branch col: sp@ user: 1 0 1 0 dfloats ;s branch col: sp@ 1 0 1 0 dfloats ;s branch col: 1 0 1 0 dfloats ;s branch 1 0 1 0 dfloats ;s 1 0 1 0 dfloats 1 0 1 0 defer: (type) compare 0<> ?branch col: 1 0 1 0 defer: (type) branch col: lit does: 1 0 1 0 defer: (type) branch col: lit 1 0 1 0 defer: (type) branch col: 1 0 1 0 defer: (type) branch 1 0 1 0 defer: (type) ;s defer: (type) branch 1 0 1 0 con: open-file col: ?dup ?branch ;s 1 0 1 0 con: open-file col: ?dup ?branch 1 0 1 0 con: open-file col: ?dup 1 0 1 0 con: col: >l >l @local0 ?branch 1 0 1 0 con: col: >l >l @local0 1 0 1 0 con: col: >l >l 1 0 1 0 con: @local1 col: >l >l @local0 1 0 1 0 con: @local1 col: >l >l 1 0 1 0 con: @local1 col: >l 1 0 1 0 con: @local1 col: 1 0 1 0 con: @local1 1 0 1 0 con: ! ;s (loop) unloop ;s 1 0 1 0 con: ! ;s (loop) unloop 1 0 1 0 compare 0<> ?branch col: col: r> 1 0 1 0 compare 0<> ?branch col: col: 1 0 1 0 compare 0<> ?branch col: 1 0 1 0 col: var: @ col: >l lp- 1 0 1 0 col: var: @ col: >l 1 0 1 0 col: user: @ col: faligned dup 1 0 1 0 col: user: @ col: faligned 1 0 1 0 col: lit col: dup negate user: 1 0 1 0 col: lit col: dup negate 1 0 1 0 col: col: user: @ swap - 1 0 1 0 col: col: user: @ swap 1 0 1 0 col: col: >l >l >l >l 1 0 1 0 col: col: >l >l >l 1 0 1 0 col: col: >l >l 1 0 1 0 col: ?dup ?branch ;s -rot >r 1 0 1 0 col: ?dup ?branch ;s -rot 1 0 1 0 col: >l lp- con: col: >l 1 0 1 0 col: >l lp- con: col: 1 0 1 0 col: >l lp- col: r@ defer: 1 0 1 0 col: >l lp- col: r@ 1 0 1 0 col: >l >l does: 2@ ;s 1 0 1 0 col: >l >l does: 2@ 1 0 1 0 col: >l >l does: 1 0 1 0 cmove var: r> ;s col: user: 1 0 1 0 cmove var: r> ;s col: 1 0 1 0 cell+ dup @ 0< ?branch drop 1 0 1 0 cell+ ;s branch col: sp@ user: 1 0 1 0 cell+ ;s branch col: sp@ 1 0 1 0 cell+ ;s branch col: 1 0 1 0 cell+ ;s branch 1 0 1 0 branch dup ?branch rdrop ;s dup 1 0 1 0 branch dup ?branch execute col: lit 1 0 1 0 branch drop ;s ;s ;s float+ 1 0 1 0 branch col: lit does: swap lit 1 0 1 0 branch col: lit does: swap 1 0 1 0 branch col: lit does: 1 0 1 0 branch col: lit 1 0 1 0 branch col: con: @ col: 2dup 1 0 1 0 branch col: con: @ col: 1 0 1 0 branch col: con: @ 1 0 1 0 branch col: con: 1 0 1 0 and ?branch nip nip execute sfloats 1 0 1 0 and ?branch nip nip execute invert 1 0 1 0 and ?branch nip nip execute floats 1 0 1 0 and ?branch nip nip execute fasin 1 0 1 0 and ?branch nip nip execute f* 1 0 1 0 and ?branch nip nip execute dfloats 1 0 1 0 and ?branch nip nip execute cell+ 1 0 1 0 and ?branch nip nip execute >code-address 1 0 1 0 @local3 @local1 field: ! @local1 lp+2 1 0 1 0 @local3 @local1 field: ! @local1 1 0 1 0 @local3 @local1 field: ! 1 0 1 0 @local2 @local1 field: ! @local3 @local1 1 0 1 0 @local2 @local1 field: ! @local3 1 0 1 0 @local2 @local1 field: ! 1 0 1 0 @local1 lp+2 ;s ;s branch col: 1 0 1 0 @local1 lp+2 ;s ;s branch 1 0 1 0 @local1 lp+2 ;s ;s 1 0 1 0 @local1 lp+2 ;s 1 0 1 0 @local1 lp+2 1 0 1 0 @local1 field: ! @local3 @local1 field: 1 0 1 0 @local1 field: ! @local3 @local1 1 0 1 0 @local1 field: ! @local3 1 0 1 0 @local1 field: ! @local1 lp+2 ;s 1 0 1 0 @local1 field: ! @local1 lp+2 1 0 1 0 @local1 con: col: >l >l @local0 1 0 1 0 @local1 con: col: >l >l 1 0 1 0 @local1 con: col: >l 1 0 1 0 @local1 col: >l >l @local0 ?branch 1 0 1 0 @ var: = ?branch con: @local1 1 0 1 0 @ var: = ?branch con: 1 0 1 0 @ var: = ?branch @local1 con: 1 0 1 0 @ swap - ;s col: col: 1 0 1 0 @ swap ! col: r> dup 1 0 1 0 @ swap ! col: r> 1 0 1 0 @ swap ! col: 1 0 1 0 @ swap ! 1 0 1 0 @ col: col: user: @ swap 1 0 1 0 @ col: >l lp- con: col: 1 0 1 0 @ col: >l lp- con: 1 0 1 0 @ col: >l lp- col: r@ 1 0 1 0 @ 0< ?branch drop ;s ;s 1 0 1 0 ?dup ?branch ;s -rot >r var: 1 0 1 0 ?dup ?branch ;s -rot >r 1 0 1 0 ?dup ?branch ;s -rot 1 0 1 0 ?branch user: +! ;s 2drop ;s 1 0 1 0 ?branch swap col: user: @ ?branch 1 0 1 0 ?branch swap col: user: @ 1 0 1 0 ?branch swap col: user: 1 0 1 0 ?branch swap col: 1 0 1 0 ?branch r> drop r> col: col: 1 0 1 0 ?branch r> drop r> col: 1 0 1 0 ?branch r> drop r> 1 0 1 0 ?branch r> drop 1 0 1 0 ?branch nip nip execute sfloats ;s 1 0 1 0 ?branch nip nip execute sfloats 1 0 1 0 ?branch nip nip execute invert ;s 1 0 1 0 ?branch nip nip execute invert 1 0 1 0 ?branch nip nip execute floats ;s 1 0 1 0 ?branch nip nip execute floats 1 0 1 0 ?branch nip nip execute fasin ;s 1 0 1 0 ?branch nip nip execute fasin 1 0 1 0 ?branch nip nip execute f* ;s 1 0 1 0 ?branch nip nip execute f* 1 0 1 0 ?branch nip nip execute dfloats ;s 1 0 1 0 ?branch nip nip execute dfloats 1 0 1 0 ?branch nip nip execute cell+ ;s 1 0 1 0 ?branch nip nip execute cell+ 1 0 1 0 ?branch nip nip execute >code-address ;s 1 0 1 0 ?branch nip nip execute >code-address 1 0 1 0 ?branch lp+2 ;s var: @ lit 1 0 1 0 ?branch lp+2 ;s var: @ col: 1 0 1 0 ?branch lp+!# ;s lp+ ;s col: 1 0 1 0 ?branch lp+!# ;s lp+ ;s @local1 1 0 1 0 ?branch execute col: lit col: dup 1 0 1 0 ?branch execute col: lit col: 1 0 1 0 ?branch execute col: lit 1 0 1 0 ?branch drop ;s ;s drop col: 1 0 1 0 ?branch drop ;s ;s drop 1 0 1 0 ?branch con: @local1 col: >l >l 1 0 1 0 ?branch con: @local1 col: >l 1 0 1 0 ?branch con: @local1 col: 1 0 1 0 ?branch con: @local1 1 0 1 0 ?branch @local1 con: col: >l >l 1 0 1 0 ?branch @local1 con: col: >l 1 0 1 0 ?branch @local1 con: col: 1 0 1 0 ?branch @local1 con: 1 0 1 0 ?branch ;s dup ?branch 0> ?branch 1 0 1 0 ?branch ;s dup ?branch 0> 1 0 1 0 ?branch ;s -rot >r var: r@ 1 0 1 0 ?branch ;s -rot >r var: 1 0 1 0 ?branch ;s -rot >r 1 0 1 0 ?branch ;s -rot 1 0 1 0 ?branch 2dup con: open-file col: ?dup 1 0 1 0 ?branch 2dup con: open-file col: 1 0 1 0 ?branch 2dup con: open-file 1 0 1 0 ?branch 2drop 2dup lit col: >r 1 0 1 0 ?branch 2drop 2dup lit col: 1 0 1 0 ?branch 2drop 2dup lit 1 0 1 0 ?branch 2drop 2dup 1 0 1 0 ?branch 0> ?branch swap col: user: 1 0 1 0 ?branch 0> ?branch swap col: 1 0 1 0 ?branch 0> ?branch swap 1 0 1 0 >r ;s var: @ col: >l 1 0 1 0 >r ;s var: @ col: 1 0 1 0 >r ;s var: @ 1 0 1 0 >r ;s con: col: >l lp- 1 0 1 0 >r ;s con: col: >l 1 0 1 0 >r ;s con: col: 1 0 1 0 >r ;s con: 1 0 1 0 >r ;s col: col: user: @ 1 0 1 0 >r ;s col: col: user: 1 0 1 0 >r ;s col: col: 1 0 1 0 >l lp- con: col: >l lp- 1 0 1 0 >l lp- con: col: >l 1 0 1 0 >l lp- con: col: 1 0 1 0 >l lp- col: r@ defer: col: 1 0 1 0 >l lp- col: r@ defer: 1 0 1 0 >l lp- col: r@ 1 0 1 0 >l lp- @local2 @local1 field: ! 1 0 1 0 >l does: 2@ ;s col: over 1 0 1 0 >code-address ;s branch col: sp@ user: 1 0 1 0 >code-address ;s branch col: sp@ 1 0 1 0 >code-address ;s branch col: 1 0 1 0 >code-address ;s branch 1 0 1 0 = ?branch con: @local1 col: >l 1 0 1 0 = ?branch con: @local1 col: 1 0 1 0 = ?branch con: @local1 1 0 1 0 = ?branch @local1 con: col: >l 1 0 1 0 = ?branch @local1 con: col: 1 0 1 0 = ?branch @local1 con: 1 0 1 0 ;s user: @ swap ! col: 1 0 1 0 ;s user: @ swap ! 1 0 1 0 ;s user: @ swap 1 0 1 0 ;s nip ?branch 2dup con: open-file 1 0 1 0 ;s nip ?branch 2dup con: 1 0 1 0 ;s nip ?branch 2dup >float ?branch 1 0 1 0 ;s nip ?branch 2dup >float 1 0 1 0 ;s lp+2 ;s ;s ;s branch 1 0 1 0 ;s lp+2 ;s ;s ;s 1 0 1 0 ;s lp+ ;s var: @ lit 1 0 1 0 ;s lp+ ;s lp+ ;s var: 1 0 1 0 ;s lp+ ;s @local1 lit col: 1 0 1 0 ;s lp+ ;s @local1 lit 1 0 1 0 ;s float+ dup user: ! swap 1 0 1 0 ;s float+ dup user: ! 1 0 1 0 ;s float+ dup user: 1 0 1 0 ;s float+ dup 1 0 1 0 ;s float+ 1 0 1 0 ;s f! ;s col: r> /does-handler 1 0 1 0 ;s f! ;s col: r> 1 0 1 0 ;s f! ;s col: 1 0 1 0 ;s dup ?branch 0> ?branch swap 1 0 1 0 ;s dup 0= ?branch 2drop 2dup 1 0 1 0 ;s dup 0= ?branch 2drop 1 0 1 0 ;s drop ;s user: @ swap 1 0 1 0 ;s drop ;s user: @ 1 0 1 0 ;s drop ;s user: 1 0 1 0 ;s drop ;s ;s ;s user: 1 0 1 0 ;s drop + >r ;s con: 1 0 1 0 ;s drop + >r ;s col: 1 0 1 0 ;s defer: (type) branch col: lit 1 0 1 0 ;s defer: (type) branch col: 1 0 1 0 ;s defer: (type) branch 1 0 1 0 ;s con: col: >l lp- var: 1 0 1 0 ;s con: ! ;s (loop) unloop 1 0 1 0 ;s branch col: con: @ col: 1 0 1 0 ;s branch col: con: @ 1 0 1 0 ;s branch col: con: 1 0 1 0 ;s @local1 field: @ var: = 1 0 1 0 ;s @local1 field: @ var: 1 0 1 0 ;s @ col: col: user: @ 1 0 1 0 ;s @ col: col: user: 1 0 1 0 ;s @ ;s col: col: dup 1 0 1 0 ;s ;s float+ dup user: ! 1 0 1 0 ;s ;s float+ dup user: 1 0 1 0 ;s ;s float+ dup 1 0 1 0 ;s ;s float+ 1 0 1 0 ;s ;s cr ;s ;s branch 1 0 1 0 ;s ;s cr ;s ;s 1 0 1 0 ;s ;s cr ;s 1 0 1 0 ;s ;s cr 1 0 1 0 ;s ;s col: user: @ ?branch 1 0 1 0 ;s ;s @ col: col: user: 1 0 1 0 ;s ;s @ col: col: 1 0 1 0 ;s ;s @ col: 1 0 1 0 ;s ;s @ 1 0 1 0 ;s ;s >l lp- @local2 @local1 1 0 1 0 ;s ;s >l lp- @local2 1 0 1 0 ;s ;s ;s float+ dup user: 1 0 1 0 ;s ;s ;s float+ dup 1 0 1 0 ;s ;s ;s float+ 1 0 1 0 ;s ;s ;s cr ;s ;s 1 0 1 0 ;s ;s ;s cr ;s 1 0 1 0 ;s ;s ;s cr 1 0 1 0 ;s ;s ;s @ col: col: 1 0 1 0 ;s ;s ;s @ col: 1 0 1 0 ;s ;s ;s @ 1 0 1 0 ;s ;s ;s ;s cr ;s 1 0 1 0 ;s ;s ;s ;s cr 1 0 1 0 ;s ;s ;s ;s @ col: 1 0 1 0 ;s ;s ;s ;s @ 1 0 1 0 ;s -rot >r var: r@ cmove 1 0 1 0 ;s -rot >r var: r@ 1 0 1 0 ;s -rot >r var: 1 0 1 0 ;s -rot >r 1 0 1 0 ;s -rot 1 0 1 0 ;s - dup ?branch r> drop 1 0 1 0 ;s - dup ?branch r> 1 0 1 0 ;s +! ;s f! ;s col: 1 0 1 0 ;s +! ;s ! ;s branch 1 0 1 0 ;s ! ;s drop ;s user: 1 0 1 0 ;s ! ;s branch col: con: 1 0 1 0 ;s ! ;s branch col: 1 0 1 0 ;s ! ;s branch 1 0 1 0 ;s ! ;s ;s col: user: 1 0 1 0 ;s ! ;s ;s ;s swap 1 0 1 0 2dup con: open-file col: ?dup ?branch 1 0 1 0 2dup con: open-file col: ?dup 1 0 1 0 2dup con: open-file col: 1 0 1 0 2dup con: open-file 1 0 1 0 2drop 2dup lit col: >r dup 1 0 1 0 2drop 2dup lit col: >r 1 0 1 0 2drop 2dup lit col: 1 0 1 0 2drop 2dup lit 1 0 1 0 2drop 2dup 1 0 1 0 0> ?branch swap col: user: @ 1 0 1 0 0> ?branch swap col: user: 1 0 1 0 0> ?branch swap col: 1 0 1 0 0> ?branch swap 1 0 1 0 0> 0= ?branch ;s dup ?branch 1 0 1 0 0> 0= ?branch ;s dup 1 0 1 0 0= ?branch ;s dup ?branch 0> 1 0 1 0 0= ?branch ;s dup ?branch 1 0 1 0 0= ?branch ;s dup 1 0 1 0 0= ?branch 2drop 2dup lit col: 1 0 1 0 0= ?branch 2drop 2dup lit 1 0 1 0 0= ?branch 2drop 2dup 1 0 1 0 0<> ?branch col: col: r> r> 1 0 1 0 0<> ?branch col: col: r> 1 0 1 0 0< ?branch drop ;s ;s drop 1 0 1 0 0< ?branch drop ;s ;s 1 0 1 0 -rot >r var: r@ cmove var: 1 0 1 0 -rot >r var: r@ cmove 1 0 1 0 -rot >r var: r@ 1 0 1 0 -rot >r var: 1 0 1 0 -rot >r 1 0 1 0 - dup ?branch r> drop r> 1 0 1 0 - dup ?branch r> drop 1 0 1 0 - dup ?branch r> 1 0 1 0 - ;s col: col: col: user: 1 0 1 0 - ;s col: col: col: 1 0 1 0 - ;s col: col: 1 0 1 0 +! ;s f! ;s col: r> 1 0 1 0 +! ;s f! ;s col: 1 0 1 0 +! ;s ;s >l lp- @local2 1 0 1 0 +! ;s ! ;s branch col: 1 0 1 0 +! ;s ! ;s branch 1 0 1 0 +! ;s ! ;s ;s branch 1 0 1 0 + >r ;s var: @ col: 1 0 1 0 + >r ;s var: @ 1 0 1 0 + >r ;s con: col: >l 1 0 1 0 + >r ;s con: col: 1 0 1 0 + >r ;s con: 1 0 1 0 + >r ;s col: col: user: 1 0 1 0 + >r ;s col: col: 1 0 1 0 + >r ;s col: 1 0 1 0 (type) compare 0<> ?branch col: col: 1 0 1 0 (type) compare 0<> ?branch col: 1 0 1 0 (type) branch col: lit does: swap 1 0 1 0 (type) branch col: lit does: 1 0 1 0 (type) branch col: lit 1 0 1 0 (type) branch col: 1 0 1 0 (type) branch 1 0 1 0 (type) ;s defer: (type) branch col: 1 0 1 0 (type) ;s defer: (type) branch 1 0 1 0 ! @local3 @local1 field: ! @local1 1 0 1 0 ! @local3 @local1 field: ! 1 0 1 0 ! @local3 @local1 field: 1 0 1 0 ! @local3 @local1 1 0 1 0 ! @local3 1 0 1 0 ! @local1 lp+2 ;s ;s branch 1 0 1 0 ! @local1 lp+2 ;s ;s 1 0 1 0 ! @local1 lp+2 ;s 1 0 1 0 ! @local1 lp+2 1 0 1 0 ! ;s lp+2 ;s ;s ;s 1 0 1 0 ! ;s drop ;s user: @ 1 0 1 0 ! ;s drop ;s user: 1 0 1 0 ! ;s branch col: con: @ 1 0 1 0 ! ;s branch col: con: 1 0 1 0 ! ;s ;s col: user: @ 1 0 1 0 ! ;s ;s col: user: 1 0 1 0 ! ;s ;s ;s swap col: 1 0 1 0 ! ;s ;s ;s ;s @ 1 0 0 1 var: col: dup ! ;s col: 1 0 0 1 var: col: dup ! ;s 1 0 0 1 var: col: dup ! 1 0 0 1 var: col: dup 1 0 0 1 var: @ lit (?do) var: cell+ 1 0 0 1 var: @ lit (?do) var: 1 0 0 1 var: @ ?branch r> col: var: 1 0 0 1 var: @ ?branch r> col: 1 0 0 1 var: @ ?branch r> 1 0 0 1 var: @ ;s over col: col: 1 0 0 1 var: @ ;s over col: 1 0 0 1 var: @ ;s over 1 0 0 1 var: ! lit (do) lit col: 1 0 0 1 var: ! lit (do) lit 1 0 0 1 var: ! lit (do) 1 0 0 1 var: ! ?dup ?branch 1- (for) 1 0 0 1 var: ! ?dup ?branch 1- 1 0 0 1 unloop var: @ ;s ;s branch 1 0 0 1 unloop var: @ ;s ;s 1 0 0 1 unloop var: @ ;s 1 0 0 1 unloop var: @ 1 0 0 1 unloop var: 1 0 0 1 unloop ;s col: lit col: col: 1 0 0 1 unloop ;s col: lit col: 1 0 0 1 unloop ;s col: lit 1 0 0 1 swap drop branch ;s dup does: 1 0 0 1 swap drop branch ;s dup 1 0 0 1 swap col: 2dup con: swap read-file 1 0 0 1 swap col: 2dup con: swap 1 0 0 1 swap col: 2dup con: 1 0 0 1 swap col: 2dup 1 0 0 1 rot drop ;s nip ;s ;s 1 0 0 1 rot drop ;s nip ;s 1 0 0 1 rot drop ;s nip 1 0 0 1 rot drop ;s 1 0 0 1 rdrop ;s var: @ ?branch r> 1 0 0 1 rdrop ;s var: @ ?branch 1 0 0 1 rdrop ;s var: @ 1 0 0 1 r> col: var: ! col: col: 1 0 0 1 r> col: var: ! col: 1 0 0 1 r> col: var: ! 1 0 0 1 r> col: var: 1 0 0 1 r> col: col: var: col: con: 1 0 0 1 r> col: col: var: col: 1 0 0 1 over col: col: var: col: con: 1 0 0 1 over col: col: var: col: 1 0 0 1 open-file col: col: r> r> dup 1 0 0 1 open-file col: col: r> r> 1 0 0 1 open-file col: col: r> 1 0 0 1 open-file col: col: 1 0 0 1 noop ;s r> col: col: var: 1 0 0 1 noop ;s r> col: col: 1 0 0 1 noop ;s r> col: 1 0 0 1 noop ;s r> 1 0 0 1 nip nip execute mod ;s branch 1 0 0 1 nip nip execute mod ;s 1 0 0 1 nip nip execute mod 1 0 0 1 nip nip execute col: dup lit 1 0 0 1 nip nip execute col: dup ! 1 0 0 1 nip nip execute col: con: / 1 0 0 1 nip nip execute col: >r con: 1 0 0 1 nip nip execute 2* ;s branch 1 0 0 1 nip nip execute 2* ;s 1 0 0 1 nip nip execute 2* 1 0 0 1 nip nip execute 0< ;s branch 1 0 0 1 nip nip execute 0< ;s 1 0 0 1 nip nip execute 0< 1 0 0 1 nip execute mod ;s branch col: 1 0 0 1 nip execute mod ;s branch 1 0 0 1 nip execute mod ;s 1 0 0 1 nip execute mod 1 0 0 1 nip execute col: var: col: dup 1 0 0 1 nip execute col: var: @ lit 1 0 0 1 nip execute col: var: @ ;s 1 0 0 1 nip execute col: dup lit = 1 0 0 1 nip execute col: dup lit 1 0 0 1 nip execute col: dup ! ;s 1 0 0 1 nip execute col: dup ! 1 0 0 1 nip execute col: con: / 1+ 1 0 0 1 nip execute col: con: / 1 0 0 1 nip execute col: >r con: open-file 1 0 0 1 nip execute col: >r con: 1 0 0 1 nip execute 2* ;s branch col: 1 0 0 1 nip execute 2* ;s branch 1 0 0 1 nip execute 2* ;s 1 0 0 1 nip execute 2* 1 0 0 1 nip execute 0< ;s branch col: 1 0 0 1 nip execute 0< ;s branch 1 0 0 1 nip execute 0< ;s 1 0 0 1 nip execute 0< 1 0 0 1 nip = ;s ?branch branch rdrop 1 0 0 1 nip = ;s ?branch branch 1 0 0 1 nip ;s ;s branch col: sp@ 1 0 0 1 nip ;s ;s branch col: 1 0 0 1 nip ;s ;s branch 1 0 0 1 mod ;s branch col: sp@ user: 1 0 0 1 mod ;s branch col: sp@ 1 0 0 1 mod ;s branch col: 1 0 0 1 mod ;s branch 1 0 0 1 mod ;s 1 0 0 1 mod 1 0 0 1 lit (do) lit col: col: col: 1 0 0 1 lit (do) lit col: col: 1 0 0 1 lit (do) lit col: 1 0 0 1 lit (do) lit 1 0 0 1 lit (?do) var: cell+ i cells 1 0 0 1 lit (?do) var: cell+ i 1 0 0 1 lit (?do) var: cell+ 1 0 0 1 i cells + @ (loop) unloop 1 0 0 1 i cells + ! (next) unloop 1 0 0 1 execute mod ;s branch col: sp@ 1 0 0 1 execute mod ;s branch col: 1 0 0 1 execute mod ;s branch 1 0 0 1 execute mod ;s 1 0 0 1 execute mod 1 0 0 1 execute con: con: branch ;s ;s 1 0 0 1 execute con: con: branch ;s 1 0 0 1 execute con: con: branch 1 0 0 1 execute con: con: 1 0 0 1 execute col: var: col: dup ! 1 0 0 1 execute col: var: col: dup 1 0 0 1 execute col: var: @ lit (?do) 1 0 0 1 execute col: var: @ lit 1 0 0 1 execute col: var: @ ;s ;s 1 0 0 1 execute col: var: @ ;s 1 0 0 1 execute col: dup lit = ?branch 1 0 0 1 execute col: dup lit = 1 0 0 1 execute col: dup lit 1 0 0 1 execute col: dup ! ;s ;s 1 0 0 1 execute col: dup ! ;s 1 0 0 1 execute col: dup ! 1 0 0 1 execute col: con: / 1+ dup 1 0 0 1 execute col: con: / 1+ 1 0 0 1 execute col: con: / 1 0 0 1 execute col: >r con: open-file col: 1 0 0 1 execute col: >r con: open-file 1 0 0 1 execute col: >r con: 1 0 0 1 execute 2* ;s branch col: sp@ 1 0 0 1 execute 2* ;s branch col: 1 0 0 1 execute 2* ;s branch 1 0 0 1 execute 2* ;s 1 0 0 1 execute 2* 1 0 0 1 execute 0< ;s branch col: sp@ 1 0 0 1 execute 0< ;s branch col: 1 0 0 1 execute 0< ;s branch 1 0 0 1 execute 0< ;s 1 0 0 1 execute 0< 1 0 0 1 dup var: ! ?dup ?branch 1- 1 0 0 1 dup col: col: var: col: con: 1 0 0 1 dup col: col: var: col: 1 0 0 1 dup ?branch rot drop ;s nip 1 0 0 1 dup ?branch rot drop ;s 1 0 0 1 dup ?branch rot drop 1 0 0 1 dup ?branch rot 1 0 0 1 dup 0> 0= ?branch ;s ?branch 1 0 0 1 dup ! ;s col: var: @ 1 0 0 1 dup ! ;s col: var: 1 0 0 1 dup ! ;s ;s branch col: 1 0 0 1 dup ! ;s ;s branch 1 0 0 1 dup ! ;s ;s 1 0 0 1 drop ;s nip ;s ;s branch 1 0 0 1 drop ;s nip ;s ;s 1 0 0 1 drop ;s nip ;s 1 0 0 1 drop ;s nip 1 0 0 1 drop ;s dup var: ! col: 1 0 0 1 drop ;s dup var: ! 1 0 0 1 drop ;s dup var: 1 0 0 1 defer: noop ;s r> col: col: 1 0 0 1 defer: noop ;s r> col: 1 0 0 1 defer: noop ;s r> 1 0 0 1 con: open-file col: col: r> r> 1 0 0 1 con: open-file col: col: r> 1 0 0 1 con: open-file col: col: 1 0 0 1 con: con: branch ;s ;s branch 1 0 0 1 con: con: branch ;s ;s 1 0 0 1 con: con: branch ;s 1 0 0 1 con: con: branch 1 0 0 1 con: <> ?branch drop ;s dup 1 0 0 1 con: <> ?branch drop ;s 1 0 0 1 con: <> ?branch drop 1 0 0 1 con: / 1+ dup var: ! 1 0 0 1 con: / 1+ dup var: 1 0 0 1 con: / 1+ dup 1 0 0 1 con: / 1+ 1 0 0 1 col: var: col: dup ! ;s 1 0 0 1 col: var: col: dup ! 1 0 0 1 col: var: col: dup 1 0 0 1 col: var: @ lit (?do) var: 1 0 0 1 col: var: @ lit (?do) 1 0 0 1 col: var: @ lit 1 0 0 1 col: var: @ ;s over col: 1 0 0 1 col: var: @ ;s over 1 0 0 1 col: var: @ ;s ;s branch 1 0 0 1 col: var: ! col: col: user: 1 0 0 1 col: var: ! col: col: 1 0 0 1 col: var: ! col: 1 0 0 1 col: dup ! ;s col: var: 1 0 0 1 col: dup ! ;s col: 1 0 0 1 col: dup ! ;s ;s branch 1 0 0 1 col: dup ! ;s ;s 1 0 0 1 col: con: / 1+ dup var: 1 0 0 1 col: con: / 1+ dup 1 0 0 1 col: con: / 1+ 1 0 0 1 col: con: / 1 0 0 1 col: >r con: open-file col: col: 1 0 0 1 col: >r con: open-file col: 1 0 0 1 col: >r con: open-file 1 0 0 1 col: 2dup con: swap read-file ?branch 1 0 0 1 col: 2dup con: swap read-file 1 0 0 1 col: 2dup con: swap 1 0 0 1 col: 2dup con: 1 0 0 1 cells + @ (loop) unloop var: 1 0 0 1 cells + @ (loop) unloop 1 0 0 1 cells + ! (next) unloop ;s 1 0 0 1 cells + ! (next) unloop 1 0 0 1 and ?branch nip nip execute mod 1 0 0 1 and ?branch nip nip execute 2* 1 0 0 1 and ?branch nip nip execute 0< 1 0 0 1 @ lit (?do) var: cell+ i 1 0 0 1 @ lit (?do) var: cell+ 1 0 0 1 @ lit (?do) var: 1 0 0 1 @ ?branch r> col: var: ! 1 0 0 1 @ ?branch r> col: var: 1 0 0 1 @ ?branch r> col: 1 0 0 1 @ ?branch r> 1 0 0 1 @ <> ?branch ;s ;s col: 1 0 0 1 @ <> ?branch ;s ;s ;s 1 0 0 1 @ ;s var: ! lit (do) 1 0 0 1 @ ;s var: ! lit 1 0 0 1 @ ;s swap col: 2dup con: 1 0 0 1 @ ;s swap col: 2dup 1 0 0 1 @ ;s over col: col: var: 1 0 0 1 @ ;s over col: col: 1 0 0 1 @ ;s over col: 1 0 0 1 @ ;s - col: col: user: 1 0 0 1 @ ;s +! ;s col: col: 1 0 0 1 @ ;s +! ;s ;s ;s 1 0 0 1 @ (loop) unloop var: @ ;s 1 0 0 1 @ (loop) unloop var: @ 1 0 0 1 @ (loop) unloop var: 1 0 0 1 @ (loop) unloop 1 0 0 1 ?dup ?branch 1- (for) var: cell+ 1 0 0 1 ?dup ?branch 1- (for) var: 1 0 0 1 ?dup ?branch 1- (for) 1 0 0 1 ?branch swap drop branch ;s dup 1 0 0 1 ?branch rot drop ;s nip ;s 1 0 0 1 ?branch rot drop ;s nip 1 0 0 1 ?branch rot drop ;s 1 0 0 1 ?branch rdrop ;s var: @ ?branch 1 0 0 1 ?branch rdrop ;s var: @ 1 0 0 1 ?branch r> col: var: ! col: 1 0 0 1 ?branch r> col: var: ! 1 0 0 1 ?branch r> col: var: 1 0 0 1 ?branch r> col: 1 0 0 1 ?branch nip nip execute mod ;s 1 0 0 1 ?branch nip nip execute mod 1 0 0 1 ?branch nip nip execute 2* ;s 1 0 0 1 ?branch nip nip execute 2* 1 0 0 1 ?branch nip nip execute 0< ;s 1 0 0 1 ?branch nip nip execute 0< 1 0 0 1 ?branch execute con: con: branch ;s 1 0 0 1 ?branch execute con: con: branch 1 0 0 1 ?branch execute con: con: 1 0 0 1 ?branch execute con: 1 0 0 1 ?branch drop branch ;s r> ;s 1 0 0 1 ?branch drop branch ;s r> 1 0 0 1 ?branch drop ;s dup var: ! 1 0 0 1 ?branch drop ;s dup var: 1 0 0 1 ?branch ;s col: col: col: col: 1 0 0 1 ?branch ;s ?branch 2rdrop branch ;s 1 0 0 1 ?branch ;s ?branch 2rdrop branch 1 0 0 1 ?branch ;s ?branch 2rdrop 1 0 0 1 ?branch ;s ;s ?branch execute con: 1 0 0 1 ?branch 1- (for) var: cell+ i 1 0 0 1 ?branch 1- (for) var: cell+ 1 0 0 1 ?branch 1- (for) var: 1 0 0 1 ?branch 1- (for) 1 0 0 1 >r con: open-file col: col: r> 1 0 0 1 >r con: open-file col: col: 1 0 0 1 >r con: open-file col: 1 0 0 1 >r col: defer: defer: col: col: 1 0 0 1 >r col: defer: defer: col: 1 0 0 1 >r col: defer: defer: 1 0 0 1 >r col: defer: 1 0 0 1 >r ?branch rdrop ;s var: @ 1 0 0 1 <> ?branch drop ;s dup var: 1 0 0 1 <> ?branch drop ;s dup 1 0 0 1 <> ?branch drop ;s 1 0 0 1 <> ?branch ;s ;s col: col: 1 0 0 1 <> ?branch ;s ;s col: 1 0 0 1 <> ?branch ;s ;s ;s ;s 1 0 0 1 <> ?branch ;s ;s ;s 1 0 0 1 ;s var: @ ?branch r> col: 1 0 0 1 ;s var: @ ?branch r> 1 0 0 1 ;s var: ! lit (do) lit 1 0 0 1 ;s var: ! lit (do) 1 0 0 1 ;s var: ! lit 1 0 0 1 ;s swap col: 2dup con: swap 1 0 0 1 ;s swap col: 2dup con: 1 0 0 1 ;s swap col: 2dup 1 0 0 1 ;s r> col: col: var: col: 1 0 0 1 ;s r> col: col: var: 1 0 0 1 ;s over col: col: var: col: 1 0 0 1 ;s nip ;s ;s branch col: 1 0 0 1 ;s nip ;s ;s branch 1 0 0 1 ;s nip ;s ;s 1 0 0 1 ;s dup var: ! col: col: 1 0 0 1 ;s dup col: col: var: col: 1 0 0 1 ;s dup ?branch rot drop ;s 1 0 0 1 ;s dup ?branch rot drop 1 0 0 1 ;s dup ?branch rot 1 0 0 1 ;s defer: noop ;s r> col: 1 0 0 1 ;s defer: noop ;s r> 1 0 0 1 ;s col: var: @ ;s over 1 0 0 1 ;s col: lit col: col: var: 1 0 0 1 ;s col: lit col: col: 1 0 0 1 ;s cells col: col: user: @ 1 0 0 1 ;s cells col: col: user: 1 0 0 1 ;s cells col: col: 1 0 0 1 ;s cells col: 1 0 0 1 ;s cells 1 0 0 1 ;s @ ;s var: ! lit 1 0 0 1 ;s @ ;s var: ! col: 1 0 0 1 ;s @ ;s swap col: 2dup 1 0 0 1 ;s @ ;s col: col: col: 1 0 0 1 ;s ?branch execute con: con: branch 1 0 0 1 ;s ?branch execute con: con: 1 0 0 1 ;s ?branch execute con: 1 0 0 1 ;s ?branch drop branch ;s r> 1 0 0 1 ;s >r col: defer: defer: col: 1 0 0 1 ;s >r col: defer: defer: 1 0 0 1 ;s >r col: defer: 1 0 0 1 ;s ;s dup ?branch rot drop 1 0 0 1 ;s ;s dup ?branch rot 1 0 0 1 ;s ;s defer: noop ;s r> 1 0 0 1 ;s ;s ?branch execute con: con: 1 0 0 1 ;s ;s ?branch execute con: 1 0 0 1 ;s ;s >r col: defer: defer: 1 0 0 1 ;s ;s >r col: defer: 1 0 0 1 ;s ;s ;s dup ?branch rot 1 0 0 1 ;s ;s ;s >r col: defer: 1 0 0 1 ;s 2! ;s ;s ;s branch 1 0 0 1 ;s 2! ;s ;s ;s 1 0 0 1 ;s - col: col: user: @ 1 0 0 1 ;s - col: col: user: 1 0 0 1 ;s +! ;s col: col: col: 1 0 0 1 ;s +! ;s col: col: 1 0 0 1 ;s +! ;s ;s ;s branch 1 0 0 1 ;s +! ;s ;s ;s 1 0 0 1 ;s +! ;s ! ;s cells 1 0 0 1 ;s (loop) unloop ;s col: lit 1 0 0 1 ;s ! ;s cells col: col: 1 0 0 1 ;s ! ;s cells col: 1 0 0 1 ;s ! ;s cells 1 0 0 1 ;s ! ;s (loop) unloop ;s 1 0 0 1 ;s ! ;s (loop) unloop 1 0 0 1 2@ nip = ;s ?branch branch 1 0 0 1 2* ;s branch col: sp@ user: 1 0 0 1 2* ;s branch col: sp@ 1 0 0 1 2* ;s branch col: 1 0 0 1 2* ;s branch 1 0 0 1 2! ;s ;s ;s branch col: 1 0 0 1 2! ;s ;s ;s branch 1 0 0 1 2! ;s ;s ;s 1 0 0 1 1- (for) var: cell+ i cells 1 0 0 1 1- (for) var: cell+ i 1 0 0 1 1- (for) var: cell+ 1 0 0 1 1- (for) var: 1 0 0 1 1- (for) 1 0 0 1 1+ dup var: ! col: col: 1 0 0 1 1+ dup var: ! col: 1 0 0 1 1+ dup var: ! 1 0 0 1 1+ dup var: 1 0 0 1 0> 0= ?branch ;s ?branch 2rdrop 1 0 0 1 0> 0= ?branch ;s ?branch 1 0 0 1 0= ?branch ;s ?branch 2rdrop branch 1 0 0 1 0= ?branch ;s ?branch 2rdrop 1 0 0 1 0= ?branch ;s ?branch 1 0 0 1 0< ;s branch col: sp@ user: 1 0 0 1 0< ;s branch col: sp@ 1 0 0 1 0< ;s branch col: 1 0 0 1 0< ;s branch 1 0 0 1 / 1+ dup var: ! col: 1 0 0 1 / 1+ dup var: ! 1 0 0 1 / 1+ dup var: 1 0 0 1 / 1+ dup 1 0 0 1 / 1+ 1 0 0 1 -rot con: <> ?branch drop ;s 1 0 0 1 -rot con: <> ?branch drop 1 0 0 1 - col: col: user: @ ;s 1 0 0 1 +! ;s col: col: col: user: 1 0 0 1 +! ;s col: col: col: 1 0 0 1 +! ;s ;s ;s dup col: 1 0 0 1 +! ;s ;s ;s branch col: 1 0 0 1 +! ;s ;s ;s branch 1 0 0 1 +! ;s 2! ;s ;s ;s 1 0 0 1 +! ;s ! ;s cells col: 1 0 0 1 +! ;s ! ;s cells 1 0 0 1 +! ;s ! ;s (loop) unloop 1 0 0 1 + @ (loop) unloop var: @ 1 0 0 1 + @ (loop) unloop var: 1 0 0 1 + @ (loop) unloop 1 0 0 1 + -rot con: <> ?branch drop 1 0 0 1 + ! (next) unloop ;s ;s 1 0 0 1 + ! (next) unloop ;s 1 0 0 1 + ! (next) unloop 1 0 0 1 (next) unloop ;s ;s branch col: 1 0 0 1 (next) unloop ;s ;s branch 1 0 0 1 (next) unloop ;s ;s 1 0 0 1 (next) unloop ;s 1 0 0 1 (next) unloop 1 0 0 1 (loop) unloop var: @ ;s ;s 1 0 0 1 (loop) unloop var: @ ;s 1 0 0 1 (loop) unloop var: @ 1 0 0 1 (loop) unloop var: 1 0 0 1 (loop) unloop ;s col: lit col: 1 0 0 1 (loop) unloop ;s col: lit 1 0 0 1 (for) var: cell+ i cells + 1 0 0 1 (for) var: cell+ i cells 1 0 0 1 (for) var: cell+ i 1 0 0 1 (for) var: cell+ 1 0 0 1 (for) var: 1 0 0 1 (for) 1 0 0 1 (do) lit col: col: col: user: 1 0 0 1 (do) lit col: col: col: 1 0 0 1 (do) lit col: col: 1 0 0 1 (do) lit col: 1 0 0 1 (do) lit 1 0 0 1 (?do) var: cell+ i cells + 1 0 0 1 (?do) var: cell+ i cells 1 0 0 1 (?do) var: cell+ i 1 0 0 1 (?do) var: cell+ 1 0 0 1 ! lit (do) lit col: col: 1 0 0 1 ! lit (do) lit col: 1 0 0 1 ! lit (do) lit 1 0 0 1 ! lit (do) 1 0 0 1 ! ?dup ?branch 1- (for) var: 1 0 0 1 ! ?dup ?branch 1- (for) 1 0 0 1 ! ?dup ?branch 1- 1 0 0 1 ! ;s cells col: col: user: 1 0 0 1 ! ;s cells col: col: 1 0 0 1 ! ;s cells col: 1 0 0 1 ! ;s cells 1 0 0 1 ! (next) unloop ;s ;s branch 1 0 0 1 ! (next) unloop ;s ;s 1 0 0 1 ! (next) unloop ;s 1 0 0 1 ! (next) unloop