Not quite as smooth as I'd hoped.

This commit is contained in:
Simon Forman 2022-10-14 20:36:50 -07:00
parent 6ade65ef0c
commit 0b4b79f884
3 changed files with 399 additions and 417 deletions

View File

@ -2437,7 +2437,7 @@
{
"cell_type": "code",
"execution_count": 95,
"id": "e9dc6852",
"id": "d8832fda",
"metadata": {},
"outputs": [
{
@ -2560,7 +2560,7 @@
},
{
"cell_type": "markdown",
"id": "dbfebd04",
"id": "fdc6fc09",
"metadata": {},
"source": [
"But this doesn't go quite far enough, I think.\n",
@ -2570,7 +2570,7 @@
},
{
"cell_type": "markdown",
"id": "d4d65bf2",
"id": "94249f95",
"metadata": {},
"source": [
"I think `R0` will pretty much always do:\n",
@ -2580,7 +2580,7 @@
},
{
"cell_type": "markdown",
"id": "35ff6c75",
"id": "ecc190e3",
"metadata": {},
"source": [
"And so it should be refactored further to something like:\n",
@ -2619,7 +2619,7 @@
},
{
"cell_type": "markdown",
"id": "0f3be915",
"id": "c9fd7e21",
"metadata": {},
"source": [
"Let's figure out the new form.\n",
@ -2642,7 +2642,7 @@
},
{
"cell_type": "markdown",
"id": "7d4ee083",
"id": "64118784",
"metadata": {},
"source": [
"Let's not over think it.\n",
@ -2653,7 +2653,7 @@
},
{
"cell_type": "markdown",
"id": "b5c20b1c",
"id": "90310271",
"metadata": {},
"source": [
"With:\n",
@ -2717,7 +2717,7 @@
},
{
"cell_type": "markdown",
"id": "06c700d6",
"id": "e8433d46",
"metadata": {},
"source": [
"So to get from \n",
@ -2738,7 +2738,7 @@
{
"cell_type": "code",
"execution_count": 103,
"id": "063b3760",
"id": "77e6c03a",
"metadata": {},
"outputs": [
{
@ -2766,7 +2766,7 @@
{
"cell_type": "code",
"execution_count": 104,
"id": "151f9f3d",
"id": "1119f1e6",
"metadata": {},
"outputs": [
{
@ -2802,7 +2802,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "fba574be",
"id": "02bfc247",
"metadata": {},
"outputs": [],
"source": []
@ -2831,7 +2831,7 @@
},
{
"cell_type": "markdown",
"id": "c9d4432e",
"id": "089fc71c",
"metadata": {},
"source": [
"Compare the above with what we wanted:\n",
@ -2853,7 +2853,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "77e1ba72",
"id": "929366cc",
"metadata": {},
"outputs": [],
"source": []
@ -2861,7 +2861,7 @@
{
"cell_type": "code",
"execution_count": 107,
"id": "0c11e3a8",
"id": "a3b7e48a",
"metadata": {},
"outputs": [
{
@ -2886,7 +2886,7 @@
{
"cell_type": "code",
"execution_count": 108,
"id": "301c4fb0",
"id": "313ce113",
"metadata": {
"scrolled": true
},
@ -2906,7 +2906,7 @@
{
"cell_type": "code",
"execution_count": 110,
"id": "115d4c56",
"id": "aca55d10",
"metadata": {},
"outputs": [
{
@ -2923,7 +2923,7 @@
},
{
"cell_type": "markdown",
"id": "5e7c24c4",
"id": "92a471fa",
"metadata": {},
"source": [
" combine-two-lists == build-two-list-combiner [i cons] genrec\n",
@ -2933,7 +2933,7 @@
{
"cell_type": "code",
"execution_count": 111,
"id": "810427a9",
"id": "0fa2607d",
"metadata": {},
"outputs": [
{
@ -2954,7 +2954,7 @@
{
"cell_type": "code",
"execution_count": 112,
"id": "0ba7548f",
"id": "026095a5",
"metadata": {},
"outputs": [
{
@ -2972,7 +2972,7 @@
{
"cell_type": "code",
"execution_count": 113,
"id": "a94d2e37",
"id": "15974737",
"metadata": {},
"outputs": [
{
@ -2990,7 +2990,7 @@
{
"cell_type": "code",
"execution_count": 114,
"id": "7787e86b",
"id": "525bc382",
"metadata": {},
"outputs": [
{
@ -3080,7 +3080,7 @@
{
"cell_type": "code",
"execution_count": 119,
"id": "67e321e7",
"id": "52bb5921",
"metadata": {},
"outputs": [
{
@ -3191,7 +3191,7 @@
},
{
"cell_type": "markdown",
"id": "2cec47e6",
"id": "c85d6fe6",
"metadata": {},
"source": [
"#### Demonstrate `add-bigints`"
@ -3200,7 +3200,7 @@
{
"cell_type": "code",
"execution_count": 125,
"id": "6168ebb7",
"id": "3da6266b",
"metadata": {},
"outputs": [
{
@ -3218,7 +3218,7 @@
{
"cell_type": "code",
"execution_count": 126,
"id": "b8fee2d5",
"id": "7d38dbaa",
"metadata": {},
"outputs": [
{
@ -3236,7 +3236,7 @@
{
"cell_type": "code",
"execution_count": 127,
"id": "9dc66c3b",
"id": "e65f7ff9",
"metadata": {},
"outputs": [
{
@ -3254,7 +3254,7 @@
{
"cell_type": "code",
"execution_count": 128,
"id": "82e85105",
"id": "5d385f35",
"metadata": {},
"outputs": [
{
@ -3272,7 +3272,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "87862546",
"id": "fb7da91a",
"metadata": {},
"outputs": [],
"source": []
@ -3280,7 +3280,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "465edd01",
"id": "679e9df6",
"metadata": {},
"outputs": [],
"source": []
@ -3288,7 +3288,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "6a5453b3",
"id": "d4d2850a",
"metadata": {},
"outputs": [],
"source": []
@ -3296,7 +3296,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "6c1b83b4",
"id": "c4da9da4",
"metadata": {},
"outputs": [],
"source": []
@ -3304,7 +3304,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "5559f087",
"id": "55a37610",
"metadata": {},
"outputs": [],
"source": []
@ -3312,7 +3312,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "76f5198f",
"id": "c637a7ea",
"metadata": {},
"outputs": [],
"source": []
@ -3320,7 +3320,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "9e8c8cba",
"id": "b56cf709",
"metadata": {},
"outputs": [],
"source": []
@ -4546,9 +4546,25 @@
"check-gt"
]
},
{
"cell_type": "code",
"execution_count": 134,
"id": "187c0381",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": []
}
],
"source": [
"clear"
]
},
{
"cell_type": "markdown",
"id": "97693e57",
"id": "1a8a8196",
"metadata": {},
"source": [
"### Subtraction, at last...\n",
@ -4563,26 +4579,51 @@
"\n",
"At this point we would have the sign bit then the two digit lists.\n",
"\n",
" sign [c b a] [z y x]\n",
"\n",
" sign [c b a] [z y x]"
]
},
{
"cell_type": "markdown",
"id": "9751fd65",
"metadata": {},
"source": [
"We want to use `check-gt` here:\n",
"\n",
" sign [c b a] [z y x] check-gt\n",
" sign swapped? [c b a] [z y x] check-gt\n",
"\n",
" sign swapped? [c b a] [z y x] check-gt"
]
},
{
"cell_type": "markdown",
"id": "df2ae839",
"metadata": {},
"source": [
"It seems we should just flip the sign bit if we swap, eh?\n",
"\n",
" check-gt == [gt-bigint] [swap [not] dipd] [] ifte\n",
"\n",
" check-gt == [gt-bigint] [swap [not] dipd] [] ifte"
]
},
{
"cell_type": "markdown",
"id": "c775c3a4",
"metadata": {},
"source": [
"Now we subtract the digits:\n",
"\n",
" sign [c b a] [z y x] sub-digits cons\n",
"\n",
" sign [c b a] [z y x] sub-digits cons"
]
},
{
"cell_type": "markdown",
"id": "97693e57",
"metadata": {},
"source": [
"So:\n",
"\n",
" sub-like-bigints == [uncons] dip rest check-gt sub-digits cons\n",
"\n",
" sub-digits == initial-carry sub-digits'\n",
"\n",
" sub-digits' ==\n",
" [sub-carry-from-digits]\n",
" [swap sub-carry]\n",
@ -4590,54 +4631,22 @@
" build-two-list-combiner\n",
" [i cons] genrec\n",
"\n",
"We just need to define the pieces.\n"
"We just need to define the pieces."
]
},
{
"cell_type": "markdown",
"id": "7c0fbfaf",
"id": "32eeaf38",
"metadata": {},
"source": [
" sub-carry-from-digits\n",
"\n",
"Should be easy to make modeled on\n",
"\n",
" add-carry-to-digits\n",
"\n",
"I'll do it in the morning, and if my logic is correct and I haven't bungled typing it in, the whole thing should just work! OMG? Tomorrow..."
]
},
{
"cell_type": "code",
"execution_count": 195,
"id": "b6c2e9ee",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"24 true"
]
}
],
"source": [
"[sub-carry-from-digits popd] inscribe"
]
},
{
"cell_type": "markdown",
"id": "a0067046",
"metadata": {},
"source": [
" sub-carry == pop\n",
"#### `sub-with-carry`\n",
"\n",
"We know we will never be subtracting a larger (absolute) number from a smaller (absolute) number (they might be equal) so the carry flag will never be true *at the end of a digit list subtraction.*"
]
},
{
"cell_type": "markdown",
"id": "49387109",
"id": "3b47df3b",
"metadata": {},
"source": [
" carry a b sub-with-carry\n",
@ -4652,16 +4661,14 @@
},
{
"cell_type": "code",
"execution_count": 182,
"id": "0237bb03",
"execution_count": 135,
"id": "880dc3da",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-10"
]
"text": []
}
],
"source": [
@ -4672,8 +4679,8 @@
},
{
"cell_type": "code",
"execution_count": 193,
"id": "c8de9645",
"execution_count": 139,
"id": "bae53ad4",
"metadata": {
"scrolled": true
},
@ -4682,25 +4689,25 @@
"name": "stdout",
"output_type": "stream",
"text": [
"false 23 2147483647"
"false 3 9"
]
}
],
"source": [
"clear false 23 base --"
"clear false 3 base --"
]
},
{
"cell_type": "code",
"execution_count": 194,
"id": "aa66a6ae",
"execution_count": 140,
"id": "f54d93bc",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"24 true"
"4 true"
]
}
],
@ -4710,8 +4717,8 @@
},
{
"cell_type": "code",
"execution_count": 229,
"id": "3f75130f",
"execution_count": 141,
"id": "740034d8",
"metadata": {},
"outputs": [
{
@ -4724,6 +4731,271 @@
"clear"
]
},
{
"cell_type": "markdown",
"id": "7c0fbfaf",
"metadata": {},
"source": [
"#### `sub-carry-from-digits`\n",
"\n",
"Should be easy to make modeled on `add-carry-to-digits`, another very simple recursive function. The predicate, base case, and `R1` are the same:\n",
"\n",
" carry [n ...] sub-carry-from-digits\n",
" carry [n ...] [pop not] [popd] [_scfd_R0] [i cons] genrec"
]
},
{
"cell_type": "markdown",
"id": "d29e6193",
"metadata": {},
"source": [
"That leaves the recursive branch:\n",
"\n",
" true [n ...] _scfd_R0 [sub-carry-from-digits] i cons\n",
"\n",
"-or-\n",
"\n",
" true [] _scfd_R0 [sub-carry-from-digits] i cons\n",
"\n",
"**Except** that this should should never happen when subtracting, because we already made sure that we're only ever subtracting a number less than or equal to the, uh, number we are subtracting from (TODO rewrite this trainwreck of a sentence).\n",
"\n",
" true [a ...] _scfd_R0 [sub-carry-from-digits] i cons\n",
" ----------------------------------------------------------------\n",
" true 0 a add-with-carry [...] [sub-carry-from-digits] i cons\n",
" ------------------------------------------------------------------\n",
" (a+1) carry [...] [sub-carry-from-digits] i cons"
]
},
{
"cell_type": "markdown",
"id": "d31868ab",
"metadata": {},
"source": [
" \n",
" true [a ...] _scfd_R0\n",
" true [a ...] 0 swap uncons [sub-with-carry] dip\n",
" true 0 [a ...] uncons [sub-with-carry] dip\n",
" true 0 a [...] [sub-with-carry] dip\n",
" true 0 a sub-with-carry [...]\n",
"\n",
" _scfd_R0 == 0 swap uncons [sub-with-carry] dip"
]
},
{
"cell_type": "markdown",
"id": "5c4404a8",
"metadata": {},
"source": [
"But there's a problem! This winds up subtracting `a` from 0 rather than the other way around:\n",
"\n",
" _scfd_R0 == uncons 0 swap [sub-with-carry] dip"
]
},
{
"cell_type": "code",
"execution_count": 147,
"id": "be093900",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[3 2 1]"
]
}
],
"source": [
"[sub-carry-from-digits\n",
" [pop not]\n",
" [popd]\n",
" [_scfd_R0]\n",
" [i cons]\n",
" genrec\n",
"] inscribe\n",
"[_scfd_R0 uncons 0 swap [sub-with-carry] dip] inscribe"
]
},
{
"cell_type": "markdown",
"id": "253538a4",
"metadata": {},
"source": [
"Try it out:"
]
},
{
"cell_type": "code",
"execution_count": 148,
"id": "ce9f01e2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[3 2 1]"
]
}
],
"source": [
"clear\n",
"\n",
"false [3 2 1] sub-carry-from-digits"
]
},
{
"cell_type": "code",
"execution_count": 160,
"id": "2120af39",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[9 0]"
]
}
],
"source": [
"clear\n",
"\n",
"true [0 1] sub-carry-from-digits"
]
},
{
"cell_type": "code",
"execution_count": 161,
"id": "55fc1f59",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[2 2 1]"
]
}
],
"source": [
"clear\n",
"\n",
"true [3 2 1] sub-carry-from-digits"
]
},
{
"cell_type": "code",
"execution_count": 162,
"id": "1db3eaeb",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[9 9 0]"
]
}
],
"source": [
"clear\n",
"\n",
"true [0 0 1] sub-carry-from-digits"
]
},
{
"cell_type": "code",
"execution_count": 163,
"id": "ededec7b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": []
}
],
"source": [
"clear"
]
},
{
"cell_type": "markdown",
"id": "ffc08bef",
"metadata": {},
"source": [
"But what about those leading zeroes?\n",
"\n",
"We could use a version of `cons` that refuses to put 0 onto an empty list?\n",
"\n",
" cons-but-not-leading-zeroes == [[bool] ii | not] [popd] [cons] ifte"
]
},
{
"cell_type": "code",
"execution_count": 165,
"id": "fe557598",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": []
}
],
"source": [
"[cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] inscribe"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f7275cd6",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "740a5c97",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "9ea8ba1c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 164,
"id": "b6c2e9ee",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": []
}
],
"source": [
"[sub-carry-from-digits popd] inscribe"
]
},
{
"cell_type": "markdown",
"id": "32cef119",
"metadata": {},
"source": [
" sub-carry == pop"
]
},
{
"cell_type": "code",
"execution_count": 230,

View File

@ -188,28 +188,43 @@ joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry-from-digits popd] <-top
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry-from-digits popd] [_sub-with-carry0 rolldown bool-to-int [-] ii] <-top
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry-from-digits popd] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] <-top
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry-from-digits popd] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] [sub-with-carry _sub-with-carry0 _sub-with-carry1] <-top
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry-from-digits popd] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] [sub-with-carry _sub-with-carry0 _sub-with-carry1] <-top
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] [cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry-from-digits popd] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] [sub-with-carry _sub-with-carry0 _sub-with-carry1] [sub-like-bigints [uncons] dip rest check-gt sub-digits cons] <-top
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] [cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry-from-digits popd] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] [sub-with-carry _sub-with-carry0 _sub-with-carry1] [sub-like-bigints [uncons] dip rest check-gt sub-digits cons] [sub-digits initial-carry sub-digits'] <-top
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] [cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] [sub-with-carry _sub-with-carry0 _sub-with-carry1] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry-from-digits popd] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] [sub-with-carry _sub-with-carry0 _sub-with-carry1] [sub-like-bigints [uncons] dip rest check-gt sub-digits cons] [sub-digits initial-carry sub-digits'] <-top
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] [cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] [sub-with-carry _sub-with-carry0 _sub-with-carry1] [_sub-with-carry0 rolldown bool-to-int [-] ii] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] [cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] [sub-with-carry _sub-with-carry0 _sub-with-carry1] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] [cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] [sub-with-carry _sub-with-carry0 _sub-with-carry1] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] [cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] [sub-with-carry _sub-with-carry0 _sub-with-carry1] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] [sub-like-bigints [uncons] dip rest check-gt sub-digits cons] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] [cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] [sub-with-carry _sub-with-carry0 _sub-with-carry1] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] [sub-like-bigints [uncons] dip rest check-gt sub-digits cons] [sub-digits initial-carry sub-digits'] <-top
joy?
[base 2147483648] [ditch-empty-list [bool] [popd] [pop] ifte] [bool-to-int [0] [1] branch] [uncons-two [uncons] ii swapd] [sandwich swap [cons] dip swoncat] [digitalize [0 <=] [pop []] [base divmod swap] [i cons] genrec] [to-bigint [!-] [abs digitalize] cleave cons] [prep rest 1 0 rolldown] [from-bigint' [next-digit] step popd] [next-digit [increase-power] [accumulate-digit] clop popdd] [increase-power popop base *] [accumulate-digit rolldown * +] [sign-int [first] [prep from-bigint'] cleave] [neg-if-necessary swap [neg] [] branch] [from-bigint sign-int neg-if-necessary] [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 [pop not] [popd] [_actd_R0] [i cons] genrec] [_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] [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] [same-sign [first] ii xor not] [add-like-bigints [uncons] dip rest add-digits cons] [add-bigints [same-sign] [add-like-bigints] [1 0 /] ifte] [build-two-list-combiner _btlc0 _btlc1 [i cons]] [_btlc0.0 [[ditch-empty-list] swoncat] dip] [_btlc0.1 [pop] swoncat] [_btlc0.3 [_btlc0.0 _btlc0.1] dip] [_btlc0.4 [uncons-two] [dipd] sandwich] [_btlc0 _btlc0.3 _btlc0.4] [_btlc1 [[ifte] ccons [P'] swons [P] swap] dip] [carry [] [1 swons] branch] [compare-pairs [bool not] [pop false] [[first [>=] infrst] [pop true]] [[rest] swoncat ifte] genrec] [xR1 uncons-two [unit cons swons] dipd] [xP [bool] ii & not] [BASE [bool] [popop pop true] [[pop bool] [popop pop false] [popop compare-pairs] ifte] ifte] [gt-bigint <<{} [xP] [BASE] [xR1] tailrec] [check-gt [gt-bigint] [swap [not] dipd] [] ifte] [sub-carry pop] [cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte] [sub-with-carry _sub-with-carry0 _sub-with-carry1] [_sub-with-carry0 rolldown bool-to-int [-] ii] [_sub-with-carry1 [base + base mod] [0 <] cleave] [sub-like-bigints [uncons] dip rest check-gt sub-digits cons] [sub-digits initial-carry sub-digits'] <-top
joy?
<-top
@ -269,322 +284,13 @@ joy?
<-top
joy?
[sub-digits initial-carry sub-digits'] <-top
[2147483647] <-top
joy?
[sub-digits initial-carry sub-digits'] <-top
[2147483647] <-top
joy?
[sub-digits initial-carry sub-digits'] <-top
joy? [sub-digits initial-carry sub-digits'] true [456] [123] • sub-digits
[sub-digits initial-carry sub-digits'] true [456] [123] • initial-carry sub-digits'
[sub-digits initial-carry sub-digits'] true [456] [123] • false rollup sub-digits'
[sub-digits initial-carry sub-digits'] true [456] [123] false • rollup sub-digits'
[sub-digits initial-carry sub-digits'] true false [456] [123] • sub-digits'
[sub-digits initial-carry sub-digits'] true false [456] [123] • [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] • [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] • [uncons-two [sub-with-carry] dipd] [i cons] genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] • [i cons] genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] • genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] • ifte
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [[123] [456] false true [sub-digits initial-carry sub-digits']] [P] • infra first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] • P [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] • [bool] ii & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] [bool] • ii & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false [456] • bool [123] bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true • [123] bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true [123] • bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true true • & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true true • and not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true • not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false false • [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false false [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] • swaack first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [false false true [sub-digits initial-carry sub-digits']] • first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] false • choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] • i
[sub-digits initial-carry sub-digits'] true false [456] [123] • uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false [456] [123] • [uncons] ii swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons] • ii swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false [456] • uncons [123] uncons swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] • [123] uncons swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] [123] • uncons swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] 123 [] • swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] 123 [] • [swap] dip [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] 123 [] [swap] • dip [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] 123 • swap [] [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 [] • [] [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 [] [] • [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 [] [] [sub-with-carry] • dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 • sub-with-carry [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 • _sub-with-carry0 _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 • rolldown bool-to-int [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 false • bool-to-int [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 false • [0] [1] branch [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 false [0] • [1] branch [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 false [0] [1] • branch [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 • 0 [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 0 • [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 0 [-] • ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 • - 0 - _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 • sub 0 - _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • 0 - _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 0 • - _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 0 • sub _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • [base + base mod] [0 <] cleave [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] • [0 <] cleave [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • cleave [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • fork popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • [i] app2 popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] [i] • app2 popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] [i] • [grba swap grba swap] dip [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] [i] [grba swap grba swap] • dip [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • grba swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • [stack popd] dip swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] [stack popd] • dip swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] • stack popd [0 <] swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • popd [0 <] swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • [0 <] swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [0 <] • swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • [stack popd] dip swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [stack popd] • dip swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] • stack popd [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] [[0 <] 333 true [sub-digits initial-carry sub-digits']] • popd [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] • [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [[0 <] 333 true [sub-digits initial-carry sub-digits']] • [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] • [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] [infrst] • cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [[0 <] 333 true [sub-digits initial-carry sub-digits']] [[i] infrst] • ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • [i] infrst [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [i] • infrst [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [i] • infra first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] • i [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • base + base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • 2147483648 + base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 2147483648 • + base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 2147483648 • add base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 2147483981 • base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 2147483981 • 2147483648 mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 2147483981 2147483648 • mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [333 true [sub-digits initial-carry sub-digits']] • swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [333 true [sub-digits initial-carry sub-digits']] • first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 • [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] • [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] • infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] • infra first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] • i [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • 0 < [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 0 • < [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 0 • lt [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false • [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false [333 333 true [sub-digits initial-carry sub-digits']] • swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 [false true [sub-digits initial-carry sub-digits']] • first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 false • popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 false • [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 false [] • [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] • i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] • [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] • [uncons-two [sub-with-carry] dipd] [i cons] genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] • [i cons] genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] • genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] • ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [[] [] false 333 true [sub-digits initial-carry sub-digits']] [P] • infra first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • P [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [bool] ii & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [bool] • ii & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] • bool [] bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false • [] bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false [] • bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false false • & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false false • and not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false • not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false true • [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false true [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] • swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [true false 333 true [sub-digits initial-carry sub-digits']] • first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] true • choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] • i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P'] • [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P'] [ditch-empty-list sub-carry-from-digits] • [pop swap sub-carry] ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] • ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [pop swap sub-carry] [ditch-empty-list sub-carry-from-digits] [[] [] false 333 true [sub-digits initial-carry sub-digits']] [P'] • infra first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • P' [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [bool] ii | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [bool] • ii | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] • bool [] bool | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false • [] bool | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false [] • bool | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false false • | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false false • or [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false • [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] • swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [pop swap sub-carry] [ditch-empty-list sub-carry-from-digits] [false false 333 true [sub-digits initial-carry sub-digits']] • first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [pop swap sub-carry] [ditch-empty-list sub-carry-from-digits] false • choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [pop swap sub-carry] • i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • pop swap sub-carry cons
[sub-digits initial-carry sub-digits'] true 333 false [] • swap sub-carry cons
[sub-digits initial-carry sub-digits'] true 333 [] false • sub-carry cons
[sub-digits initial-carry sub-digits'] true [456] [123] • sub-digits
[sub-digits initial-carry sub-digits'] true [456] [123] • initial-carry sub-digits'
[sub-digits initial-carry sub-digits'] true [456] [123] • false rollup sub-digits'
[sub-digits initial-carry sub-digits'] true [456] [123] false • rollup sub-digits'
[sub-digits initial-carry sub-digits'] true false [456] [123] • sub-digits'
[sub-digits initial-carry sub-digits'] true false [456] [123] • [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] • [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] • [uncons-two [sub-with-carry] dipd] [i cons] genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] • [i cons] genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] • genrec
[sub-digits initial-carry sub-digits'] true false [456] [123] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] • ifte
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [[123] [456] false true [sub-digits initial-carry sub-digits']] [P] • infra first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] • P [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] • [bool] ii & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] [bool] • ii & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false [456] • bool [123] bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true • [123] bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true [123] • bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true true • & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true true • and not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false true • not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false false • [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] swaack first choice i
[sub-digits initial-carry sub-digits'] true false false [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [123] [456] false true [sub-digits initial-carry sub-digits']] • swaack first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [false false true [sub-digits initial-carry sub-digits']] • first choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] false • choice i
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] • i
[sub-digits initial-carry sub-digits'] true false [456] [123] • uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false [456] [123] • [uncons] ii swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false [456] [123] [uncons] • ii swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false [456] • uncons [123] uncons swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] • [123] uncons swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] [123] • uncons swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] 123 [] • swapd [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] 123 [] • [swap] dip [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] 123 [] [swap] • dip [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 [] 123 • swap [] [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 [] • [] [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 [] [] • [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 [] [] [sub-with-carry] • dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 • sub-with-carry [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 • _sub-with-carry0 _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false 456 123 • rolldown bool-to-int [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 false • bool-to-int [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 false • [0] [1] branch [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 false [0] • [1] branch [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 false [0] [1] • branch [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 • 0 [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 0 • [-] ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 0 [-] • ii _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 • - 0 - _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 456 123 • sub 0 - _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • 0 - _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 0 • - _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 0 • sub _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • _sub-with-carry1 [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • [base + base mod] [0 <] cleave [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] • [0 <] cleave [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • cleave [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • fork popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • [i] app2 popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] [i] • app2 popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] [i] • [grba swap grba swap] dip [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] [i] [grba swap grba swap] • dip [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • grba swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] • [stack popd] dip swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [0 <] [stack popd] • dip swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] • stack popd [0 <] swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • popd [0 <] swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • [0 <] swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [0 <] • swap grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • grba swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • [stack popd] dip swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [stack popd] • dip swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] • stack popd [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] [[0 <] 333 true [sub-digits initial-carry sub-digits']] • popd [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] • [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • swap [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [[0 <] 333 true [sub-digits initial-carry sub-digits']] • [i] [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] • [infrst] cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] [infrst] • cons ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [[0 <] 333 true [sub-digits initial-carry sub-digits']] [[i] infrst] • ii popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] • [i] infrst [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [i] • infrst [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [[base + base mod] 333 true [sub-digits initial-carry sub-digits']] [i] • infra first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [base + base mod] • i [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • base + base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • 2147483648 + base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 2147483648 • + base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 2147483648 • add base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 2147483981 • base mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 2147483981 • 2147483648 mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 2147483981 2147483648 • mod [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • [333 true [sub-digits initial-carry sub-digits']] swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [333 true [sub-digits initial-carry sub-digits']] • swaack first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [333 true [sub-digits initial-carry sub-digits']] • first [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 • [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] • [i] infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] • infrst popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 [[0 <] 333 true [sub-digits initial-carry sub-digits']] [i] • infra first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 [0 <] • i [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 • 0 < [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 0 • < [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 0 • lt [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false • [333 333 true [sub-digits initial-carry sub-digits']] swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true false [333 333 true [sub-digits initial-carry sub-digits']] • swaack first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 [false true [sub-digits initial-carry sub-digits']] • first popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 333 false • popdd [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 false • [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 false [] • [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] • i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] • [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] • [uncons-two [sub-with-carry] dipd] [i cons] genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] • [i cons] genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] • genrec cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] • ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [[] [] false 333 true [sub-digits initial-carry sub-digits']] [P] • infra first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • P [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [bool] ii & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [bool] • ii & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] • bool [] bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false • [] bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false [] • bool & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false false • & not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false false • and not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false • not [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false true • [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false true [[[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [] [] false 333 true [sub-digits initial-carry sub-digits']] • swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [true false 333 true [sub-digits initial-carry sub-digits']] • first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [uncons-two [sub-with-carry] dipd [[P] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] [uncons-two [sub-with-carry] dipd] [i cons] genrec] i cons] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] true • choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [[P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte] • i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P'] • [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P'] [ditch-empty-list sub-carry-from-digits] • [pop swap sub-carry] ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [P'] [ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] • ifte cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [pop swap sub-carry] [ditch-empty-list sub-carry-from-digits] [[] [] false 333 true [sub-digits initial-carry sub-digits']] [P'] • infra first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • P' [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • [bool] ii | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [bool] • ii | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] • bool [] bool | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false • [] bool | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false [] • bool | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false false • | [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false false • or [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false • [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false false [[ditch-empty-list sub-carry-from-digits] [pop swap sub-carry] [] [] false 333 true [sub-digits initial-carry sub-digits']] • swaack first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [pop swap sub-carry] [ditch-empty-list sub-carry-from-digits] [false false 333 true [sub-digits initial-carry sub-digits']] • first choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [pop swap sub-carry] [ditch-empty-list sub-carry-from-digits] false • choice i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] [pop swap sub-carry] • i cons
[sub-digits initial-carry sub-digits'] true 333 false [] [] • pop swap sub-carry cons
[sub-digits initial-carry sub-digits'] true 333 false [] • swap sub-carry cons
[sub-digits initial-carry sub-digits'] true 333 [] false • sub-carry cons
[sub-digits initial-carry sub-digits'] <-top
[2147483647] <-top
joy?
[sub-digits initial-carry sub-digits'] •
[2147483647] •

View File

@ -62,10 +62,13 @@ clear
[sub-carry pop]
[sub-carry-from-digits popd]
[sub-carry-from-digits [pop not] [popd] [_scfd_R0] [i cons-but-not-leading-zeroes] genrec] inscribe
[_scfd_R0 uncons 0 swap [sub-with-carry] dip] inscribe
[cons-but-not-leading-zeroes [[bool] ii | not] [popd] [cons] ifte]
[sub-with-carry _sub-with-carry0 _sub-with-carry1]
[_sub-with-carry0 rolldown bool-to-int [-] ii]
[_sub-with-carry1 [base + base mod] [0 <] cleave]
[sub-with-carry _sub-with-carry0 _sub-with-carry1]
[sub-like-bigints [uncons] dip rest check-gt sub-digits cons]
[sub-digits initial-carry sub-digits']
@ -89,5 +92,6 @@ build-two-list-combiner
inscribe
true [0 1] sub-carry-from-digits
[true 456] [true 123] sub-like-bigints