From e7f4a021fe9b13a47ac5ab3736b96d8b43899127 Mon Sep 17 00:00:00 2001 From: Simon Forman Date: Mon, 10 Oct 2022 22:28:50 -0700 Subject: [PATCH] Misc stuff. --- implementations/Python/bi.txt | 598 ++++++++++++++++++++++++++++++++++++++++++ implementations/bigints.joy | 34 +++ 2 files changed, 632 insertions(+) create mode 100644 implementations/Python/bi.txt create mode 100644 implementations/bigints.joy diff --git a/implementations/Python/bi.txt b/implementations/Python/bi.txt new file mode 100644 index 0000000..fbfe266 --- /dev/null +++ b/implementations/Python/bi.txt @@ -0,0 +1,598 @@ + + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? + <-top + +joy? +false [2147483647 2147483647 2147483647 2147483647] [1] <-top + +joy? false [2147483647 2147483647 2147483647 2147483647] [1] • add_digits + false [2147483647 2147483647 2147483647 2147483647] [1] • [_add_p] [_add_then] [_add_R0] [_add_R1] genrec cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_p] • [_add_then] [_add_R0] [_add_R1] genrec cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_p] [_add_then] • [_add_R0] [_add_R1] genrec cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_p] [_add_then] [_add_R0] • [_add_R1] genrec cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_p] [_add_then] [_add_R0] [_add_R1] • genrec cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_p] [_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] • ifte cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [_add_then] [[1] [2147483647 2147483647 2147483647 2147483647] false] [_add_p] • infra first choice i cons + false [2147483647 2147483647 2147483647 2147483647] [1] • _add_p [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false [2147483647 2147483647 2147483647 2147483647] [1] • [bool not] ii & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false [2147483647 2147483647 2147483647 2147483647] [1] [bool not] • ii & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false [2147483647 2147483647 2147483647 2147483647] • bool not [1] bool not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false true • not [1] bool not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false false • [1] bool not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false false [1] • bool not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false false true • not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false false false • & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false false false • and [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false false • [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons + false false [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [1] [2147483647 2147483647 2147483647 2147483647] false] • swaack first choice i cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [_add_then] [false false] • first choice i cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [_add_then] false • choice i cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] • i cons + false [2147483647 2147483647 2147483647 2147483647] [1] • _add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1 cons + false [2147483647 2147483647 2147483647 2147483647] [1] • [_add_rec_pred] [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1 cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_rec_pred] • [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1 cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_rec_pred] [THEN0] • [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1 cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_rec_pred] [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] • _add_R1 cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_rec_pred] [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] • [THEN1] cons concat [ELSE] ifte cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_rec_pred] [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] [THEN1] • cons concat [ELSE] ifte cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_rec_pred] [THEN0] [[[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] • concat [ELSE] ifte cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_rec_pred] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] • [ELSE] ifte cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [_add_rec_pred] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] • ifte cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [ELSE] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [[1] [2147483647 2147483647 2147483647 2147483647] false] [_add_rec_pred] • infra first choice i cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] • _add_rec_pred [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] • [bool] ii & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [bool] • ii & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons cons + false [2147483647 2147483647 2147483647 2147483647] • bool [1] bool & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons cons + false true • [1] bool & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons cons + false true [1] • bool & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons cons + false true true • & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons cons + false true true • and [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons cons + false true • [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] swaack first choice i cons cons + false true [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [1] [2147483647 2147483647 2147483647 2147483647] false] • swaack first choice i cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [ELSE] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [true false] • first choice i cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [ELSE] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] true • choice i cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] • i cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] • THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] • uncons-two [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] • [uncons] ii swapd [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false [2147483647 2147483647 2147483647 2147483647] [1] [uncons] • ii swapd [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false [2147483647 2147483647 2147483647 2147483647] • uncons [1] uncons swapd [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 [2147483647 2147483647 2147483647] • [1] uncons swapd [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 [2147483647 2147483647 2147483647] [1] • uncons swapd [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 [2147483647 2147483647 2147483647] 1 [] • swapd [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 [2147483647 2147483647 2147483647] 1 [] • [swap] dip [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 [2147483647 2147483647 2147483647] 1 [] [swap] • dip [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 [2147483647 2147483647 2147483647] 1 • swap [] [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 1 [2147483647 2147483647 2147483647] • [] [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 1 [2147483647 2147483647 2147483647] [] • [add-with-carry] dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 1 [2147483647 2147483647 2147483647] [] [add-with-carry] • dipd [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 1 • add-with-carry [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 1 • _add-with-carry0 _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 1 • [bool_to_int] dipd + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false 2147483647 1 [bool_to_int] • dipd + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false • bool_to_int 2147483647 1 + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false • [0] [1] branch 2147483647 1 + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false [0] • [1] branch 2147483647 1 + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + false [0] [1] • branch 2147483647 1 + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + • 0 2147483647 1 + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 • 2147483647 1 + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 2147483647 • 1 + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 2147483647 1 • + + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 2147483647 1 • add + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 2147483648 • + _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 2147483648 • add _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 • _add-with-carry1 [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 • base [mod] [>=] clop [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 • 2147483648 [mod] [>=] clop [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 • [mod] [>=] clop [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] • [>=] clop [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] • clop [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] • cleave popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] • fork popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] • [i] app2 popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] [i] • app2 popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] [i] • [grba swap grba swap] dip [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] [i] [grba swap grba swap] • dip [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] • grba swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] • [stack popd] dip swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [>=] [stack popd] • dip swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] • stack popd [>=] swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] [[mod] 2147483648 2147483648] • popd [>=] swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[mod] 2147483648 2147483648] • [>=] swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[mod] 2147483648 2147483648] [>=] • swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648] • grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648] • [stack popd] dip swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648] [stack popd] • dip swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [>=] • stack popd [[mod] 2147483648 2147483648] swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [>=] [[>=] 2147483648 2147483648] • popd [[mod] 2147483648 2147483648] swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[>=] 2147483648 2147483648] • [[mod] 2147483648 2147483648] swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[>=] 2147483648 2147483648] [[mod] 2147483648 2147483648] • swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[mod] 2147483648 2147483648] [[>=] 2147483648 2147483648] • [i] [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[mod] 2147483648 2147483648] [[>=] 2147483648 2147483648] [i] • [infrst] cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[mod] 2147483648 2147483648] [[>=] 2147483648 2147483648] [i] [infrst] • cons ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[mod] 2147483648 2147483648] [[>=] 2147483648 2147483648] [[i] infrst] • ii popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[mod] 2147483648 2147483648] • [i] infrst [[>=] 2147483648 2147483648] [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[mod] 2147483648 2147483648] [i] • infrst [[>=] 2147483648 2147483648] [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [[mod] 2147483648 2147483648] [i] • infra first [[>=] 2147483648 2147483648] [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [mod] • i [2147483648 2147483648] swaack first [[>=] 2147483648 2147483648] [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 • mod [2147483648 2147483648] swaack first [[>=] 2147483648 2147483648] [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 • [2147483648 2147483648] swaack first [[>=] 2147483648 2147483648] [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 [2147483648 2147483648] • swaack first [[>=] 2147483648 2147483648] [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [0] • first [[>=] 2147483648 2147483648] [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 0 • [[>=] 2147483648 2147483648] [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 0 [[>=] 2147483648 2147483648] • [i] infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 0 [[>=] 2147483648 2147483648] [i] • infrst popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 0 [[>=] 2147483648 2147483648] [i] • infra first popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 [>=] • i [0 2147483648 2147483648] swaack first popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 • >= [0 2147483648 2147483648] swaack first popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 • ge [0 2147483648 2147483648] swaack first popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + true • [0 2147483648 2147483648] swaack first popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + true [0 2147483648 2147483648] • swaack first popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 0 [true] • first popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 2147483648 0 true • popdd popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 2147483648 0 true • popdd [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 true • [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 true [2147483647 2147483647 2147483647] • [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 true [2147483647 2147483647 2147483647] [] • [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1 cons cons + 0 true [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] • THEN1 cons cons + 0 true [2147483647 2147483647 2147483647] [] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] • i cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • [_add_p] [_add_then] [_add_R0] [_add_R1] genrec cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_p] • [_add_then] [_add_R0] [_add_R1] genrec cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_p] [_add_then] • [_add_R0] [_add_R1] genrec cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_p] [_add_then] [_add_R0] • [_add_R1] genrec cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_p] [_add_then] [_add_R0] [_add_R1] • genrec cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_p] [_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] • ifte cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [_add_then] [[] [2147483647 2147483647 2147483647] true 0] [_add_p] • infra first choice i cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • _add_p [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • [bool not] ii & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [bool not] • ii & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true [2147483647 2147483647 2147483647] • bool not [] bool not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true true • not [] bool not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true false • [] bool not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true false [] • bool not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true false false • not & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true false true • & [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true false true • and [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true false • [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons + 0 true false [[_add_then] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [] [2147483647 2147483647 2147483647] true 0] • swaack first choice i cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [_add_then] [false true 0] • first choice i cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] [_add_then] false • choice i cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1] • i cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • _add_R0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1 cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • [_add_rec_pred] [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1 cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_rec_pred] • [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1 cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_rec_pred] [THEN0] • [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] _add_R1 cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_rec_pred] [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] • _add_R1 cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_rec_pred] [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] • [THEN1] cons concat [ELSE] ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_rec_pred] [THEN0] [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] [THEN1] • cons concat [ELSE] ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_rec_pred] [THEN0] [[[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] • concat [ELSE] ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_rec_pred] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] • [ELSE] ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [_add_rec_pred] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] • ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [ELSE] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [[] [2147483647 2147483647 2147483647] true 0] [_add_rec_pred] • infra first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • _add_rec_pred [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • [bool] ii & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [bool] • ii & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] • bool [] bool & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true true • [] bool & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true true [] • bool & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true true false • & [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true true false • and [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true false • [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true false [[THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [ELSE] [] [2147483647 2147483647 2147483647] true 0] • swaack first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [ELSE] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] [false true 0] • first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [ELSE] [THEN0 [[_add_p] [_add_then] [_add_R0] [_add_R1] genrec] THEN1] false • choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [ELSE] • i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • ELSE cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • ditch-empty-list add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • [bool] [popd] [pop] ifte add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [bool] • [popd] [pop] ifte add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [bool] [popd] • [pop] ifte add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [bool] [popd] [pop] • ifte add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [pop] [popd] [[] [2147483647 2147483647 2147483647] true 0] [bool] • infra first choice i add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • bool [[popd] [pop] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] false • [[popd] [pop] [] [2147483647 2147483647 2147483647] true 0] swaack first choice i add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] false [[popd] [pop] [] [2147483647 2147483647 2147483647] true 0] • swaack first choice i add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [pop] [popd] [false [2147483647 2147483647 2147483647] true 0] • first choice i add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [pop] [popd] false • choice i add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] [pop] • i add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [] • pop add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] • add-carry-to-digits cons cons cons cons + 0 true [2147483647 2147483647 2147483647] • [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [pop not] • [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [pop not] [popd] • [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] • [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] • genrec cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] • ifte cons cons cons cons +0 true [2147483647 2147483647 2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] [[2147483647 2147483647 2147483647] true 0] [pop not] • infra first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] • pop not [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true • not [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 false • [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 false [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647 2147483647 2147483647] true 0] • swaack first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] [false 0] • first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] false • choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] • i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] • [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [bool not] • [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [bool not] [1 swons popd] • [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] • swoncat ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] • swap concat ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [bool not] [1 swons popd] [0 swap uncons [add-with-carry] dip] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • concat ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [bool not] [1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • ifte cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] [[2147483647 2147483647 2147483647] true 0] [bool not] • infra first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] • bool not [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true true • not [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true false • [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647 2147483647 2147483647] true 0] swaack first choice i cons cons cons cons + 0 true false [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647 2147483647 2147483647] true 0] • swaack first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] [false true 0] • first choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] false • choice i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • i cons cons cons cons + 0 true [2147483647 2147483647 2147483647] • 0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true [2147483647 2147483647 2147483647] 0 • swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true 0 [2147483647 2147483647 2147483647] • uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true 0 2147483647 [2147483647 2147483647] • [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true 0 2147483647 [2147483647 2147483647] [add-with-carry] • dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true 0 2147483647 • add-with-carry [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true 0 2147483647 • _add-with-carry0 _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true 0 2147483647 • [bool_to_int] dipd + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true 0 2147483647 [bool_to_int] • dipd + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true • bool_to_int 0 2147483647 + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true • [0] [1] branch 0 2147483647 + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true [0] • [1] branch 0 2147483647 + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true [0] [1] • branch 0 2147483647 + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 • 1 0 2147483647 + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 1 • 0 2147483647 + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 1 0 • 2147483647 + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 1 0 2147483647 • + + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 1 0 2147483647 • add + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 1 2147483647 • + _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 1 2147483647 • add _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 • _add-with-carry1 [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 • base [mod] [>=] clop [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 • 2147483648 [mod] [>=] clop [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 • [mod] [>=] clop [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] • [>=] clop [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] • clop [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] • cleave popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] • fork popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] • [i] app2 popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] [i] • app2 popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] [i] • [grba swap grba swap] dip [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] [i] [grba swap grba swap] • dip [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] • grba swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] • [stack popd] dip swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [>=] [stack popd] • dip swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] • stack popd [>=] swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] [[mod] 2147483648 2147483648 0] • popd [>=] swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0] • [>=] swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0] [>=] • swap grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648 0] • grba swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648 0] • [stack popd] dip swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648 0] [stack popd] • dip swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [>=] • stack popd [[mod] 2147483648 2147483648 0] swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [>=] [[>=] 2147483648 2147483648 0] • popd [[mod] 2147483648 2147483648 0] swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[>=] 2147483648 2147483648 0] • [[mod] 2147483648 2147483648 0] swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[>=] 2147483648 2147483648 0] [[mod] 2147483648 2147483648 0] • swap [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0] [[>=] 2147483648 2147483648 0] • [i] [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0] [[>=] 2147483648 2147483648 0] [i] • [infrst] cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0] [[>=] 2147483648 2147483648 0] [i] [infrst] • cons ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0] [[>=] 2147483648 2147483648 0] [[i] infrst] • ii popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0] • [i] infrst [[>=] 2147483648 2147483648 0] [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0] [i] • infrst [[>=] 2147483648 2147483648 0] [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0] [i] • infra first [[>=] 2147483648 2147483648 0] [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [mod] • i [2147483648 2147483648 0] swaack first [[>=] 2147483648 2147483648 0] [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 • mod [2147483648 2147483648 0] swaack first [[>=] 2147483648 2147483648 0] [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 • [2147483648 2147483648 0] swaack first [[>=] 2147483648 2147483648 0] [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 [2147483648 2147483648 0] • swaack first [[>=] 2147483648 2147483648 0] [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [0 0] • first [[>=] 2147483648 2147483648 0] [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 0 • [[>=] 2147483648 2147483648 0] [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 0 [[>=] 2147483648 2147483648 0] • [i] infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 0 [[>=] 2147483648 2147483648 0] [i] • infrst popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 0 [[>=] 2147483648 2147483648 0] [i] • infra first popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 [>=] • i [0 2147483648 2147483648 0] swaack first popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 • >= [0 2147483648 2147483648 0] swaack first popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 • ge [0 2147483648 2147483648 0] swaack first popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true • [0 2147483648 2147483648 0] swaack first popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 true [0 2147483648 2147483648 0] • swaack first popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 0 [true 0] • first popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 2147483648 0 true • popdd popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 2147483648 0 true • popdd [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true • [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true [2147483647 2147483647] • [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true [2147483647 2147483647] [pop not] • [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true [2147483647 2147483647] [pop not] [popd] • [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] • [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] • genrec cons cons cons cons + 0 0 true [2147483647 2147483647] [pop not] [popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] • ifte cons cons cons cons + 0 0 true [2147483647 2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] [[2147483647 2147483647] true 0 0] [pop not] • infra first choice i cons cons cons cons + 0 0 true [2147483647 2147483647] • pop not [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647 2147483647] true 0 0] swaack first choice i cons cons cons cons + 0 0 true • not [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647 2147483647] true 0 0] swaack first choice i cons cons cons cons + 0 0 false • [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647 2147483647] true 0 0] swaack first choice i cons cons cons cons + 0 0 false [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647 2147483647] true 0 0] • swaack first choice i cons cons cons cons + 0 0 true [2147483647 2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] [false 0 0] • first choice i cons cons cons cons + 0 0 true [2147483647 2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] false • choice i cons cons cons cons + 0 0 true [2147483647 2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] • i cons cons cons cons + 0 0 true [2147483647 2147483647] • [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 true [2147483647 2147483647] [bool not] • [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 true [2147483647 2147483647] [bool not] [1 swons popd] • [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 true [2147483647 2147483647] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 true [2147483647 2147483647] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] • swoncat ifte cons cons cons cons + 0 0 true [2147483647 2147483647] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] • swap concat ifte cons cons cons cons + 0 0 true [2147483647 2147483647] [bool not] [1 swons popd] [0 swap uncons [add-with-carry] dip] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • concat ifte cons cons cons cons + 0 0 true [2147483647 2147483647] [bool not] [1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • ifte cons cons cons cons + 0 0 true [2147483647 2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] [[2147483647 2147483647] true 0 0] [bool not] • infra first choice i cons cons cons cons + 0 0 true [2147483647 2147483647] • bool not [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647 2147483647] true 0 0] swaack first choice i cons cons cons cons + 0 0 true true • not [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647 2147483647] true 0 0] swaack first choice i cons cons cons cons + 0 0 true false • [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647 2147483647] true 0 0] swaack first choice i cons cons cons cons + 0 0 true false [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647 2147483647] true 0 0] • swaack first choice i cons cons cons cons + 0 0 true [2147483647 2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] [false true 0 0] • first choice i cons cons cons cons + 0 0 true [2147483647 2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] false • choice i cons cons cons cons + 0 0 true [2147483647 2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • i cons cons cons cons + 0 0 true [2147483647 2147483647] • 0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true [2147483647 2147483647] 0 • swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true 0 [2147483647 2147483647] • uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true 0 2147483647 [2147483647] • [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true 0 2147483647 [2147483647] [add-with-carry] • dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true 0 2147483647 • add-with-carry [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true 0 2147483647 • _add-with-carry0 _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true 0 2147483647 • [bool_to_int] dipd + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true 0 2147483647 [bool_to_int] • dipd + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true • bool_to_int 0 2147483647 + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true • [0] [1] branch 0 2147483647 + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true [0] • [1] branch 0 2147483647 + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true [0] [1] • branch 0 2147483647 + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 • 1 0 2147483647 + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 1 • 0 2147483647 + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 1 0 • 2147483647 + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 1 0 2147483647 • + + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 1 0 2147483647 • add + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 1 2147483647 • + _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 1 2147483647 • add _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 • _add-with-carry1 [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 • base [mod] [>=] clop [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 • 2147483648 [mod] [>=] clop [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 • [mod] [>=] clop [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] • [>=] clop [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] • clop [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] • cleave popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] • fork popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] • [i] app2 popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] [i] • app2 popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] [i] • [grba swap grba swap] dip [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] [i] [grba swap grba swap] • dip [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] • grba swap grba swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] • [stack popd] dip swap grba swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [>=] [stack popd] • dip swap grba swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] • stack popd [>=] swap grba swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] [[mod] 2147483648 2147483648 0 0] • popd [>=] swap grba swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0] • [>=] swap grba swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0] [>=] • swap grba swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648 0 0] • grba swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648 0 0] • [stack popd] dip swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648 0 0] [stack popd] • dip swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [>=] • stack popd [[mod] 2147483648 2147483648 0 0] swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [>=] [[>=] 2147483648 2147483648 0 0] • popd [[mod] 2147483648 2147483648 0 0] swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[>=] 2147483648 2147483648 0 0] • [[mod] 2147483648 2147483648 0 0] swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[>=] 2147483648 2147483648 0 0] [[mod] 2147483648 2147483648 0 0] • swap [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0] [[>=] 2147483648 2147483648 0 0] • [i] [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0] [[>=] 2147483648 2147483648 0 0] [i] • [infrst] cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0] [[>=] 2147483648 2147483648 0 0] [i] [infrst] • cons ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0] [[>=] 2147483648 2147483648 0 0] [[i] infrst] • ii popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0] • [i] infrst [[>=] 2147483648 2147483648 0 0] [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0] [i] • infrst [[>=] 2147483648 2147483648 0 0] [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0] [i] • infra first [[>=] 2147483648 2147483648 0 0] [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [mod] • i [2147483648 2147483648 0 0] swaack first [[>=] 2147483648 2147483648 0 0] [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 • mod [2147483648 2147483648 0 0] swaack first [[>=] 2147483648 2147483648 0 0] [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 • [2147483648 2147483648 0 0] swaack first [[>=] 2147483648 2147483648 0 0] [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 [2147483648 2147483648 0 0] • swaack first [[>=] 2147483648 2147483648 0 0] [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [0 0 0] • first [[>=] 2147483648 2147483648 0 0] [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 0 • [[>=] 2147483648 2147483648 0 0] [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 0 [[>=] 2147483648 2147483648 0 0] • [i] infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 0 [[>=] 2147483648 2147483648 0 0] [i] • infrst popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 0 [[>=] 2147483648 2147483648 0 0] [i] • infra first popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 [>=] • i [0 2147483648 2147483648 0 0] swaack first popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 • >= [0 2147483648 2147483648 0 0] swaack first popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 • ge [0 2147483648 2147483648 0 0] swaack first popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true • [0 2147483648 2147483648 0 0] swaack first popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 true [0 2147483648 2147483648 0 0] • swaack first popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 0 [true 0 0] • first popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 2147483648 0 true • popdd popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 2147483648 0 true • popdd [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true • [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true [2147483647] • [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true [2147483647] [pop not] • [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true [2147483647] [pop not] [popd] • [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] • [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true [2147483647] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] • genrec cons cons cons cons + 0 0 0 true [2147483647] [pop not] [popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] • ifte cons cons cons cons + 0 0 0 true [2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] [[2147483647] true 0 0 0] [pop not] • infra first choice i cons cons cons cons + 0 0 0 true [2147483647] • pop not [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647] true 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 true • not [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647] true 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 false • [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647] true 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 false [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [2147483647] true 0 0 0] • swaack first choice i cons cons cons cons + 0 0 0 true [2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] [false 0 0 0] • first choice i cons cons cons cons + 0 0 0 true [2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] false • choice i cons cons cons cons + 0 0 0 true [2147483647] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] • i cons cons cons cons + 0 0 0 true [2147483647] • [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 0 true [2147483647] [bool not] • [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 0 true [2147483647] [bool not] [1 swons popd] • [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 0 true [2147483647] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 0 true [2147483647] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] • swoncat ifte cons cons cons cons + 0 0 0 true [2147483647] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] • swap concat ifte cons cons cons cons + 0 0 0 true [2147483647] [bool not] [1 swons popd] [0 swap uncons [add-with-carry] dip] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • concat ifte cons cons cons cons + 0 0 0 true [2147483647] [bool not] [1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • ifte cons cons cons cons + 0 0 0 true [2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] [[2147483647] true 0 0 0] [bool not] • infra first choice i cons cons cons cons + 0 0 0 true [2147483647] • bool not [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647] true 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 true true • not [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647] true 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 true false • [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647] true 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 true false [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [2147483647] true 0 0 0] • swaack first choice i cons cons cons cons + 0 0 0 true [2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] [false true 0 0 0] • first choice i cons cons cons cons + 0 0 0 true [2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] false • choice i cons cons cons cons + 0 0 0 true [2147483647] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • i cons cons cons cons + 0 0 0 true [2147483647] • 0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true [2147483647] 0 • swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true 0 [2147483647] • uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true 0 2147483647 [] • [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true 0 2147483647 [] [add-with-carry] • dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true 0 2147483647 • add-with-carry [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true 0 2147483647 • _add-with-carry0 _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true 0 2147483647 • [bool_to_int] dipd + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true 0 2147483647 [bool_to_int] • dipd + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true • bool_to_int 0 2147483647 + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true • [0] [1] branch 0 2147483647 + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true [0] • [1] branch 0 2147483647 + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true [0] [1] • branch 0 2147483647 + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 • 1 0 2147483647 + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 1 • 0 2147483647 + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 1 0 • 2147483647 + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 1 0 2147483647 • + + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 1 0 2147483647 • add + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 1 2147483647 • + _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 1 2147483647 • add _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 • _add-with-carry1 [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 • base [mod] [>=] clop [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 • 2147483648 [mod] [>=] clop [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 • [mod] [>=] clop [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] • [>=] clop [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] • clop [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] • cleave popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] • fork popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] • [i] app2 popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] [i] • app2 popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] [i] • [grba swap grba swap] dip [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] [i] [grba swap grba swap] • dip [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] • grba swap grba swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] • [stack popd] dip swap grba swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [>=] [stack popd] • dip swap grba swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] • stack popd [>=] swap grba swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] [[mod] 2147483648 2147483648 0 0 0] • popd [>=] swap grba swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0 0] • [>=] swap grba swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0 0] [>=] • swap grba swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648 0 0 0] • grba swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648 0 0 0] • [stack popd] dip swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [>=] [[mod] 2147483648 2147483648 0 0 0] [stack popd] • dip swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [>=] • stack popd [[mod] 2147483648 2147483648 0 0 0] swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [>=] [[>=] 2147483648 2147483648 0 0 0] • popd [[mod] 2147483648 2147483648 0 0 0] swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[>=] 2147483648 2147483648 0 0 0] • [[mod] 2147483648 2147483648 0 0 0] swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[>=] 2147483648 2147483648 0 0 0] [[mod] 2147483648 2147483648 0 0 0] • swap [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0 0] [[>=] 2147483648 2147483648 0 0 0] • [i] [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0 0] [[>=] 2147483648 2147483648 0 0 0] [i] • [infrst] cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0 0] [[>=] 2147483648 2147483648 0 0 0] [i] [infrst] • cons ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0 0] [[>=] 2147483648 2147483648 0 0 0] [[i] infrst] • ii popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0 0] • [i] infrst [[>=] 2147483648 2147483648 0 0 0] [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0 0] [i] • infrst [[>=] 2147483648 2147483648 0 0 0] [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [[mod] 2147483648 2147483648 0 0 0] [i] • infra first [[>=] 2147483648 2147483648 0 0 0] [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [mod] • i [2147483648 2147483648 0 0 0] swaack first [[>=] 2147483648 2147483648 0 0 0] [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 • mod [2147483648 2147483648 0 0 0] swaack first [[>=] 2147483648 2147483648 0 0 0] [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 0 • [2147483648 2147483648 0 0 0] swaack first [[>=] 2147483648 2147483648 0 0 0] [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 0 [2147483648 2147483648 0 0 0] • swaack first [[>=] 2147483648 2147483648 0 0 0] [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [0 0 0 0] • first [[>=] 2147483648 2147483648 0 0 0] [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 0 • [[>=] 2147483648 2147483648 0 0 0] [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 0 [[>=] 2147483648 2147483648 0 0 0] • [i] infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 0 [[>=] 2147483648 2147483648 0 0 0] [i] • infrst popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 0 [[>=] 2147483648 2147483648 0 0 0] [i] • infra first popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 [>=] • i [0 2147483648 2147483648 0 0 0] swaack first popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 • >= [0 2147483648 2147483648 0 0 0] swaack first popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 • ge [0 2147483648 2147483648 0 0 0] swaack first popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true • [0 2147483648 2147483648 0 0 0] swaack first popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 true [0 2147483648 2147483648 0 0 0] • swaack first popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 0 [true 0 0 0] • first popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 2147483648 0 true • popdd popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 2147483648 0 true • popdd [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 0 true • [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 0 true [] • [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 0 true [] [pop not] • [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 0 true [] [pop not] [popd] • [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 0 true [] [pop not] [popd] [[bool not] [1 swons popd]] • [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec cons cons cons cons + 0 0 0 0 true [] [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] • genrec cons cons cons cons + 0 0 0 0 true [] [pop not] [popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] • ifte cons cons cons cons + 0 0 0 0 true [] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] [[] true 0 0 0 0] [pop not] • infra first choice i cons cons cons cons + 0 0 0 0 true [] • pop not [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [] true 0 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 0 true • not [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [] true 0 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 0 false • [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [] true 0 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 0 false [[popd] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [] true 0 0 0 0] • swaack first choice i cons cons cons cons + 0 0 0 0 true [] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] [false 0 0 0 0] • first choice i cons cons cons cons + 0 0 0 0 true [] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] [popd] false • choice i cons cons cons cons + 0 0 0 0 true [] [[bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte] • i cons cons cons cons + 0 0 0 0 true [] • [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 0 0 true [] [bool not] • [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 0 0 true [] [bool not] [1 swons popd] • [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 0 0 true [] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • [0 swap uncons [add-with-carry] dip] swoncat ifte cons cons cons cons + 0 0 0 0 true [] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] • swoncat ifte cons cons cons cons + 0 0 0 0 true [] [bool not] [1 swons popd] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [0 swap uncons [add-with-carry] dip] • swap concat ifte cons cons cons cons + 0 0 0 0 true [] [bool not] [1 swons popd] [0 swap uncons [add-with-carry] dip] [[pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • concat ifte cons cons cons cons + 0 0 0 0 true [] [bool not] [1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] • ifte cons cons cons cons + 0 0 0 0 true [] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] [[] true 0 0 0 0] [bool not] • infra first choice i cons cons cons cons + 0 0 0 0 true [] • bool not [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [] true 0 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 0 true false • not [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [] true 0 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 0 true true • [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [] true 0 0 0 0] swaack first choice i cons cons cons cons + 0 0 0 0 true true [[1 swons popd] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [] true 0 0 0 0] • swaack first choice i cons cons cons cons + 0 0 0 0 true [] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] [true true 0 0 0 0] • first choice i cons cons cons cons + 0 0 0 0 true [] [0 swap uncons [add-with-carry] dip [pop not] [popd] [[bool not] [1 swons popd]] [[0 swap uncons [add-with-carry] dip] swoncat ifte] genrec] [1 swons popd] true • choice i cons cons cons cons + 0 0 0 0 true [] [1 swons popd] • i cons cons cons cons + 0 0 0 0 true [] • 1 swons popd cons cons cons cons + 0 0 0 0 true [] 1 • swons popd cons cons cons cons + 0 0 0 0 true [1] • popd cons cons cons cons + 0 0 0 0 [1] • cons cons cons cons + 0 0 0 [0 1] • cons cons cons + 0 0 [0 0 1] • cons cons + 0 [0 0 0 1] • cons + [0 0 0 0 1] • + +[0 0 0 0 1] <-top + +joy? +[0 0 0 0 1] • diff --git a/implementations/bigints.joy b/implementations/bigints.joy new file mode 100644 index 0000000..d706a70 --- /dev/null +++ b/implementations/bigints.joy @@ -0,0 +1,34 @@ +base 2147483648 +ditch-empty-list [bool] [popd] [pop] ifte +bool_to_int [0] [1] branch +uncons-two [uncons] ii swapd + +add-with-carry _add-with-carry0 _add-with-carry1 +_add-with-carry0 [bool_to_int] dipd + + +_add-with-carry1 base [mod] [>=] clop + +add-carry-to-digits [_actd_P] [_actd_THEN] [_actd_R0] [_actd_R1] genrec +_actd_P pop not +_actd_THEN popd +_actd_R0 [bool] [_actd_R0.then] [_actd_R0.else] ifte +_actd_R0.else popd 1 false rolldown +_actd_R0.then 0 swap uncons [add-with-carry] dip +_actd_R1 i cons + +add-digits initial-carry add-digits' +initial-carry false rollup +add-digits' [P] [THEN] [R0] [R1] genrec +P [bool] ii & not +THEN [P'] [THEN'] [ELSE] ifte +R0 uncons-two [add-with-carry] dipd +R1 i cons +P' [bool] ii | +THEN' ditch-empty-list add-carry-to-digits +ELSE pop swap [] [1 swons] branch + + +add-bigints +[[first] ii =] # are they the same sign? +[[uncons] dip rest add-digits cons] # add the digits and set the sign. +[neg-bigint sub-bigints] # adding unlikes is actually subtraction. +ifte -- 2.11.0