File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    002947c0
    002947c0math/big.nat.rem: ; void math/big.nat.rem(math/big.nat z, math/big.nat u, math/big.nat v)
    002947c0ldr x16, [x28+16]
    002947c4sub x17, sp, 176
    002947c8subs xzr, x17, x16
    002947ccb.ls 0x294994
    002947d0sub x20, sp, 304
    002947d4stp x29, x30, [x20-8]
    002947d8add sp, x20, 0
    002947dcsub x29, sp, 8
    002947e0str x0, [sp+312]
    002947e4str x1, [sp+320]
    002947e8str x2, [sp+328]
    002947ecstr x3, [sp+336]
    002947f0str x4, [sp+344]
    002947f4str x5, [sp+352]
    002947f8str x6, [sp+360]
    002947fcstr x7, [sp+368]
    00294800str x8, [sp+376]
    00294804str xzr, [sp+120]
    00294808stp xzr, xzr, [sp+128]
    0029480cldr x0, [sp+312]
    00294810ldr x3, [sp+336]
    00294814ldr x1, [sp+320]
    00294818ldr x4, [sp+344]
    0029481cldr x2, [sp+328]
    00294820ldr x5, [sp+352]
    00294824bl math/big.alias
    00294828strb w0, [sp+119]
    0029482ctbnz w0, 0, 0x294834
    00294830b 0x294840
    00294834
    00294834loc_294834:
    00294834str xzr, [sp+312]
    00294838stp xzr, xzr, [sp+320]
    0029483cb 0x294844
    00294840
    00294840loc_294840:
    00294840b 0x294844
    00294844
    00294844loc_294844:
    00294844mov x0, xzr
    00294848bl math/big.getNat
    0029484cstr x0, [sp+144]
    00294850stp xzr, xzr, [sp+176]
    00294854str xzr, [sp+192]
    00294858stp xzr, xzr, [sp+272]
    0029485cstr xzr, [sp+288]
    00294860ldr x1, [sp+144]
    00294864ldrsb x27, [x1]
    00294868ldr x0, [x1]
    0029486cldr x2, [x1+8]
    00294870ldr x1, [x1+16]
    00294874str x0, [sp+248]
    00294878str x2, [sp+256]
    0029487cstr x1, [sp+264]
    00294880ldr x3, [sp+312]
    00294884ldr x6, [sp+336]
    00294888ldr x9, [sp+360]
    0029488cldr x4, [sp+320]
    00294890ldr x7, [sp+344]
    00294894ldr x10, [sp+368]
    00294898ldr x5, [sp+328]
    0029489cldr x8, [sp+352]
    002948a0ldr x11, [sp+376]
    002948a4mov x12, x1
    002948a8mov x1, x2
    002948acmov x2, x12
    002948b0bl math/big.nat.div
    002948b4str x0, [sp+176]
    002948b8str x1, [sp+184]
    002948bcstr x2, [sp+192]
    002948c0str x3, [sp+272]
    002948c4str x4, [sp+280]
    002948c8str x5, [sp+288]
    002948ccldr x1, [sp+176]
    002948d0ldr x2, [sp+184]
    002948d4ldr x3, [sp+192]
    002948d8str x1, [sp+224]
    002948dcstr x2, [sp+232]
    002948e0str x3, [sp+240]
    002948e4ldr x1, [sp+272]
    002948e8ldr x2, [sp+280]
    002948ecldr x3, [sp+288]
    002948f0str x1, [sp+200]
    002948f4str x2, [sp+208]
    002948f8str x3, [sp+216]
    002948fcldr x1, [sp+224]
    00294900ldr x2, [sp+232]
    00294904ldr x3, [sp+240]
    00294908str x1, [sp+152]
    0029490cstr x2, [sp+160]
    00294910str x3, [sp+168]
    00294914ldr x1, [sp+200]
    00294918ldr x2, [sp+208]
    0029491cldr x3, [sp+216]
    00294920str x1, [sp+120]
    00294924str x2, [sp+128]
    00294928str x3, [sp+136]
    0029492cldr x1, [sp+144]
    00294930ldrsb x27, [x1]
    00294934ldr x2, [sp+152]
    00294938ldr x3, [sp+160]
    0029493cldr x4, [sp+168]
    00294940str x3, [x1+8]
    00294944str x4, [x1+16]
    00294948adrp x27, 0x7b7000
    0029494cldr w3, [x27+3056]
    00294950cbz w3, 0x294958
    00294954b 0x29495c
    00294958
    00294958loc_294958:
    00294958b 0x294970
    0029495c
    0029495cloc_29495c:
    0029495cbl runtime.gcWriteBarrier2
    00294960str x2, [x25]
    00294964ldr x3, [x1]
    00294968str x3, [x25+8]
    0029496cb 0x294970
    00294970
    00294970loc_294970:
    00294970str x2, [x1]
    00294974ldr x0, [sp+144]
    00294978bl math/big.putNat
    0029497cldr x0, [sp+120]
    00294980ldr x1, [sp+128]
    00294984ldr x2, [sp+136]
    00294988ldp x29, x30, [sp-8]
    0029498cadd sp, sp, 304
    00294990ret x30
    00294994
    00294994loc_294994:
    00294994stp x0, x1, [sp+8]
    00294998stp x2, x3, [sp+24]
    0029499cstp x4, x5, [sp+40]
    002949a0stp x6, x7, [sp+56]
    002949a4str x8, [sp+72]
    002949a8mov x3, x30
    002949acbl runtime.morestack_noctxt.abi0
    002949b0ldp x0, x1, [sp+8]
    002949b4ldp x2, x3, [sp+24]
    002949b8ldp x4, x5, [sp+40]
    002949bcldp x6, x7, [sp+56]
    002949c0ldr x8, [sp+72]
    002949c4b 0x2947c0
    002949c8udf 0
    002949ccudf 0
    002947c0
    002949d0
    002949d0math/big.nat.div: ; void math/big.nat.div(math/big.nat z, math/big.nat z2, math/big.nat u, math/big.nat v)
    002949d0ldr x16, [x28+16]
    002949d4sub x17, sp, 192
    002949d8subs xzr, x17, x16
    002949dcb.ls 0x294cac
    002949e0sub x20, sp, 320
    002949e4stp x29, x30, [x20-8]
    002949e8add sp, x20, 0
    002949ecsub x29, sp, 8
    002949f0str x0, [sp+328]
    002949f4str x1, [sp+336]
    002949f8str x2, [sp+344]
    002949fcstr x3, [sp+352]
    00294a00str x4, [sp+360]
    00294a04str x5, [sp+368]
    00294a08str x6, [sp+376]
    00294a0cstr x7, [sp+384]
    00294a10str x8, [sp+392]
    00294a14str x9, [sp+400]
    00294a18str x10, [sp+408]
    00294a1cstr x11, [sp+416]
    00294a20str xzr, [sp+168]
    00294a24stp xzr, xzr, [sp+176]
    00294a28str xzr, [sp+144]
    00294a2cstp xzr, xzr, [sp+152]
    00294a30ldr x6, [sp+408]
    00294a34str x6, [sp+136]
    00294a38cbz x6, 0x294c94
    00294a3cb 0x294a40
    00294a40
    00294a40loc_294a40:
    00294a40ldr x0, [sp+376]
    00294a44ldr x3, [sp+400]
    00294a48ldr x1, [sp+384]
    00294a4cldr x4, [sp+408]
    00294a50ldr x2, [sp+392]
    00294a54ldr x5, [sp+416]
    00294a58bl math/big.nat.cmp
    00294a5cstr x0, [sp+136]
    00294a60tbnz x0, 63, 0x294a68
    00294a64b 0x294adc
    00294a68
    00294a68loc_294a68:
    00294a68ldr x6, [sp+328]
    00294a6cldr x7, [sp+344]
    00294a70b 0x294a74
    00294a74
    00294a74loc_294a74:
    00294a74b 0x294a78
    00294a78
    00294a78loc_294a78:
    00294a78str x6, [sp+168]
    00294a7cstr xzr, [sp+176]
    00294a80str x7, [sp+184]
    00294a84ldr x0, [sp+352]
    00294a88ldr x3, [sp+376]
    00294a8cldr x1, [sp+360]
    00294a90ldr x4, [sp+384]
    00294a94ldr x2, [sp+368]
    00294a98ldr x5, [sp+392]
    00294a9cbl math/big.nat.set
    00294aa0str x0, [sp+144]
    00294aa4str x1, [sp+152]
    00294aa8str x2, [sp+160]
    00294aacldr x6, [sp+168]
    00294ab0ldr x7, [sp+176]
    00294ab4ldr x8, [sp+184]
    00294ab8mov x3, x0
    00294abcmov x4, x1
    00294ac0mov x5, x2
    00294ac4mov x0, x6
    00294ac8mov x1, x7
    00294accmov x2, x8
    00294ad0ldp x29, x30, [sp-8]
    00294ad4add sp, sp, 320
    00294ad8ret x30
    00294adc
    00294adcloc_294adc:
    00294adcldr x12, [sp+408]
    00294ae0str x12, [sp+136]
    00294ae4subs xzr, x12, 1
    00294ae8b.eq 0x294af0
    00294aecb 0x294bb8
    00294af0
    00294af0loc_294af0:
    00294af0str xzr, [sp+104]
    00294af4str xzr, [sp+264]
    00294af8stp xzr, xzr, [sp+272]
    00294afcldr x1, [sp+408]
    00294b00ldr x7, [sp+400]
    00294b04subs xzr, x1, 0
    00294b08b.hi 0x294b10
    00294b0cb 0x294c8c
    00294b10
    00294b10loc_294b10:
    00294b10ldr x6, [x7]
    00294b14str x6, [sp+120]
    00294b18ldr x0, [sp+328]
    00294b1cldr x3, [sp+376]
    00294b20ldr x1, [sp+336]
    00294b24ldr x4, [sp+384]
    00294b28ldr x2, [sp+344]
    00294b2cldr x5, [sp+392]
    00294b30bl math/big.nat.divW
    00294b34str x0, [sp+264]
    00294b38str x1, [sp+272]
    00294b3cstr x2, [sp+280]
    00294b40str x3, [sp+128]
    00294b44str x0, [sp+216]
    00294b48str x1, [sp+224]
    00294b4cstr x2, [sp+232]
    00294b50ldr x7, [sp+128]
    00294b54str x7, [sp+112]
    00294b58str x0, [sp+168]
    00294b5cstr x1, [sp+176]
    00294b60str x2, [sp+184]
    00294b64ldr x3, [sp+112]
    00294b68str x3, [sp+104]
    00294b6cldr x0, [sp+352]
    00294b70ldr x1, [sp+360]
    00294b74ldr x2, [sp+368]
    00294b78bl math/big.nat.setWord
    00294b7cstr x0, [sp+144]
    00294b80str x1, [sp+152]
    00294b84str x2, [sp+160]
    00294b88ldr x7, [sp+168]
    00294b8cldr x8, [sp+176]
    00294b90ldr x9, [sp+184]
    00294b94mov x3, x0
    00294b98mov x4, x1
    00294b9cmov x5, x2
    00294ba0mov x0, x7
    00294ba4mov x1, x8
    00294ba8mov x2, x9
    00294bacldp x29, x30, [sp-8]
    00294bb0add sp, sp, 320
    00294bb4ret x30
    00294bb8
    00294bb8loc_294bb8:
    00294bb8str xzr, [sp+264]
    00294bbcstp xzr, xzr, [sp+272]
    00294bc0str xzr, [sp+240]
    00294bc4stp xzr, xzr, [sp+248]
    00294bc8ldr x0, [sp+328]
    00294bccldr x3, [sp+352]
    00294bd0ldr x6, [sp+376]
    00294bd4ldr x9, [sp+400]
    00294bd8ldr x1, [sp+336]
    00294bdcldr x4, [sp+360]
    00294be0ldr x7, [sp+384]
    00294be4ldr x10, [sp+408]
    00294be8ldr x2, [sp+344]
    00294becldr x5, [sp+368]
    00294bf0ldr x8, [sp+392]
    00294bf4ldr x11, [sp+416]
    00294bf8bl math/big.nat.divLarge
    00294bfcstr x0, [sp+264]
    00294c00str x1, [sp+272]
    00294c04str x2, [sp+280]
    00294c08str x3, [sp+240]
    00294c0cstr x4, [sp+248]
    00294c10str x5, [sp+256]
    00294c14ldr x12, [sp+272]
    00294c18ldr x13, [sp+280]
    00294c1cldr x14, [sp+264]
    00294c20str x14, [sp+192]
    00294c24str x12, [sp+200]
    00294c28str x13, [sp+208]
    00294c2cldr x12, [sp+240]
    00294c30ldr x13, [sp+248]
    00294c34ldr x14, [sp+256]
    00294c38str x12, [sp+288]
    00294c3cstr x13, [sp+296]
    00294c40str x14, [sp+304]
    00294c44ldr x12, [sp+192]
    00294c48ldr x13, [sp+200]
    00294c4cldr x14, [sp+208]
    00294c50str x12, [sp+168]
    00294c54str x13, [sp+176]
    00294c58str x14, [sp+184]
    00294c5cldr x3, [sp+288]
    00294c60ldr x4, [sp+296]
    00294c64ldr x5, [sp+304]
    00294c68str x3, [sp+144]
    00294c6cstr x4, [sp+152]
    00294c70str x5, [sp+160]
    00294c74ldr x0, [sp+168]
    00294c78ldr x1, [sp+176]
    00294c7cldr x2, [sp+184]
    00294c80ldp x29, x30, [sp-8]
    00294c84add sp, sp, 320
    00294c88ret x30
    00294c8c
    00294c8cloc_294c8c:
    00294c8cmov x0, xzr
    00294c90bl runtime.panicIndex
    00294c94
    00294c94loc_294c94:
    00294c94adrp x0, 0x361000
    00294c98add x0, x0, 2944
    00294c9cadrp x1, 0x47e000
    00294ca0add x1, x1, 1280
    00294ca4bl runtime.gopanic
    00294ca8hint
    00294cac
    00294cacloc_294cac:
    00294cacstp x0, x1, [sp+8]
    00294cb0stp x2, x3, [sp+24]
    00294cb4stp x4, x5, [sp+40]
    00294cb8stp x6, x7, [sp+56]
    00294cbcstp x8, x9, [sp+72]
    00294cc0stp x10, x11, [sp+88]
    00294cc4mov x3, x30
    00294cc8bl runtime.morestack_noctxt.abi0
    00294cccldp x0, x1, [sp+8]
    00294cd0ldp x2, x3, [sp+24]
    00294cd4ldp x4, x5, [sp+40]
    00294cd8ldp x6, x7, [sp+56]
    00294cdcldp x8, x9, [sp+72]
    00294ce0ldp x10, x11, [sp+88]
    00294ce4b 0x2949d0
    00294ce8udf 0
    00294cecudf 0
    002949d0
    00294cf0
    00294cf0math/big.nat.divW: ; void math/big.nat.divW(math/big.nat z, math/big.nat x, math/big.Word y)
    00294cf0ldr x16, [x28+16]
    00294cf4subs xzr, sp, x16
    00294cf8b.ls 0x294e50
    00294cfcstr x30, [sp-128]!
    00294d00stur x29, [sp-8]
    00294d04sub x29, sp, 8
    00294d08str x0, [sp+136]
    00294d0cstr x1, [sp+144]
    00294d10str x2, [sp+152]
    00294d14str x3, [sp+160]
    00294d18str x4, [sp+168]
    00294d1cstr x5, [sp+176]
    00294d20str x6, [sp+184]
    00294d24str xzr, [sp+96]
    00294d28stp xzr, xzr, [sp+104]
    00294d2cstr xzr, [sp+80]
    00294d30ldr x3, [sp+168]
    00294d34str x3, [sp+88]
    00294d38ldr x6, [sp+184]
    00294d3ccbz x6, 0x294e34
    00294d40b 0x294d44
    00294d44
    00294d44loc_294d44:
    00294d44ldr x6, [sp+184]
    00294d48subs xzr, x6, 1
    00294d4cb.eq 0x294d54
    00294d50b 0x294d90
    00294d54
    00294d54loc_294d54:
    00294d54b 0x294d58
    00294d58
    00294d58loc_294d58:
    00294d58ldr x0, [sp+136]
    00294d5cldr x3, [sp+160]
    00294d60ldr x1, [sp+144]
    00294d64ldr x4, [sp+168]
    00294d68ldr x2, [sp+152]
    00294d6cldr x5, [sp+176]
    00294d70bl math/big.nat.set
    00294d74str x0, [sp+96]
    00294d78str x1, [sp+104]
    00294d7cstr x2, [sp+112]
    00294d80ldr x3, [sp+80]
    00294d84ldur x29, [sp-8]
    00294d88ldr x30, [sp], 128
    00294d8cret x30
    00294d90
    00294d90loc_294d90:
    00294d90cbz x3, 0x294d98
    00294d94b 0x294dcc
    00294d98
    00294d98loc_294d98:
    00294d98b 0x294d9c
    00294d9c
    00294d9cloc_294d9c:
    00294d9cldr x0, [sp+136]
    00294da0ldr x2, [sp+152]
    00294da4b 0x294da8
    00294da8
    00294da8loc_294da8:
    00294da8b 0x294dac
    00294dac
    00294dacloc_294dac:
    00294dacstr x0, [sp+96]
    00294db0str xzr, [sp+104]
    00294db4str x2, [sp+112]
    00294db8ldr x3, [sp+80]
    00294dbcmov x1, xzr
    00294dc0ldur x29, [sp-8]
    00294dc4ldr x30, [sp], 128
    00294dc8ret x30
    00294dcc
    00294dccloc_294dcc:
    00294dccb 0x294dd0
    00294dd0
    00294dd0loc_294dd0:
    00294dd0ldr x0, [sp+136]
    00294dd4ldr x1, [sp+144]
    00294dd8ldr x2, [sp+152]
    00294ddcbl math/big.nat.make
    00294de0str x0, [sp+136]
    00294de4str x1, [sp+144]
    00294de8str x2, [sp+152]
    00294decldr x7, [sp+184]
    00294df0ldr x4, [sp+160]
    00294df4ldr x5, [sp+168]
    00294df8ldr x6, [sp+176]
    00294dfcmov x3, xzr
    00294e00bl math/big.divWVW
    00294e04str x0, [sp+80]
    00294e08ldr x0, [sp+136]
    00294e0cldr x1, [sp+144]
    00294e10ldr x2, [sp+152]
    00294e14bl math/big.nat.norm
    00294e18str x0, [sp+96]
    00294e1cstr x1, [sp+104]
    00294e20str x2, [sp+112]
    00294e24ldr x3, [sp+80]
    00294e28ldur x29, [sp-8]
    00294e2cldr x30, [sp], 128
    00294e30ret x30
    00294e34
    00294e34loc_294e34:
    00294e34b 0x294e38
    00294e38
    00294e38loc_294e38:
    00294e38adrp x0, 0x361000
    00294e3cadd x0, x0, 2944
    00294e40adrp x1, 0x47e000
    00294e44add x1, x1, 1280
    00294e48bl runtime.gopanic
    00294e4chint
    00294e50
    00294e50loc_294e50:
    00294e50stp x0, x1, [sp+8]
    00294e54stp x2, x3, [sp+24]
    00294e58stp x4, x5, [sp+40]
    00294e5cstr x6, [sp+56]
    00294e60mov x3, x30
    00294e64bl runtime.morestack_noctxt.abi0
    00294e68ldp x0, x1, [sp+8]
    00294e6cldp x2, x3, [sp+24]
    00294e70ldp x4, x5, [sp+40]
    00294e74ldr x6, [sp+56]
    00294e78b 0x294cf0
    00294e7cudf 0
    00294cf0
    00294e80
    00294e80math/big.divWVW: ; void math/big.divWVW(struct []math/big.Word z, math/big.Word xn, struct []math/big.Word x, math/big.Word y)
    00294e80ldr x16, [x28+16]
    00294e84sub x17, sp, 48
    00294e88subs xzr, x17, x16
    00294e8cb.ls 0x295020
    00294e90str x30, [sp-176]!
    00294e94stur x29, [sp-8]
    00294e98sub x29, sp, 8
    00294e9cstr x0, [sp+184]
    00294ea0str x1, [sp+192]
    00294ea4str x2, [sp+200]
    00294ea8str x3, [sp+208]
    00294eacstr x4, [sp+216]
    00294eb0str x5, [sp+224]
    00294eb4str x6, [sp+232]
    00294eb8str x7, [sp+240]
    00294ebcstr xzr, [sp+56]
    00294ec0str x3, [sp+56]
    00294ec4ldr x4, [sp+224]
    00294ec8str x4, [sp+144]
    00294eccsubs xzr, x4, 1
    00294ed0b.eq 0x294ed8
    00294ed4b 0x294f4c
    00294ed8
    00294ed8loc_294ed8:
    00294ed8ldr x1, [sp+224]
    00294edcldr x4, [sp+216]
    00294ee0subs xzr, x1, 0
    00294ee4b.hi 0x294eec
    00294ee8b 0x295014
    00294eec
    00294eecloc_294eec:
    00294eecldr x4, [x4]
    00294ef0str x4, [sp+104]
    00294ef4ldr x1, [sp+104]
    00294ef8ldr x2, [sp+240]
    00294efcmov x0, x3
    00294f00bl math/bits.Div
    00294f04str x0, [sp+136]
    00294f08str x1, [sp+128]
    00294f0cstr x0, [sp+88]
    00294f10str x1, [sp+80]
    00294f14str x0, [sp+64]
    00294f18str x1, [sp+40]
    00294f1cldr x1, [sp+192]
    00294f20ldr x3, [sp+184]
    00294f24subs xzr, x1, 0
    00294f28b.hi 0x294f30
    00294f2cb 0x29500c
    00294f30
    00294f30loc_294f30:
    00294f30str x0, [x3]
    00294f34ldr x1, [sp+40]
    00294f38str x1, [sp+56]
    00294f3cldr x0, [sp+56]
    00294f40ldur x29, [sp-8]
    00294f44ldr x30, [sp], 176
    00294f48ret x30
    00294f4c
    00294f4cloc_294f4c:
    00294f4cmov x0, x7
    00294f50bl math/big.reciprocalWord
    00294f54str x0, [sp+48]
    00294f58ldr x1, [sp+192]
    00294f5cstr x1, [sp+144]
    00294f60sub x1, x1, 1
    00294f64str x1, [sp+72]
    00294f68b 0x294f6c
    00294f6c
    00294f6cloc_294f6c:
    00294f6cldr x4, [sp+72]
    00294f70tbz x4, 63, 0x294f78
    00294f74b 0x294ff0
    00294f78
    00294f78loc_294f78:
    00294f78ldr x0, [sp+72]
    00294f7cldr x1, [sp+224]
    00294f80ldr x4, [sp+216]
    00294f84subs xzr, x0, x1
    00294f88b.lo 0x294f90
    00294f8cb 0x295008
    00294f90
    00294f90loc_294f90:
    00294f90ldr x1, [x4+3*x0]
    00294f94str x1, [sp+96]
    00294f98ldr x0, [sp+56]
    00294f9cldr x2, [sp+240]
    00294fa0ldr x3, [sp+48]
    00294fa4bl math/big.divWW
    00294fa8str x0, [sp+120]
    00294facstr x1, [sp+112]
    00294fb0str x0, [sp+160]
    00294fb4str x1, [sp+152]
    00294fb8ldr x4, [sp+72]
    00294fbcldr x1, [sp+192]
    00294fc0ldr x5, [sp+184]
    00294fc4subs xzr, x4, x1
    00294fc8b.lo 0x294fd0
    00294fccb 0x295000
    00294fd0
    00294fd0loc_294fd0:
    00294fd0str x0, [x5+3*x4]
    00294fd4ldr x4, [sp+152]
    00294fd8str x4, [sp+56]
    00294fdcb 0x294fe0
    00294fe0
    00294fe0loc_294fe0:
    00294fe0ldr x4, [sp+72]
    00294fe4sub x4, x4, 1
    00294fe8str x4, [sp+72]
    00294fecb 0x294f6c
    00294ff0
    00294ff0loc_294ff0:
    00294ff0ldr x0, [sp+56]
    00294ff4ldur x29, [sp-8]
    00294ff8ldr x30, [sp], 176
    00294ffcret x30
    00295000
    00295000loc_295000:
    00295000mov x0, x4
    00295004bl runtime.panicIndex
    00295008
    00295008loc_295008:
    00295008bl runtime.panicIndex
    0029500c
    0029500cloc_29500c:
    0029500cmov x0, xzr
    00295010bl runtime.panicIndex
    00295014
    00295014loc_295014:
    00295014mov x0, xzr
    00295018bl runtime.panicIndex
    0029501chint
    00295020
    00295020loc_295020:
    00295020stp x0, x1, [sp+8]
    00295024stp x2, x3, [sp+24]
    00295028stp x4, x5, [sp+40]
    0029502cstp x6, x7, [sp+56]
    00295030mov x3, x30
    00295034bl runtime.morestack_noctxt.abi0
    00295038ldp x0, x1, [sp+8]
    0029503cldp x2, x3, [sp+24]
    00295040ldp x4, x5, [sp+40]
    00295044ldp x6, x7, [sp+56]
    00295048b 0x294e80
    0029504cudf 0
    00294e80
    00295050
    00295050math/big.nat.divLarge: ; void math/big.nat.divLarge(math/big.nat z, math/big.nat u, math/big.nat uIn, math/big.nat vIn)
    00295050ldr x16, [x28+16]
    00295054sub x17, sp, 128
    00295058subs xzr, x17, x16
    0029505cb.ls 0x295380
    00295060sub x20, sp, 256
    00295064stp x29, x30, [x20-8]
    00295068add sp, x20, 0
    0029506csub x29, sp, 8
    00295070str x0, [sp+264]
    00295074str x1, [sp+272]
    00295078str x2, [sp+280]
    0029507cstr x3, [sp+288]
    00295080str x4, [sp+296]
    00295084str x5, [sp+304]
    00295088str x6, [sp+312]
    0029508cstr x7, [sp+320]
    00295090str x8, [sp+328]
    00295094str x9, [sp+336]
    00295098str x10, [sp+344]
    0029509cstr x11, [sp+352]
    002950a0str xzr, [sp+200]
    002950a4stp xzr, xzr, [sp+208]
    002950a8str xzr, [sp+176]
    002950acstp xzr, xzr, [sp+184]
    002950b0ldr x2, [sp+344]
    002950b4str x2, [sp+96]
    002950b8ldr x3, [sp+320]
    002950bcstr x3, [sp+136]
    002950c0sub x3, x3, x2
    002950c4str x3, [sp+104]
    002950c8ldr x1, [sp+344]
    002950ccldr x3, [sp+336]
    002950d0sub x0, x2, 1
    002950d4subs xzr, x1, x0
    002950d8b.hi 0x2950e0
    002950dcb 0x295378
    002950e0
    002950e0loc_2950e0:
    002950e0ldr x0, [x3+3*x0]
    002950e4str x0, [sp+112]
    002950e8bl math/big.nlz
    002950ecstr x0, [sp+88]
    002950f0ldr x0, [sp+96]
    002950f4bl math/big.getNat
    002950f8str x0, [sp+144]
    002950fcldrsb x27, [x0]
    00295100ldr x1, [x0]
    00295104ldr x2, [x0+8]
    00295108ldr x3, [x0+16]
    0029510cstr x1, [sp+152]
    00295110str x2, [sp+160]
    00295114str x3, [sp+168]
    00295118ldr x4, [sp+88]
    0029511cldr x5, [sp+336]
    00295120ldr x6, [sp+344]
    00295124ldr x7, [sp+352]
    00295128str x1, [sp+8]
    0029512cstr x2, [sp+16]
    00295130str x3, [sp+24]
    00295134str x5, [sp+32]
    00295138str x6, [sp+40]
    0029513cstr x7, [sp+48]
    00295140str x4, [sp+56]
    00295144bl math/big.shlVU.abi0
    00295148ldr x1, [sp+320]
    0029514cstr x1, [sp+136]
    00295150ldr x2, [sp+296]
    00295154ldr x3, [sp+304]
    00295158ldr x0, [sp+288]
    0029515cadd x1, x1, 1
    00295160mov x4, x1
    00295164mov x1, x2
    00295168mov x2, x3
    0029516cmov x3, x4
    00295170bl math/big.nat.make
    00295174str x0, [sp+288]
    00295178str x1, [sp+296]
    0029517cstr x2, [sp+304]
    00295180ldr x1, [sp+320]
    00295184str x1, [sp+136]
    00295188ldr x1, [sp+320]
    0029518cstr x1, [sp+128]
    00295190ldr x3, [sp+288]
    00295194subs xzr, x2, x1
    00295198b.hs 0x2951a0
    0029519cb 0x295374
    002951a0
    002951a0loc_2951a0:
    002951a0b 0x2951a4
    002951a4
    002951a4loc_2951a4:
    002951a4str x3, [sp+224]
    002951a8str x1, [sp+232]
    002951acstr x2, [sp+240]
    002951b0ldr x0, [sp+88]
    002951b4ldr x4, [sp+312]
    002951b8ldr x5, [sp+320]
    002951bcldr x6, [sp+328]
    002951c0str x3, [sp+8]
    002951c4str x1, [sp+16]
    002951c8str x2, [sp+24]
    002951ccstr x4, [sp+32]
    002951d0str x5, [sp+40]
    002951d4str x6, [sp+48]
    002951d8str x0, [sp+56]
    002951dcbl math/big.shlVU.abi0
    002951e0ldr x0, [sp+64]
    002951e4str x0, [sp+120]
    002951e8ldr x1, [sp+136]
    002951ecldr x2, [sp+296]
    002951f0ldr x3, [sp+288]
    002951f4subs xzr, x2, x1
    002951f8b.hi 0x295200
    002951fcb 0x295368
    00295200
    00295200loc_295200:
    00295200str x0, [x3+3*x1]
    00295204ldr x0, [sp+264]
    00295208ldr x3, [sp+288]
    0029520cldr x1, [sp+272]
    00295210ldr x4, [sp+296]
    00295214ldr x2, [sp+280]
    00295218ldr x5, [sp+304]
    0029521cbl math/big.alias
    00295220strb w0, [sp+87]
    00295224tbnz w0, 0, 0x29522c
    00295228b 0x295238
    0029522c
    0029522cloc_29522c:
    0029522cstr xzr, [sp+264]
    00295230stp xzr, xzr, [sp+272]
    00295234b 0x29523c
    00295238
    00295238loc_295238:
    00295238b 0x29523c
    0029523c
    0029523cloc_29523c:
    0029523cldr x0, [sp+264]
    00295240ldr x1, [sp+272]
    00295244ldr x2, [sp+280]
    00295248ldr x4, [sp+104]
    0029524cadd x3, x4, 1
    00295250bl math/big.nat.make
    00295254str x0, [sp+200]
    00295258str x1, [sp+208]
    0029525cstr x2, [sp+216]
    00295260ldr x4, [sp+96]
    00295264subs xzr, x4, 100
    00295268b.lt 0x295270
    0029526cb 0x295290
    00295270
    00295270loc_295270:
    00295270ldr x4, [sp+296]
    00295274ldr x7, [sp+160]
    00295278ldr x5, [sp+304]
    0029527cldr x8, [sp+168]
    00295280ldr x3, [sp+288]
    00295284ldr x6, [sp+152]
    00295288bl math/big.nat.divBasic
    0029528cb 0x2952b0
    00295290
    00295290loc_295290:
    00295290ldr x4, [sp+296]
    00295294ldr x7, [sp+160]
    00295298ldr x5, [sp+304]
    0029529cldr x8, [sp+168]
    002952a0ldr x3, [sp+288]
    002952a4ldr x6, [sp+152]
    002952a8bl math/big.nat.divRecursive
    002952acb 0x2952b0
    002952b0
    002952b0loc_2952b0:
    002952b0ldr x0, [sp+144]
    002952b4bl math/big.putNat
    002952b8ldr x0, [sp+200]
    002952bcldr x1, [sp+208]
    002952c0ldr x2, [sp+216]
    002952c4bl math/big.nat.norm
    002952c8str x0, [sp+200]
    002952ccstr x1, [sp+208]
    002952d0str x2, [sp+216]
    002952d4ldr x1, [sp+88]
    002952d8ldr x2, [sp+288]
    002952dcldr x3, [sp+296]
    002952e0ldr x4, [sp+304]
    002952e4ldr x5, [sp+288]
    002952e8ldr x6, [sp+296]
    002952ecldr x7, [sp+304]
    002952f0str x2, [sp+8]
    002952f4str x3, [sp+16]
    002952f8str x4, [sp+24]
    002952fcstr x5, [sp+32]
    00295300str x6, [sp+40]
    00295304str x7, [sp+48]
    00295308str x1, [sp+56]
    0029530cbl math/big.shrVU.abi0
    00295310ldr x0, [sp+288]
    00295314ldr x1, [sp+296]
    00295318ldr x2, [sp+304]
    0029531cbl math/big.nat.norm
    00295320str x0, [sp+176]
    00295324str x1, [sp+184]
    00295328str x2, [sp+192]
    0029532cldr x3, [sp+200]
    00295330ldr x4, [sp+208]
    00295334ldr x5, [sp+216]
    00295338mov x6, x0
    0029533cmov x0, x3
    00295340mov x7, x1
    00295344mov x1, x4
    00295348mov x8, x2
    0029534cmov x2, x5
    00295350mov x3, x6
    00295354mov x4, x7
    00295358mov x5, x8
    0029535cldp x29, x30, [sp-8]
    00295360add sp, sp, 256
    00295364ret x30
    00295368
    00295368loc_295368:
    00295368mov x0, x1
    0029536cmov x1, x2
    00295370bl runtime.panicIndex
    00295374
    00295374loc_295374:
    00295374bl runtime.panicSliceAcap
    00295378
    00295378loc_295378:
    00295378bl runtime.panicIndex
    0029537chint
    00295380
    00295380loc_295380:
    00295380stp x0, x1, [sp+8]
    00295384stp x2, x3, [sp+24]
    00295388stp x4, x5, [sp+40]
    0029538cstp x6, x7, [sp+56]
    00295390stp x8, x9, [sp+72]
    00295394stp x10, x11, [sp+88]
    00295398mov x3, x30
    0029539cbl runtime.morestack_noctxt.abi0
    002953a0ldp x0, x1, [sp+8]
    002953a4ldp x2, x3, [sp+24]
    002953a8ldp x4, x5, [sp+40]
    002953acldp x6, x7, [sp+56]
    002953b0ldp x8, x9, [sp+72]
    002953b4ldp x10, x11, [sp+88]
    002953b8b 0x295050
    002953bcudf 0
    00295050
    002953c0
    002953c0math/big.nat.divBasic: ; void math/big.nat.divBasic(math/big.nat q, math/big.nat u, math/big.nat v)
    002953c0ldr x16, [x28+16]
    002953c4sub x17, sp, 272
    002953c8subs xzr, x17, x16
    002953ccb.ls 0x295a84
    002953d0sub x20, sp, 400
    002953d4stp x29, x30, [x20-8]
    002953d8add sp, x20, 0
    002953dcsub x29, sp, 8
    002953e0str x0, [sp+408]
    002953e4str x1, [sp+416]
    002953e8str x2, [sp+424]
    002953ecstr x3, [sp+432]
    002953f0str x4, [sp+440]
    002953f4str x5, [sp+448]
    002953f8str x6, [sp+456]
    002953fcstr x7, [sp+464]
    00295400str x8, [sp+472]
    00295404str x7, [sp+184]
    00295408ldr x1, [sp+440]
    0029540cstr x1, [sp+256]
    00295410sub x1, x1, x7
    00295414str x1, [sp+192]
    00295418add x0, x7, 1
    0029541cbl math/big.getNat
    00295420str x0, [sp+312]
    00295424ldrsb x27, [x0]
    00295428ldr x1, [x0]
    0029542cldr x2, [x0+8]
    00295430ldr x3, [x0+16]
    00295434str x1, [sp+320]
    00295438str x2, [sp+328]
    0029543cstr x3, [sp+336]
    00295440ldr x1, [sp+464]
    00295444ldr x2, [sp+456]
    00295448ldr x3, [sp+184]
    0029544csub x0, x3, 1
    00295450subs xzr, x1, x0
    00295454b.hi 0x29545c
    00295458b 0x295a7c
    0029545c
    0029545cloc_29545c:
    0029545cldr x0, [x2+3*x0]
    00295460str x0, [sp+120]
    00295464bl math/big.reciprocalWord
    00295468str x0, [sp+152]
    0029546cstr xzr, [sp+136]
    00295470ldr x1, [sp+192]
    00295474str x1, [sp+200]
    00295478b 0x29547c
    0029547c
    0029547cloc_29547c:
    0029547cldr x4, [sp+200]
    00295480tbz x4, 63, 0x295488
    00295484b 0x295574
    00295488
    00295488loc_295488:
    00295488movn x4, 0
    0029548cstr x4, [sp+168]
    00295490ldr x5, [sp+120]
    00295494ldr x6, [sp+136]
    00295498subs xzr, x5, x6
    0029549cb.ne 0x2954a4
    002954a0b 0x295570
    002954a4
    002954a4loc_2954a4:
    002954a4str xzr, [sp+144]
    002954a8ldr x1, [sp+440]
    002954acldr x5, [sp+432]
    002954b0ldr x6, [sp+184]
    002954b4ldr x7, [sp+200]
    002954b8add x6, x7, x6
    002954bcsub x0, x6, 1
    002954c0subs xzr, x1, x0
    002954c4b.hi 0x2954cc
    002954c8b 0x295a78
    002954cc
    002954ccloc_2954cc:
    002954ccldr x1, [x5+3*x0]
    002954d0str x1, [sp+232]
    002954d4ldr x0, [sp+136]
    002954d8ldr x2, [sp+120]
    002954dcldr x3, [sp+152]
    002954e0bl math/big.divWW
    002954e4str x0, [sp+248]
    002954e8str x1, [sp+240]
    002954ecstr x0, [sp+304]
    002954f0str x1, [sp+296]
    002954f4str x0, [sp+168]
    002954f8str x1, [sp+144]
    002954fcldr x1, [sp+464]
    00295500ldr x4, [sp+456]
    00295504ldr x5, [sp+184]
    00295508sub x5, x5, 2
    0029550csubs xzr, x1, x5
    00295510b.hi 0x295518
    00295514b 0x295a70
    00295518
    00295518loc_295518:
    00295518ldr x4, [x4+3*x5]
    0029551cstr x4, [sp+112]
    00295520madd x5, x0, x4, xzr
    00295524umulh x4, x0, x4
    00295528str x4, [sp+240]
    0029552cstr x5, [sp+248]
    00295530str x4, [sp+288]
    00295534str x5, [sp+280]
    00295538str x4, [sp+104]
    0029553cstr x5, [sp+96]
    00295540ldr x1, [sp+440]
    00295544ldr x4, [sp+432]
    00295548ldr x5, [sp+184]
    0029554cldr x6, [sp+200]
    00295550add x5, x6, x5
    00295554sub x0, x5, 2
    00295558subs xzr, x1, x0
    0029555cb.hi 0x295564
    00295560b 0x295a6c
    00295564
    00295564loc_295564:
    00295564ldr x4, [x4+3*x0]
    00295568str x4, [sp+128]
    0029556cb 0x2959e0
    00295570
    00295570loc_295570:
    00295570b 0x295588
    00295574
    00295574loc_295574:
    00295574ldr x0, [sp+312]
    00295578bl math/big.putNat
    0029557cldp x29, x30, [sp-8]
    00295580add sp, sp, 400
    00295584ret x30
    00295588
    00295588loc_295588:
    00295588ldr x1, [sp+184]
    0029558cldr x2, [sp+336]
    00295590ldr x0, [sp+320]
    00295594subs xzr, x2, x1
    00295598b.hs 0x2955a0
    0029559cb 0x2959dc
    002955a0
    002955a0loc_2955a0:
    002955a0b 0x2955a4
    002955a4
    002955a4loc_2955a4:
    002955a4str x0, [sp+368]
    002955a8str x1, [sp+376]
    002955acstr x2, [sp+384]
    002955b0ldr x3, [sp+168]
    002955b4ldr x4, [sp+456]
    002955b8ldr x5, [sp+464]
    002955bcldr x6, [sp+472]
    002955c0str x0, [sp+8]
    002955c4str x1, [sp+16]
    002955c8str x2, [sp+24]
    002955ccstr x4, [sp+32]
    002955d0str x5, [sp+40]
    002955d4str x6, [sp+48]
    002955d8str x3, [sp+56]
    002955dcstr xzr, [sp+64]
    002955e0bl math/big.mulAddVWW.abi0
    002955e4ldr x0, [sp+72]
    002955e8str x0, [sp+240]
    002955ecldr x1, [sp+184]
    002955f0ldr x2, [sp+328]
    002955f4ldr x3, [sp+320]
    002955f8subs xzr, x1, x2
    002955fcb.lo 0x295604
    00295600b 0x2959d0
    00295604
    00295604loc_295604:
    00295604str x0, [x3+3*x1]
    00295608ldr x3, [sp+328]
    0029560cstr x3, [sp+160]
    00295610ldr x4, [sp+440]
    00295614str x4, [sp+256]
    00295618ldr x5, [sp+200]
    0029561cadd x3, x5, x3
    00295620subs xzr, x4, x3
    00295624cset x3, lt
    00295628strb w3, [sp+95]
    0029562cb.lt 0x295634
    00295630b 0x295660
    00295634
    00295634loc_295634:
    00295634ldr x0, [sp+184]
    00295638ldr x1, [sp+328]
    0029563cldr x3, [sp+320]
    00295640subs xzr, x0, x1
    00295644b.lo 0x29564c
    00295648b 0x2959cc
    0029564c
    0029564cloc_29564c:
    0029564cldr x3, [x3+3*x0]
    00295650subs xzr, x3, 0
    00295654cset x3, eq
    00295658strb w3, [sp+95]
    0029565cb 0x295664
    00295660
    00295660loc_295660:
    00295660b 0x295664
    00295664
    00295664loc_295664:
    00295664ldrb w3, [sp+95]
    00295668tbnz w3, 0, 0x295670
    0029566cb 0x295680
    00295670
    00295670loc_295670:
    00295670ldr x3, [sp+160]
    00295674sub x3, x3, 1
    00295678str x3, [sp+160]
    0029567cb 0x295684
    00295680
    00295680loc_295680:
    00295680b 0x295684
    00295684
    00295684loc_295684:
    00295684ldr x3, [sp+160]
    00295688ldr x4, [sp+200]
    0029568cadd x1, x4, x3
    00295690str x1, [sp+256]
    00295694ldr x0, [sp+200]
    00295698ldr x2, [sp+448]
    0029569cldr x3, [sp+432]
    002956a0subs xzr, x2, x1
    002956a4b.hs 0x2956ac
    002956a8b 0x2959c8
    002956ac
    002956acloc_2956ac:
    002956acsubs xzr, x0, x1
    002956b0b.ls 0x2956b8
    002956b4b 0x2959c4
    002956b8
    002956b8loc_2956b8:
    002956b8sub x2, x2, x0
    002956bcsub x4, x1, x0
    002956c0sub x5, xzr, x2
    002956c4ubfm x6, x0, 61, 60
    002956c8and x5, x6, x5, asr #63
    002956ccadd x3, x3, x5
    002956d0str x3, [sp+368]
    002956d4str x4, [sp+376]
    002956d8str x2, [sp+384]
    002956dcldr x0, [sp+200]
    002956e0ldr x1, [sp+440]
    002956e4ldr x2, [sp+432]
    002956e8ldr x3, [sp+448]
    002956ecb 0x2956f0
    002956f0
    002956f0loc_2956f0:
    002956f0subs xzr, x1, x0
    002956f4b.hs 0x2956fc
    002956f8b 0x2959c0
    002956fc
    002956fcloc_2956fc:
    002956fcsub x3, x3, x0
    00295700sub x1, x1, x0
    00295704sub x4, xzr, x3
    00295708ubfm x0, x0, 61, 60
    0029570cand x0, x0, x4, asr #63
    00295710add x0, x2, x0
    00295714str x0, [sp+344]
    00295718str x1, [sp+352]
    0029571cstr x3, [sp+360]
    00295720ldr x2, [sp+368]
    00295724ldr x4, [sp+376]
    00295728ldr x5, [sp+384]
    0029572cldr x6, [sp+320]
    00295730ldr x7, [sp+328]
    00295734ldr x8, [sp+336]
    00295738str x2, [sp+8]
    0029573cstr x4, [sp+16]
    00295740str x5, [sp+24]
    00295744str x0, [sp+32]
    00295748str x1, [sp+40]
    0029574cstr x3, [sp+48]
    00295750str x6, [sp+56]
    00295754str x7, [sp+64]
    00295758str x8, [sp+72]
    0029575cbl math/big.subVV.abi0
    00295760ldr x0, [sp+80]
    00295764str x0, [sp+216]
    00295768cbnz x0, 0x295770
    0029576cb 0x2958c4
    00295770
    00295770loc_295770:
    00295770ldr x3, [sp+184]
    00295774ldr x4, [sp+200]
    00295778add x1, x4, x3
    0029577cstr x1, [sp+256]
    00295780ldr x0, [sp+200]
    00295784ldr x2, [sp+448]
    00295788ldr x3, [sp+432]
    0029578csubs xzr, x2, x1
    00295790b.hs 0x295798
    00295794b 0x2959bc
    00295798
    00295798loc_295798:
    00295798subs xzr, x0, x1
    0029579cb.ls 0x2957a4
    002957a0b 0x2959b8
    002957a4
    002957a4loc_2957a4:
    002957a4sub x2, x2, x0
    002957a8sub x4, x1, x0
    002957acsub x5, xzr, x2
    002957b0ubfm x6, x0, 61, 60
    002957b4and x5, x6, x5, asr #63
    002957b8add x3, x3, x5
    002957bcstr x3, [sp+344]
    002957c0str x4, [sp+352]
    002957c4str x2, [sp+360]
    002957c8ldr x0, [sp+200]
    002957ccldr x1, [sp+440]
    002957d0ldr x2, [sp+432]
    002957d4ldr x3, [sp+448]
    002957d8b 0x2957dc
    002957dc
    002957dcloc_2957dc:
    002957dcsubs xzr, x1, x0
    002957e0b.hs 0x2957e8
    002957e4b 0x2959b4
    002957e8
    002957e8loc_2957e8:
    002957e8sub x3, x3, x0
    002957ecsub x1, x1, x0
    002957f0sub x4, xzr, x3
    002957f4ubfm x0, x0, 61, 60
    002957f8and x0, x0, x4, asr #63
    002957fcadd x0, x2, x0
    00295800str x0, [sp+368]
    00295804str x1, [sp+376]
    00295808str x3, [sp+384]
    0029580cldr x2, [sp+344]
    00295810ldr x4, [sp+352]
    00295814ldr x5, [sp+360]
    00295818ldr x6, [sp+456]
    0029581cldr x7, [sp+464]
    00295820ldr x8, [sp+472]
    00295824str x2, [sp+8]
    00295828str x4, [sp+16]
    0029582cstr x5, [sp+24]
    00295830str x0, [sp+32]
    00295834str x1, [sp+40]
    00295838str x3, [sp+48]
    0029583cstr x6, [sp+56]
    00295840str x7, [sp+64]
    00295844str x8, [sp+72]
    00295848bl math/big.addVV.abi0
    0029584cldr x0, [sp+80]
    00295850str x0, [sp+208]
    00295854ldr x1, [sp+160]
    00295858ldr x2, [sp+184]
    0029585csubs xzr, x1, x2
    00295860b.gt 0x295868
    00295864b 0x2958b0
    00295868
    00295868loc_295868:
    00295868ldr x4, [sp+184]
    0029586cldr x5, [sp+200]
    00295870add x4, x5, x4
    00295874str x4, [sp+224]
    00295878ldr x1, [sp+440]
    0029587cldr x5, [sp+432]
    00295880subs xzr, x1, x4
    00295884b.hi 0x29588c
    00295888b 0x2959ac
    0029588c
    0029588cloc_29588c:
    0029588cldr x5, [x5+3*x4]
    00295890ldr x1, [sp+440]
    00295894ldr x6, [sp+432]
    00295898add x5, x5, x0
    0029589csubs xzr, x1, x4
    002958a0b.hi 0x2958a8
    002958a4b 0x2959a4
    002958a8
    002958a8loc_2958a8:
    002958a8str x5, [x6+3*x4]
    002958acb 0x2958b4
    002958b0
    002958b0loc_2958b0:
    002958b0b 0x2958b4
    002958b4
    002958b4loc_2958b4:
    002958b4ldr x4, [sp+168]
    002958b8sub x4, x4, 1
    002958bcstr x4, [sp+168]
    002958c0b 0x2958c8
    002958c4
    002958c4loc_2958c4:
    002958c4b 0x2958c8
    002958c8
    002958c8loc_2958c8:
    002958c8ldr x1, [sp+440]
    002958ccldr x4, [sp+432]
    002958d0ldr x5, [sp+184]
    002958d4ldr x6, [sp+200]
    002958d8add x5, x6, x5
    002958dcsub x0, x5, 1
    002958e0subs xzr, x1, x0
    002958e4b.hi 0x2958ec
    002958e8b 0x2959a0
    002958ec
    002958ecloc_2958ec:
    002958ecldr x4, [x4+3*x0]
    002958f0str x4, [sp+136]
    002958f4ldr x4, [sp+192]
    002958f8ldr x5, [sp+200]
    002958fcsubs xzr, x4, x5
    00295900cset x4, eq
    00295904strb w4, [sp+94]
    00295908b.eq 0x295910
    0029590cb 0x29592c
    00295910
    00295910loc_295910:
    00295910ldr x4, [sp+416]
    00295914str x4, [sp+256]
    00295918ldr x5, [sp+192]
    0029591csubs xzr, x4, x5
    00295920cset x4, eq
    00295924strb w4, [sp+94]
    00295928b 0x295930
    0029592c
    0029592cloc_29592c:
    0029592cb 0x295930
    00295930
    00295930loc_295930:
    00295930ldrb w4, [sp+94]
    00295934strb w4, [sp+95]
    00295938tbnz w4, 0, 0x295940
    0029593cb 0x295954
    00295940
    00295940loc_295940:
    00295940ldr x4, [sp+168]
    00295944subs xzr, x4, 0
    00295948cset x4, eq
    0029594cstrb w4, [sp+95]
    00295950b 0x295958
    00295954
    00295954loc_295954:
    00295954b 0x295958
    00295958
    00295958loc_295958:
    00295958ldrb w4, [sp+95]
    0029595ctbnz w4, 0, 0x295964
    00295960b 0x295968
    00295964
    00295964loc_295964:
    00295964b 0x29598c
    00295968
    00295968loc_295968:
    00295968ldr x0, [sp+200]
    0029596cldr x1, [sp+416]
    00295970ldr x4, [sp+408]
    00295974ldr x5, [sp+168]
    00295978subs xzr, x1, x0
    0029597cb.hi 0x295984
    00295980b 0x29599c
    00295984
    00295984loc_295984:
    00295984str x5, [x4+3*x0]
    00295988b 0x29598c
    0029598c
    0029598cloc_29598c:
    0029598cldr x4, [sp+200]
    00295990sub x4, x4, 1
    00295994str x4, [sp+200]
    00295998b 0x29547c
    0029599c
    0029599cloc_29599c:
    0029599cbl runtime.panicIndex
    002959a0
    002959a0loc_2959a0:
    002959a0bl runtime.panicIndex
    002959a4
    002959a4loc_2959a4:
    002959a4mov x0, x4
    002959a8bl runtime.panicIndex
    002959ac
    002959acloc_2959ac:
    002959acmov x0, x4
    002959b0bl runtime.panicIndex
    002959b4
    002959b4loc_2959b4:
    002959b4bl runtime.panicSliceB
    002959b8
    002959b8loc_2959b8:
    002959b8bl runtime.panicSliceB
    002959bc
    002959bcloc_2959bc:
    002959bcbl runtime.panicSliceAcap
    002959c0
    002959c0loc_2959c0:
    002959c0bl runtime.panicSliceB
    002959c4
    002959c4loc_2959c4:
    002959c4bl runtime.panicSliceB
    002959c8
    002959c8loc_2959c8:
    002959c8bl runtime.panicSliceAcap
    002959cc
    002959ccloc_2959cc:
    002959ccbl runtime.panicIndex
    002959d0
    002959d0loc_2959d0:
    002959d0mov x0, x1
    002959d4mov x1, x2
    002959d8bl runtime.panicIndex
    002959dc
    002959dcloc_2959dc:
    002959dcbl runtime.panicSliceAcap
    002959e0
    002959e0loc_2959e0:
    002959e0ldr x1, [sp+96]
    002959e4ldr x2, [sp+144]
    002959e8ldr x3, [sp+128]
    002959ecldr x0, [sp+104]
    002959f0bl math/big.greaterThan
    002959f4strb w0, [sp+95]
    002959f8tbnz w0, 0, 0x295a00
    002959fcb 0x295a60
    00295a00
    00295a00loc_295a00:
    00295a00ldr x4, [sp+168]
    00295a04sub x4, x4, 1
    00295a08str x4, [sp+168]
    00295a0cldr x5, [sp+144]
    00295a10str x5, [sp+176]
    00295a14ldr x6, [sp+120]
    00295a18ldr x7, [sp+144]
    00295a1cadd x6, x7, x6
    00295a20str x6, [sp+144]
    00295a24subs xzr, x5, x6
    00295a28b.hi 0x295a30
    00295a2cb 0x295a34
    00295a30
    00295a30loc_295a30:
    00295a30b 0x295a64
    00295a34
    00295a34loc_295a34:
    00295a34ldr x5, [sp+112]
    00295a38madd x6, x4, x5, xzr
    00295a3cumulh x4, x4, x5
    00295a40str x4, [sp+248]
    00295a44str x6, [sp+240]
    00295a48str x4, [sp+272]
    00295a4cstr x6, [sp+264]
    00295a50str x4, [sp+104]
    00295a54str x6, [sp+96]
    00295a58b 0x295a5c
    00295a5c
    00295a5cloc_295a5c:
    00295a5cb 0x2959e0
    00295a60
    00295a60loc_295a60:
    00295a60b 0x295a64
    00295a64
    00295a64loc_295a64:
    00295a64movn x4, 0
    00295a68b 0x295588
    00295a6c
    00295a6cloc_295a6c:
    00295a6cbl runtime.panicIndex
    00295a70
    00295a70loc_295a70:
    00295a70mov x0, x5
    00295a74bl runtime.panicIndex
    00295a78
    00295a78loc_295a78:
    00295a78bl runtime.panicIndex
    00295a7c
    00295a7cloc_295a7c:
    00295a7cbl runtime.panicIndex
    00295a80hint
    00295a84
    00295a84loc_295a84:
    00295a84stp x0, x1, [sp+8]
    00295a88stp x2, x3, [sp+24]
    00295a8cstp x4, x5, [sp+40]
    00295a90stp x6, x7, [sp+56]
    00295a94str x8, [sp+72]
    00295a98mov x3, x30
    00295a9cbl runtime.morestack_noctxt.abi0
    00295aa0ldp x0, x1, [sp+8]
    00295aa4ldp x2, x3, [sp+24]
    00295aa8ldp x4, x5, [sp+40]
    00295aacldp x6, x7, [sp+56]
    00295ab0ldr x8, [sp+72]
    00295ab4b 0x2953c0
    00295ab8udf 0
    00295abcudf 0
    002953c0
    00295ac0
    00295ac0math/big.greaterThan: ; void math/big.greaterThan(math/big.Word x1, math/big.Word x2, math/big.Word y1, math/big.Word y2)
    00295ac0str x30, [sp-32]!
    00295ac4stur x29, [sp-8]
    00295ac8sub x29, sp, 8
    00295accstr x0, [sp+40]
    00295ad0str x1, [sp+48]
    00295ad4str x2, [sp+56]
    00295ad8str x3, [sp+64]
    00295adcstrb wzr, [sp+21]
    00295ae0ldr x1, [sp+56]
    00295ae4ldr x2, [sp+40]
    00295ae8subs xzr, x1, x2
    00295aeccset x1, lo
    00295af0strb w1, [sp+23]
    00295af4b.lo 0x295afc
    00295af8b 0x295b00
    00295afc
    00295afcloc_295afc:
    00295afcb 0x295b44
    00295b00
    00295b00loc_295b00:
    00295b00ldr x1, [sp+40]
    00295b04ldr x2, [sp+56]
    00295b08subs xzr, x2, x1
    00295b0ccset x1, eq
    00295b10strb w1, [sp+22]
    00295b14b.eq 0x295b1c
    00295b18b 0x295b34
    00295b1c
    00295b1cloc_295b1c:
    00295b1cldr x1, [sp+48]
    00295b20ldr x2, [sp+64]
    00295b24subs xzr, x2, x1
    00295b28cset x1, lo
    00295b2cstrb w1, [sp+22]
    00295b30b 0x295b38
    00295b34
    00295b34loc_295b34:
    00295b34b 0x295b38
    00295b38
    00295b38loc_295b38:
    00295b38ldrb w1, [sp+22]
    00295b3cstrb w1, [sp+23]
    00295b40b 0x295b44
    00295b44
    00295b44loc_295b44:
    00295b44ldrb w0, [sp+23]
    00295b48strb w0, [sp+21]
    00295b4cadd x29, sp, 24
    00295b50add sp, sp, 32
    00295b54ret x30
    00295b58udf 0
    00295b5cudf 0
    00295ac0
    00295b60
    00295b60math/big.nat.divRecursive: ; void math/big.nat.divRecursive(math/big.nat z, math/big.nat u, math/big.nat v)
    00295b60ldr x16, [x28+16]
    00295b64sub x17, sp, 128
    00295b68subs xzr, x17, x16
    00295b6cb.ls 0x295cf0
    00295b70sub x20, sp, 256
    00295b74stp x29, x30, [x20-8]
    00295b78add sp, x20, 0
    00295b7csub x29, sp, 8
    00295b80str x0, [sp+264]
    00295b84str x1, [sp+272]
    00295b88str x2, [sp+280]
    00295b8cstr x3, [sp+288]
    00295b90str x4, [sp+296]
    00295b94str x5, [sp+304]
    00295b98str x6, [sp+312]
    00295b9cstr x7, [sp+320]
    00295ba0str x8, [sp+328]
    00295ba4str x7, [sp+144]
    00295ba8clz x1, x7
    00295bacorr x2, xzr, 64
    00295bb0sub x1, x2, x1
    00295bb4str x1, [sp+136]
    00295bb8ubfm x1, x1, 63, 62
    00295bbcstr x1, [sp+128]
    00295bc0ldr x1, [sp+320]
    00295bc4str x1, [sp+136]
    00295bc8add x0, x1, x1, lsl #1
    00295bccbl math/big.getNat
    00295bd0str x0, [sp+176]
    00295bd4ldr x2, [sp+128]
    00295bd8ldr x1, [sp+128]
    00295bdcadrp x0, 0x415000
    00295be0add x0, x0, 2752
    00295be4bl runtime.makeslice
    00295be8ldr x1, [sp+128]
    00295becldr x2, [sp+128]
    00295bf0str x0, [sp+184]
    00295bf4str x1, [sp+192]
    00295bf8str x2, [sp+200]
    00295bfcldr x1, [sp+272]
    00295c00cbnz x1, 0x295c08
    00295c04b 0x295c2c
    00295c08
    00295c08loc_295c08:
    00295c08ldr x2, [sp+264]
    00295c0cstr x2, [sp+240]
    00295c10ldr x2, [sp+272]
    00295c14ubfm x2, x2, 61, 60
    00295c18str x2, [sp+168]
    00295c1cldr x1, [sp+168]
    00295c20ldr x0, [sp+240]
    00295c24bl runtime.memclrNoHeapPointers
    00295c28b 0x295c30
    00295c2c
    00295c2cloc_295c2c:
    00295c2cb 0x295c30
    00295c30
    00295c30loc_295c30:
    00295c30ldr x12, [sp+192]
    00295c34ldr x13, [sp+200]
    00295c38ldr x0, [sp+264]
    00295c3cldr x3, [sp+288]
    00295c40ldr x6, [sp+312]
    00295c44ldr x11, [sp+184]
    00295c48ldr x10, [sp+176]
    00295c4cldr x1, [sp+272]
    00295c50ldr x4, [sp+296]
    00295c54ldr x7, [sp+320]
    00295c58ldr x2, [sp+280]
    00295c5cldr x5, [sp+304]
    00295c60ldr x8, [sp+328]
    00295c64mov x9, xzr
    00295c68bl math/big.nat.divRecursiveStep
    00295c6cldr x14, [sp+192]
    00295c70ldr x15, [sp+184]
    00295c74ldr x16, [sp+200]
    00295c78str x15, [sp+216]
    00295c7cstr x14, [sp+224]
    00295c80str x16, [sp+232]
    00295c84str xzr, [sp+160]
    00295c88str x14, [sp+152]
    00295c8cb 0x295c90
    00295c90
    00295c90loc_295c90:
    00295c90ldr x1, [sp+152]
    00295c94ldr x2, [sp+160]
    00295c98subs xzr, x1, x2
    00295c9cb.gt 0x295ca4
    00295ca0b 0x295cdc
    00295ca4
    00295ca4loc_295ca4:
    00295ca4ldr x1, [sp+160]
    00295ca8ldr x2, [sp+216]
    00295cacldr x0, [x2+3*x1]
    00295cb0str x0, [sp+208]
    00295cb4cbnz x0, 0x295cbc
    00295cb8b 0x295cc4
    00295cbc
    00295cbcloc_295cbc:
    00295cbcbl math/big.putNat
    00295cc0b 0x295cc8
    00295cc4
    00295cc4loc_295cc4:
    00295cc4b 0x295cc8
    00295cc8
    00295cc8loc_295cc8:
    00295cc8b 0x295ccc
    00295ccc
    00295cccloc_295ccc:
    00295cccldr x1, [sp+160]
    00295cd0add x1, x1, 1
    00295cd4str x1, [sp+160]
    00295cd8b 0x295c90
    00295cdc
    00295cdcloc_295cdc:
    00295cdcldr x0, [sp+176]
    00295ce0bl math/big.putNat
    00295ce4ldp x29, x30, [sp-8]
    00295ce8add sp, sp, 256
    00295cecret x30
    00295cf0
    00295cf0loc_295cf0:
    00295cf0stp x0, x1, [sp+8]
    00295cf4stp x2, x3, [sp+24]
    00295cf8stp x4, x5, [sp+40]
    00295cfcstp x6, x7, [sp+56]
    00295d00str x8, [sp+72]
    00295d04mov x3, x30
    00295d08bl runtime.morestack_noctxt.abi0
    00295d0cldp x0, x1, [sp+8]
    00295d10ldp x2, x3, [sp+24]
    00295d14ldp x4, x5, [sp+40]
    00295d18ldp x6, x7, [sp+56]
    00295d1cldr x8, [sp+72]
    00295d20b 0x295b60
    00295d24udf 0
    00295d28udf 0
    00295d2cudf 0
    00295b60
    00295d30
    00295d30math/big.nat.divRecursiveStep: ; void math/big.nat.divRecursiveStep(math/big.nat z, math/big.nat u, math/big.nat v, int depth, math/big.nat * tmp, struct []*math/big.nat temps)
    00295d30ldr x16, [x28+16]
    00295d34sub x17, sp, 480
    00295d38subs xzr, x17, x16
    00295d3cb.ls 0x296f9c
    00295d40sub x20, sp, 608
    00295d44stp x29, x30, [x20-8]
    00295d48add sp, x20, 0
    00295d4csub x29, sp, 8
    00295d50str x0, [sp+616]
    00295d54str x1, [sp+624]
    00295d58str x2, [sp+632]
    00295d5cstr x3, [sp+640]
    00295d60str x4, [sp+648]
    00295d64str x5, [sp+656]
    00295d68str x6, [sp+664]
    00295d6cstr x7, [sp+672]
    00295d70str x8, [sp+680]
    00295d74str x9, [sp+688]
    00295d78str x10, [sp+696]
    00295d7cstr x11, [sp+704]
    00295d80str x12, [sp+712]
    00295d84str x13, [sp+720]
    00295d88ldr x0, [sp+640]
    00295d8cldr x1, [sp+648]
    00295d90ldr x2, [sp+656]
    00295d94bl math/big.nat.norm
    00295d98str x0, [sp+640]
    00295d9cstr x1, [sp+648]
    00295da0str x2, [sp+656]
    00295da4ldr x0, [sp+664]
    00295da8ldr x1, [sp+672]
    00295dacldr x2, [sp+680]
    00295db0bl math/big.nat.norm
    00295db4str x0, [sp+664]
    00295db8str x1, [sp+672]
    00295dbcstr x2, [sp+680]
    00295dc0ldr x3, [sp+648]
    00295dc4str x3, [sp+280]
    00295dc8cbz x3, 0x295dd0
    00295dccb 0x295e10
    00295dd0
    00295dd0loc_295dd0:
    00295dd0ldr x2, [sp+624]
    00295dd4cbnz x2, 0x295ddc
    00295dd8b 0x295e00
    00295ddc
    00295ddcloc_295ddc:
    00295ddcldr x2, [sp+616]
    00295de0str x2, [sp+512]
    00295de4ldr x2, [sp+624]
    00295de8ubfm x2, x2, 61, 60
    00295decstr x2, [sp+264]
    00295df0ldr x1, [sp+264]
    00295df4ldr x0, [sp+512]
    00295df8bl runtime.memclrNoHeapPointers
    00295dfcb 0x295e04
    00295e00
    00295e00loc_295e00:
    00295e00b 0x295e04
    00295e04
    00295e04loc_295e04:
    00295e04ldp x29, x30, [sp-8]
    00295e08add sp, sp, 608
    00295e0cret x30
    00295e10
    00295e10loc_295e10:
    00295e10str x1, [sp+136]
    00295e14subs xzr, x1, 100
    00295e18b.lt 0x295e20
    00295e1cb 0x295e5c
    00295e20
    00295e20loc_295e20:
    00295e20ldr x6, [sp+664]
    00295e24ldr x3, [sp+640]
    00295e28ldr x0, [sp+616]
    00295e2cldr x4, [sp+648]
    00295e30ldr x9, [sp+624]
    00295e34ldr x5, [sp+656]
    00295e38ldr x10, [sp+632]
    00295e3cmov x7, x1
    00295e40mov x8, x2
    00295e44mov x1, x9
    00295e48mov x2, x10
    00295e4cbl math/big.nat.divBasic
    00295e50ldp x29, x30, [sp-8]
    00295e54add sp, sp, 608
    00295e58ret x30
    00295e5c
    00295e5cloc_295e5c:
    00295e5cldr x4, [sp+648]
    00295e60str x4, [sp+280]
    00295e64sub x4, x4, x1
    00295e68str x4, [sp+144]
    00295e6ctbnz x4, 63, 0x295e74
    00295e70b 0x295e80
    00295e74
    00295e74loc_295e74:
    00295e74ldp x29, x30, [sp-8]
    00295e78add sp, sp, 608
    00295e7cret x30
    00295e80
    00295e80loc_295e80:
    00295e80ubfm x4, x1, 1, 63
    00295e84str x4, [sp+224]
    00295e88ldr x0, [sp+688]
    00295e8cldr x4, [sp+712]
    00295e90ldr x5, [sp+704]
    00295e94subs xzr, x0, x4
    00295e98b.lo 0x295ea0
    00295e9cb 0x296f90
    00295ea0
    00295ea0loc_295ea0:
    00295ea0ldr x4, [x5+3*x0]
    00295ea4cbnz x4, 0x295eac
    00295ea8b 0x295f54
    00295eac
    00295eacloc_295eac:
    00295eacldr x0, [sp+688]
    00295eb0ldr x1, [sp+712]
    00295eb4ldr x4, [sp+704]
    00295eb8subs xzr, x0, x1
    00295ebcb.lo 0x295ec4
    00295ec0b 0x296f8c
    00295ec4
    00295ec4loc_295ec4:
    00295ec4ldr x4, [x4+3*x0]
    00295ec8ldrsb x27, [x4]
    00295eccldr x0, [x4]
    00295ed0ldr x1, [x4+8]
    00295ed4ldr x2, [x4+16]
    00295ed8str x0, [sp+488]
    00295edcstr x1, [sp+496]
    00295ee0str x2, [sp+504]
    00295ee4ldr x4, [sp+224]
    00295ee8add x3, x4, 1
    00295eecbl math/big.nat.make
    00295ef0str x0, [sp+568]
    00295ef4str x1, [sp+576]
    00295ef8str x2, [sp+584]
    00295efcldr x4, [sp+688]
    00295f00ldr x5, [sp+712]
    00295f04ldr x6, [sp+704]
    00295f08subs xzr, x5, x4
    00295f0cb.hi 0x295f14
    00295f10b 0x296f80
    00295f14
    00295f14loc_295f14:
    00295f14ldr x14, [x6+3*x4]
    00295f18ldrsb x27, [x14]
    00295f1cstr x1, [x14+8]
    00295f20str x2, [x14+16]
    00295f24adrp x27, 0x7b6000
    00295f28ldr w15, [x27+3056]
    00295f2ccbz w15, 0x295f34
    00295f30b 0x295f38
    00295f34
    00295f34loc_295f34:
    00295f34b 0x295f4c
    00295f38
    00295f38loc_295f38:
    00295f38bl runtime.gcWriteBarrier2
    00295f3cstr x0, [x25]
    00295f40ldr x15, [x14]
    00295f44str x15, [x25+8]
    00295f48b 0x295f4c
    00295f4c
    00295f4cloc_295f4c:
    00295f4cstr x0, [x14]
    00295f50b 0x295fa8
    00295f54
    00295f54loc_295f54:
    00295f54mov x0, x1
    00295f58bl math/big.getNat
    00295f5cstr x0, [sp+592]
    00295f60ldr x1, [sp+688]
    00295f64ldr x2, [sp+704]
    00295f68ldr x3, [sp+712]
    00295f6csubs xzr, x1, x3
    00295f70b.lo 0x295f78
    00295f74b 0x296f74
    00295f78
    00295f78loc_295f78:
    00295f78adrp x27, 0x7b6000
    00295f7cldr w14, [x27+3056]
    00295f80cbz w14, 0x295f88
    00295f84b 0x295f8c
    00295f88
    00295f88loc_295f88:
    00295f88b 0x295fa0
    00295f8c
    00295f8cloc_295f8c:
    00295f8cbl runtime.gcWriteBarrier2
    00295f90str x0, [x25]
    00295f94ldr x14, [x2+3*x1]
    00295f98str x14, [x25+8]
    00295f9cb 0x295fa0
    00295fa0
    00295fa0loc_295fa0:
    00295fa0str x0, [x2+3*x1]
    00295fa4b 0x295fa8
    00295fa8
    00295fa8loc_295fa8:
    00295fa8ldr x14, [sp+144]
    00295facstr x14, [sp+152]
    00295fb0b 0x295fb4
    00295fb4
    00295fb4loc_295fb4:
    00295fb4ldr x14, [sp+224]
    00295fb8ldr x15, [sp+152]
    00295fbcsubs xzr, x14, x15
    00295fc0b.lt 0x295fc8
    00295fc4b 0x296248
    00295fc8
    00295fc8loc_295fc8:
    00295fc8ldr x14, [sp+224]
    00295fccsub x14, x14, 1
    00295fd0str x14, [sp+128]
    00295fd4ldr x14, [sp+224]
    00295fd8ldr x15, [sp+152]
    00295fdcsub x0, x15, x14
    00295fe0str x0, [sp+280]
    00295fe4ldr x1, [sp+648]
    00295fe8ldr x16, [sp+640]
    00295fecldr x17, [sp+656]
    00295ff0b 0x295ff4
    00295ff4
    00295ff4loc_295ff4:
    00295ff4subs xzr, x1, x0
    00295ff8b.hs 0x296000
    00295ffcb 0x296f70
    00296000
    00296000loc_296000:
    00296000add x19, x1, x14
    00296004sub x19, x19, x15
    00296008add x14, x17, x14
    0029600csub x14, x14, x15
    00296010sub x15, xzr, x14
    00296014ubfm x17, x0, 61, 60
    00296018and x15, x17, x15, asr #63
    0029601cadd x15, x16, x15
    00296020str x15, [sp+288]
    00296024str x19, [sp+296]
    00296028str x14, [sp+304]
    0029602cldr x0, [sp+688]
    00296030ldr x1, [sp+712]
    00296034ldr x14, [sp+704]
    00296038subs xzr, x1, x0
    0029603cb.hi 0x296044
    00296040b 0x296f6c
    00296044
    00296044loc_296044:
    00296044ldr x14, [x14+3*x0]
    00296048ldrsb x27, [x14]
    0029604cldr x15, [x14]
    00296050ldr x16, [x14+16]
    00296054ldr x14, [x14+8]
    00296058str x15, [sp+384]
    0029605cstr x14, [sp+392]
    00296060str x16, [sp+400]
    00296064cbnz x14, 0x29606c
    00296068b 0x29608c
    0029606c
    0029606cloc_29606c:
    0029606cstr x15, [sp+480]
    00296070ldr x2, [sp+392]
    00296074ubfm x2, x2, 61, 60
    00296078str x2, [sp+256]
    0029607cldr x1, [sp+256]
    00296080ldr x0, [sp+480]
    00296084bl runtime.memclrNoHeapPointers
    00296088b 0x296090
    0029608c
    0029608cloc_29608c:
    0029608cb 0x296090
    00296090
    00296090loc_296090:
    00296090ldr x14, [sp+136]
    00296094ldr x15, [sp+224]
    00296098add x1, x15, x14
    0029609cstr x1, [sp+280]
    002960a0ldr x0, [sp+128]
    002960a4ldr x2, [sp+304]
    002960a8ldr x14, [sp+288]
    002960acsubs xzr, x2, x1
    002960b0b.hs 0x2960b8
    002960b4b 0x296f68
    002960b8
    002960b8loc_2960b8:
    002960b8subs xzr, x0, x1
    002960bcb.ls 0x2960c4
    002960c0b 0x296f64
    002960c4
    002960c4loc_2960c4:
    002960c4sub x15, x2, x0
    002960c8sub x16, x1, x0
    002960ccsub x17, xzr, x15
    002960d0ubfm x19, x0, 61, 60
    002960d4and x17, x19, x17, asr #63
    002960d8add x14, x14, x17
    002960dcstr x14, [sp+568]
    002960e0str x16, [sp+576]
    002960e4str x15, [sp+584]
    002960e8ldr x0, [sp+128]
    002960ecldr x1, [sp+672]
    002960f0ldr x14, [sp+664]
    002960f4ldr x15, [sp+680]
    002960f8b 0x2960fc
    002960fc
    002960fcloc_2960fc:
    002960fcsubs xzr, x1, x0
    00296100b.hs 0x296108
    00296104b 0x296f60
    00296108
    00296108loc_296108:
    00296108sub x8, x15, x0
    0029610csub x7, x1, x0
    00296110sub x15, xzr, x8
    00296114ubfm x16, x0, 61, 60
    00296118and x15, x16, x15, asr #63
    0029611cadd x6, x14, x15
    00296120str x6, [sp+544]
    00296124str x7, [sp+552]
    00296128str x8, [sp+560]
    0029612cldr x0, [sp+384]
    00296130ldr x11, [sp+704]
    00296134ldr x10, [sp+696]
    00296138ldr x1, [sp+392]
    0029613cldr x12, [sp+712]
    00296140ldr x2, [sp+400]
    00296144ldr x13, [sp+720]
    00296148ldr x3, [sp+568]
    0029614cldr x4, [sp+576]
    00296150ldr x5, [sp+584]
    00296154ldr x14, [sp+688]
    00296158add x9, x14, 1
    0029615cbl math/big.nat.divRecursiveStep
    00296160ldr x0, [sp+384]
    00296164ldr x1, [sp+392]
    00296168ldr x2, [sp+400]
    0029616cbl math/big.nat.norm
    00296170str x0, [sp+384]
    00296174str x1, [sp+392]
    00296178str x2, [sp+400]
    0029617cldr x14, [sp+696]
    00296180ldrsb x27, [x14]
    00296184ldr x0, [x14]
    00296188ldr x1, [x14+8]
    0029618cldr x2, [x14+16]
    00296190str x0, [sp+456]
    00296194str x1, [sp+464]
    00296198str x2, [sp+472]
    0029619cldr x14, [sp+136]
    002961a0add x3, x14, x14, lsl #1
    002961a4bl math/big.nat.make
    002961a8str x0, [sp+336]
    002961acstr x1, [sp+344]
    002961b0str x2, [sp+352]
    002961b4cbnz x1, 0x2961bc
    002961b8b 0x2961dc
    002961bc
    002961bcloc_2961bc:
    002961bcstr x0, [sp+448]
    002961c0ldr x2, [sp+344]
    002961c4ubfm x2, x2, 61, 60
    002961c8str x2, [sp+248]
    002961ccldr x1, [sp+248]
    002961d0ldr x0, [sp+448]
    002961d4bl runtime.memclrNoHeapPointers
    002961d8b 0x2961e0
    002961dc
    002961dcloc_2961dc:
    002961dcb 0x2961e0
    002961e0
    002961e0loc_2961e0:
    002961e0ldr x1, [sp+128]
    002961e4ldr x2, [sp+680]
    002961e8ldr x6, [sp+664]
    002961ecsubs xzr, x2, x1
    002961f0b.hs 0x2961f8
    002961f4b 0x296f5c
    002961f8
    002961f8loc_2961f8:
    002961f8b 0x2961fc
    002961fc
    002961fcloc_2961fc:
    002961fcstr x6, [sp+544]
    00296200str x1, [sp+552]
    00296204str x2, [sp+560]
    00296208ldr x0, [sp+336]
    0029620cldr x3, [sp+384]
    00296210ldr x9, [sp+344]
    00296214ldr x4, [sp+392]
    00296218ldr x10, [sp+352]
    0029621cldr x5, [sp+400]
    00296220mov x7, x1
    00296224mov x8, x2
    00296228mov x1, x9
    0029622cmov x2, x10
    00296230bl math/big.nat.mul
    00296234str x0, [sp+336]
    00296238str x1, [sp+344]
    0029623cstr x2, [sp+352]
    00296240str xzr, [sp+168]
    00296244b 0x296a10
    00296248
    00296248loc_296248:
    00296248ldr x3, [sp+224]
    0029624csub x3, x3, 1
    00296250str x3, [sp+120]
    00296254ldr x0, [sp+688]
    00296258ldr x1, [sp+712]
    0029625cldr x3, [sp+704]
    00296260subs xzr, x1, x0
    00296264b.hi 0x29626c
    00296268b 0x296a0c
    0029626c
    0029626cloc_29626c:
    0029626cldr x3, [x3+3*x0]
    00296270ldrsb x27, [x3]
    00296274ldr x4, [x3]
    00296278ldr x5, [x3+16]
    0029627cldr x3, [x3+8]
    00296280str x4, [sp+360]
    00296284str x3, [sp+368]
    00296288str x5, [sp+376]
    0029628ccbnz x3, 0x296294
    00296290b 0x2962b4
    00296294
    00296294loc_296294:
    00296294str x4, [sp+440]
    00296298ldr x2, [sp+368]
    0029629cubfm x2, x2, 61, 60
    002962a0str x2, [sp+240]
    002962a4ldr x1, [sp+240]
    002962a8ldr x0, [sp+440]
    002962acbl runtime.memclrNoHeapPointers
    002962b0b 0x2962b8
    002962b4
    002962b4loc_2962b4:
    002962b4b 0x2962b8
    002962b8
    002962b8loc_2962b8:
    002962b8ldr x0, [sp+120]
    002962bcldr x1, [sp+648]
    002962c0ldr x3, [sp+640]
    002962c4ldr x4, [sp+656]
    002962c8b 0x2962cc
    002962cc
    002962ccloc_2962cc:
    002962ccsubs xzr, x1, x0
    002962d0b.hs 0x2962d8
    002962d4b 0x296a08
    002962d8
    002962d8loc_2962d8:
    002962d8sub x2, x4, x0
    002962dcsub x1, x1, x0
    002962e0sub x4, xzr, x2
    002962e4ubfm x5, x0, 61, 60
    002962e8and x4, x5, x4, asr #63
    002962ecadd x0, x3, x4
    002962f0str x0, [sp+520]
    002962f4str x1, [sp+528]
    002962f8str x2, [sp+536]
    002962fcbl math/big.nat.norm
    00296300str x0, [sp+568]
    00296304str x1, [sp+576]
    00296308str x2, [sp+584]
    0029630cldr x0, [sp+120]
    00296310ldr x1, [sp+672]
    00296314ldr x3, [sp+664]
    00296318ldr x4, [sp+680]
    0029631cb 0x296320
    00296320
    00296320loc_296320:
    00296320subs xzr, x1, x0
    00296324b.hs 0x29632c
    00296328b 0x296a04
    0029632c
    0029632cloc_29632c:
    0029632csub x8, x4, x0
    00296330sub x7, x1, x0
    00296334sub x14, xzr, x8
    00296338ubfm x15, x0, 61, 60
    0029633cand x14, x15, x14, asr #63
    00296340add x6, x3, x14
    00296344str x6, [sp+544]
    00296348str x7, [sp+552]
    0029634cstr x8, [sp+560]
    00296350ldr x0, [sp+360]
    00296354ldr x11, [sp+704]
    00296358ldr x10, [sp+696]
    0029635cldr x1, [sp+368]
    00296360ldr x12, [sp+712]
    00296364ldr x2, [sp+376]
    00296368ldr x13, [sp+720]
    0029636cldr x3, [sp+568]
    00296370ldr x4, [sp+576]
    00296374ldr x5, [sp+584]
    00296378ldr x14, [sp+688]
    0029637cadd x9, x14, 1
    00296380bl math/big.nat.divRecursiveStep
    00296384ldr x0, [sp+360]
    00296388ldr x1, [sp+368]
    0029638cldr x2, [sp+376]
    00296390bl math/big.nat.norm
    00296394str x0, [sp+360]
    00296398str x1, [sp+368]
    0029639cstr x2, [sp+376]
    002963a0ldr x14, [sp+696]
    002963a4ldrsb x27, [x14]
    002963a8ldr x0, [x14]
    002963acldr x1, [x14+8]
    002963b0ldr x2, [x14+16]
    002963b4str x0, [sp+416]
    002963b8str x1, [sp+424]
    002963bcstr x2, [sp+432]
    002963c0ldr x14, [sp+136]
    002963c4add x3, x14, x14, lsl #1
    002963c8bl math/big.nat.make
    002963ccstr x0, [sp+312]
    002963d0str x1, [sp+320]
    002963d4str x2, [sp+328]
    002963d8cbnz x1, 0x2963e0
    002963dcb 0x296400
    002963e0
    002963e0loc_2963e0:
    002963e0str x0, [sp+408]
    002963e4ldr x2, [sp+320]
    002963e8ubfm x2, x2, 61, 60
    002963ecstr x2, [sp+232]
    002963f0ldr x1, [sp+232]
    002963f4ldr x0, [sp+408]
    002963f8bl runtime.memclrNoHeapPointers
    002963fcb 0x296404
    00296400
    00296400loc_296400:
    00296400b 0x296404
    00296404
    00296404loc_296404:
    00296404ldr x1, [sp+120]
    00296408ldr x2, [sp+680]
    0029640cldr x6, [sp+664]
    00296410subs xzr, x2, x1
    00296414b.hs 0x29641c
    00296418b 0x296a00
    0029641c
    0029641cloc_29641c:
    0029641cb 0x296420
    00296420
    00296420loc_296420:
    00296420str x6, [sp+544]
    00296424str x1, [sp+552]
    00296428str x2, [sp+560]
    0029642cldr x0, [sp+312]
    00296430ldr x3, [sp+360]
    00296434ldr x9, [sp+320]
    00296438ldr x4, [sp+368]
    0029643cldr x10, [sp+328]
    00296440ldr x5, [sp+376]
    00296444mov x7, x1
    00296448mov x8, x2
    0029644cmov x1, x9
    00296450mov x2, x10
    00296454bl math/big.nat.mul
    00296458str x0, [sp+312]
    0029645cstr x1, [sp+320]
    00296460str x2, [sp+328]
    00296464str xzr, [sp+160]
    00296468b 0x29646c
    0029646c
    0029646cloc_29646c:
    0029646cldr x3, [sp+160]
    00296470subs xzr, x3, 2
    00296474b.lt 0x29647c
    00296478b 0x296768
    0029647c
    0029647cloc_29647c:
    0029647cldr x0, [sp+640]
    00296480ldr x1, [sp+648]
    00296484ldr x2, [sp+656]
    00296488bl math/big.nat.norm
    0029648cstr x0, [sp+544]
    00296490str x1, [sp+552]
    00296494str x2, [sp+560]
    00296498ldr x3, [sp+320]
    0029649cldr x4, [sp+328]
    002964a0ldr x5, [sp+312]
    002964a4mov x6, x0
    002964a8mov x0, x5
    002964acmov x7, x1
    002964b0mov x1, x3
    002964b4mov x8, x2
    002964b8mov x2, x4
    002964bcmov x3, x6
    002964c0mov x4, x7
    002964c4mov x5, x8
    002964c8bl math/big.nat.cmp
    002964ccstr x0, [sp+176]
    002964d0subs xzr, x0, 0
    002964d4b.gt 0x2964dc
    002964d8b 0x296750
    002964dc
    002964dcloc_2964dc:
    002964dcldr x0, [sp+360]
    002964e0ldr x1, [sp+368]
    002964e4ldr x2, [sp+376]
    002964e8ldr x3, [sp+360]
    002964ecldr x4, [sp+368]
    002964f0ldr x5, [sp+376]
    002964f4str x0, [sp+8]
    002964f8str x1, [sp+16]
    002964fcstr x2, [sp+24]
    00296500str x3, [sp+32]
    00296504str x4, [sp+40]
    00296508str x5, [sp+48]
    0029650corr x0, xzr, 1
    00296510str x0, [sp+56]
    00296514bl math/big.subVW.abi0
    00296518ldr x1, [sp+120]
    0029651cldr x2, [sp+328]
    00296520ldr x0, [sp+312]
    00296524subs xzr, x2, x1
    00296528b.hs 0x296530
    0029652cb 0x2969fc
    00296530
    00296530loc_296530:
    00296530b 0x296534
    00296534
    00296534loc_296534:
    00296534str x0, [sp+544]
    00296538str x1, [sp+552]
    0029653cstr x2, [sp+560]
    00296540ldr x1, [sp+120]
    00296544ldr x2, [sp+328]
    00296548ldr x0, [sp+312]
    0029654csubs xzr, x2, x1
    00296550b.hs 0x296558
    00296554b 0x2969f8
    00296558
    00296558loc_296558:
    00296558b 0x29655c
    0029655c
    0029655cloc_29655c:
    0029655cstr x0, [sp+568]
    00296560str x1, [sp+576]
    00296564str x2, [sp+584]
    00296568ldr x1, [sp+120]
    0029656cldr x2, [sp+680]
    00296570ldr x0, [sp+664]
    00296574subs xzr, x2, x1
    00296578b.hs 0x296580
    0029657cb 0x2969f4
    00296580
    00296580loc_296580:
    00296580b 0x296584
    00296584
    00296584loc_296584:
    00296584str x0, [sp+520]
    00296588str x1, [sp+528]
    0029658cstr x2, [sp+536]
    00296590ldr x3, [sp+544]
    00296594ldr x4, [sp+552]
    00296598ldr x5, [sp+560]
    0029659cldr x6, [sp+568]
    002965a0ldr x7, [sp+576]
    002965a4ldr x8, [sp+584]
    002965a8str x3, [sp+8]
    002965acstr x4, [sp+16]
    002965b0str x5, [sp+24]
    002965b4str x6, [sp+32]
    002965b8str x7, [sp+40]
    002965bcstr x8, [sp+48]
    002965c0str x0, [sp+56]
    002965c4str x1, [sp+64]
    002965c8str x2, [sp+72]
    002965ccbl math/big.subVV.abi0
    002965d0ldr x0, [sp+80]
    002965d4str x0, [sp+200]
    002965d8ldr x0, [sp+320]
    002965dcstr x0, [sp+280]
    002965e0ldr x1, [sp+120]
    002965e4subs xzr, x0, x1
    002965e8b.gt 0x2965f0
    002965ecb 0x2966ac
    002965f0
    002965f0loc_2965f0:
    002965f0ldr x0, [sp+120]
    002965f4ldr x1, [sp+320]
    002965f8ldr x2, [sp+312]
    002965fcldr x3, [sp+328]
    00296600b 0x296604
    00296604
    00296604loc_296604:
    00296604subs xzr, x1, x0
    00296608b.hs 0x296610
    0029660cb 0x2969f0
    00296610
    00296610loc_296610:
    00296610sub x3, x3, x0
    00296614sub x4, x1, x0
    00296618sub x5, xzr, x3
    0029661cubfm x6, x0, 61, 60
    00296620and x5, x6, x5, asr #63
    00296624add x2, x2, x5
    00296628str x2, [sp+520]
    0029662cstr x4, [sp+528]
    00296630str x3, [sp+536]
    00296634ldr x0, [sp+120]
    00296638ldr x1, [sp+320]
    0029663cldr x2, [sp+312]
    00296640ldr x3, [sp+328]
    00296644b 0x296648
    00296648
    00296648loc_296648:
    00296648subs xzr, x1, x0
    0029664cb.hs 0x296654
    00296650b 0x2969ec
    00296654
    00296654loc_296654:
    00296654sub x3, x3, x0
    00296658sub x1, x1, x0
    0029665csub x4, xzr, x3
    00296660ubfm x0, x0, 61, 60
    00296664and x0, x0, x4, asr #63
    00296668add x0, x2, x0
    0029666cstr x0, [sp+568]
    00296670str x1, [sp+576]
    00296674str x3, [sp+584]
    00296678ldr x2, [sp+200]
    0029667cldr x4, [sp+520]
    00296680ldr x5, [sp+528]
    00296684ldr x6, [sp+536]
    00296688str x4, [sp+8]
    0029668cstr x5, [sp+16]
    00296690str x6, [sp+24]
    00296694str x0, [sp+32]
    00296698str x1, [sp+40]
    0029669cstr x3, [sp+48]
    002966a0str x2, [sp+56]
    002966a4bl math/big.subVW.abi0
    002966a8b 0x2966b0
    002966ac
    002966acloc_2966ac:
    002966acb 0x2966b0
    002966b0
    002966b0loc_2966b0:
    002966b0ldr x0, [sp+120]
    002966b4ldr x1, [sp+648]
    002966b8ldr x7, [sp+640]
    002966bcldr x8, [sp+656]
    002966c0b 0x2966c4
    002966c4
    002966c4loc_2966c4:
    002966c4subs xzr, x1, x0
    002966c8b.hs 0x2966d0
    002966ccb 0x2969e8
    002966d0
    002966d0loc_2966d0:
    002966d0sub x8, x8, x0
    002966d4sub x9, x1, x0
    002966d8sub x10, xzr, x8
    002966dcubfm x11, x0, 61, 60
    002966e0and x10, x11, x10, asr #63
    002966e4add x7, x7, x10
    002966e8str x7, [sp+568]
    002966ecstr x9, [sp+576]
    002966f0str x8, [sp+584]
    002966f4ldr x0, [sp+120]
    002966f8ldr x1, [sp+672]
    002966fcldr x7, [sp+664]
    00296700ldr x8, [sp+680]
    00296704b 0x296708
    00296708
    00296708loc_296708:
    00296708subs xzr, x1, x0
    0029670cb.hs 0x296714
    00296710b 0x2969e4
    00296714
    00296714loc_296714:
    00296714sub x5, x8, x0
    00296718sub x4, x1, x0
    0029671csub x8, xzr, x5
    00296720ubfm x9, x0, 61, 60
    00296724and x8, x9, x8, asr #63
    00296728add x3, x7, x8
    0029672cstr x3, [sp+520]
    00296730str x4, [sp+528]
    00296734str x5, [sp+536]
    00296738ldr x0, [sp+568]
    0029673cldr x1, [sp+576]
    00296740ldr x2, [sp+584]
    00296744mov x6, xzr
    00296748bl math/big.addAt
    0029674cb 0x296754
    00296750
    00296750loc_296750:
    00296750b 0x296754
    00296754
    00296754loc_296754:
    00296754b 0x296758
    00296758
    00296758loc_296758:
    00296758ldr x3, [sp+160]
    0029675cadd x3, x3, 1
    00296760str x3, [sp+160]
    00296764b 0x29646c
    00296768
    00296768loc_296768:
    00296768ldr x0, [sp+640]
    0029676cldr x1, [sp+648]
    00296770ldr x2, [sp+656]
    00296774bl math/big.nat.norm
    00296778str x0, [sp+520]
    0029677cstr x1, [sp+528]
    00296780str x2, [sp+536]
    00296784ldr x3, [sp+320]
    00296788ldr x4, [sp+328]
    0029678cldr x5, [sp+312]
    00296790mov x6, x0
    00296794mov x0, x5
    00296798mov x7, x1
    0029679cmov x1, x3
    002967a0mov x8, x2
    002967a4mov x2, x4
    002967a8mov x3, x6
    002967acmov x4, x7
    002967b0mov x5, x8
    002967b4bl math/big.nat.cmp
    002967b8str x0, [sp+280]
    002967bcsubs xzr, x0, 0
    002967c0b.gt 0x2969d0
    002967c4b 0x2967c8
    002967c8
    002967c8loc_2967c8:
    002967c8ldr x1, [sp+320]
    002967ccstr x1, [sp+280]
    002967d0ldr x2, [sp+656]
    002967d4ldr x0, [sp+640]
    002967d8subs xzr, x2, x1
    002967dcb.hs 0x2967e4
    002967e0b 0x2969cc
    002967e4
    002967e4loc_2967e4:
    002967e4b 0x2967e8
    002967e8
    002967e8loc_2967e8:
    002967e8str x0, [sp+520]
    002967ecstr x1, [sp+528]
    002967f0str x2, [sp+536]
    002967f4ldr x1, [sp+320]
    002967f8str x1, [sp+272]
    002967fcldr x2, [sp+656]
    00296800ldr x0, [sp+640]
    00296804subs xzr, x2, x1
    00296808b.hs 0x296810
    0029680cb 0x2969c8
    00296810
    00296810loc_296810:
    00296810b 0x296814
    00296814
    00296814loc_296814:
    00296814str x0, [sp+568]
    00296818str x1, [sp+576]
    0029681cstr x2, [sp+584]
    00296820ldr x3, [sp+520]
    00296824ldr x4, [sp+528]
    00296828ldr x5, [sp+536]
    0029682cldr x6, [sp+312]
    00296830ldr x7, [sp+320]
    00296834ldr x8, [sp+328]
    00296838str x3, [sp+8]
    0029683cstr x4, [sp+16]
    00296840str x5, [sp+24]
    00296844str x0, [sp+32]
    00296848str x1, [sp+40]
    0029684cstr x2, [sp+48]
    00296850str x6, [sp+56]
    00296854str x7, [sp+64]
    00296858str x8, [sp+72]
    0029685cbl math/big.subVV.abi0
    00296860ldr x0, [sp+80]
    00296864str x0, [sp+192]
    00296868cbnz x0, 0x296870
    0029686cb 0x29693c
    00296870
    00296870loc_296870:
    00296870ldr x0, [sp+320]
    00296874str x0, [sp+272]
    00296878ldr x1, [sp+648]
    0029687cldr x2, [sp+656]
    00296880ldr x3, [sp+640]
    00296884b 0x296888
    00296888
    00296888loc_296888:
    00296888subs xzr, x1, x0
    0029688cb.hs 0x296894
    00296890b 0x2969c4
    00296894
    00296894loc_296894:
    00296894sub x2, x2, x0
    00296898sub x4, x1, x0
    0029689csub x5, xzr, x2
    002968a0ubfm x6, x0, 61, 60
    002968a4and x5, x6, x5, asr #63
    002968a8add x3, x3, x5
    002968acstr x3, [sp+568]
    002968b0str x4, [sp+576]
    002968b4str x2, [sp+584]
    002968b8ldr x0, [sp+320]
    002968bcstr x0, [sp+280]
    002968c0ldr x1, [sp+648]
    002968c4ldr x2, [sp+640]
    002968c8ldr x3, [sp+656]
    002968ccb 0x2968d0
    002968d0
    002968d0loc_2968d0:
    002968d0subs xzr, x1, x0
    002968d4b.hs 0x2968dc
    002968d8b 0x2969c0
    002968dc
    002968dcloc_2968dc:
    002968dcsub x3, x3, x0
    002968e0sub x1, x1, x0
    002968e4sub x4, xzr, x3
    002968e8ubfm x0, x0, 61, 60
    002968ecand x0, x0, x4, asr #63
    002968f0add x0, x2, x0
    002968f4str x0, [sp+520]
    002968f8str x1, [sp+528]
    002968fcstr x3, [sp+536]
    00296900ldr x2, [sp+192]
    00296904ldr x4, [sp+568]
    00296908ldr x5, [sp+576]
    0029690cldr x6, [sp+584]
    00296910str x4, [sp+8]
    00296914str x5, [sp+16]
    00296918str x6, [sp+24]
    0029691cstr x0, [sp+32]
    00296920str x1, [sp+40]
    00296924str x3, [sp+48]
    00296928str x2, [sp+56]
    0029692cbl math/big.subVW.abi0
    00296930ldr x0, [sp+64]
    00296934str x0, [sp+192]
    00296938b 0x296940
    0029693c
    0029693cloc_29693c:
    0029693cb 0x296940
    00296940
    00296940loc_296940:
    00296940ldr x3, [sp+192]
    00296944cbnz x3, 0x2969ac
    00296948b 0x29694c
    0029694c
    0029694cloc_29694c:
    0029694cldr x0, [sp+360]
    00296950ldr x1, [sp+368]
    00296954ldr x2, [sp+376]
    00296958bl math/big.nat.norm
    0029695cstr x0, [sp+520]
    00296960str x1, [sp+528]
    00296964str x2, [sp+536]
    00296968ldr x3, [sp+624]
    0029696cldr x4, [sp+632]
    00296970ldr x5, [sp+616]
    00296974mov x6, xzr
    00296978mov x7, x0
    0029697cmov x0, x5
    00296980mov x8, x1
    00296984mov x1, x3
    00296988mov x9, x2
    0029698cmov x2, x4
    00296990mov x3, x7
    00296994mov x4, x8
    00296998mov x5, x9
    0029699cbl math/big.addAt
    002969a0ldp x29, x30, [sp-8]
    002969a4add sp, sp, 608
    002969a8ret x30
    002969ac
    002969acloc_2969ac:
    002969acadrp x0, 0x35f000
    002969b0add x0, x0, 2944
    002969b4adrp x1, 0x47c000
    002969b8add x1, x1, 1296
    002969bcbl runtime.gopanic
    002969c0
    002969c0loc_2969c0:
    002969c0bl runtime.panicSliceB
    002969c4
    002969c4loc_2969c4:
    002969c4bl runtime.panicSliceB
    002969c8
    002969c8loc_2969c8:
    002969c8bl runtime.panicSliceAcap
    002969cc
    002969ccloc_2969cc:
    002969ccbl runtime.panicSliceAcap
    002969d0
    002969d0loc_2969d0:
    002969d0adrp x0, 0x35f000
    002969d4add x0, x0, 2944
    002969d8adrp x1, 0x47c000
    002969dcadd x1, x1, 1296
    002969e0bl runtime.gopanic
    002969e4
    002969e4loc_2969e4:
    002969e4bl runtime.panicSliceB
    002969e8
    002969e8loc_2969e8:
    002969e8bl runtime.panicSliceB
    002969ec
    002969ecloc_2969ec:
    002969ecbl runtime.panicSliceB
    002969f0
    002969f0loc_2969f0:
    002969f0bl runtime.panicSliceB
    002969f4
    002969f4loc_2969f4:
    002969f4bl runtime.panicSliceAcap
    002969f8
    002969f8loc_2969f8:
    002969f8bl runtime.panicSliceAcap
    002969fc
    002969fcloc_2969fc:
    002969fcbl runtime.panicSliceAcap
    00296a00
    00296a00loc_296a00:
    00296a00bl runtime.panicSliceAcap
    00296a04
    00296a04loc_296a04:
    00296a04bl runtime.panicSliceB
    00296a08
    00296a08loc_296a08:
    00296a08bl runtime.panicSliceB
    00296a0c
    00296a0cloc_296a0c:
    00296a0cbl runtime.panicIndex
    00296a10
    00296a10loc_296a10:
    00296a10ldr x3, [sp+168]
    00296a14subs xzr, x3, 2
    00296a18b.lt 0x296a20
    00296a1cb 0x296d08
    00296a20
    00296a20loc_296a20:
    00296a20ldr x0, [sp+288]
    00296a24ldr x1, [sp+296]
    00296a28ldr x2, [sp+304]
    00296a2cbl math/big.nat.norm
    00296a30str x0, [sp+544]
    00296a34str x1, [sp+552]
    00296a38str x2, [sp+560]
    00296a3cldr x3, [sp+344]
    00296a40ldr x4, [sp+352]
    00296a44ldr x5, [sp+336]
    00296a48mov x6, x0
    00296a4cmov x0, x5
    00296a50mov x7, x1
    00296a54mov x1, x3
    00296a58mov x8, x2
    00296a5cmov x2, x4
    00296a60mov x3, x6
    00296a64mov x4, x7
    00296a68mov x5, x8
    00296a6cbl math/big.nat.cmp
    00296a70str x0, [sp+184]
    00296a74subs xzr, x0, 0
    00296a78b.le 0x296a80
    00296a7cb 0x296a84
    00296a80
    00296a80loc_296a80:
    00296a80b 0x296d0c
    00296a84
    00296a84loc_296a84:
    00296a84ldr x0, [sp+384]
    00296a88ldr x1, [sp+392]
    00296a8cldr x2, [sp+400]
    00296a90ldr x3, [sp+384]
    00296a94ldr x4, [sp+392]
    00296a98ldr x5, [sp+400]
    00296a9cstr x0, [sp+8]
    00296aa0str x1, [sp+16]
    00296aa4str x2, [sp+24]
    00296aa8str x3, [sp+32]
    00296aacstr x4, [sp+40]
    00296ab0str x5, [sp+48]
    00296ab4orr x0, xzr, 1
    00296ab8str x0, [sp+56]
    00296abcbl math/big.subVW.abi0
    00296ac0ldr x1, [sp+128]
    00296ac4ldr x2, [sp+352]
    00296ac8ldr x0, [sp+336]
    00296accsubs xzr, x2, x1
    00296ad0b.hs 0x296ad8
    00296ad4b 0x296f58
    00296ad8
    00296ad8loc_296ad8:
    00296ad8b 0x296adc
    00296adc
    00296adcloc_296adc:
    00296adcstr x0, [sp+544]
    00296ae0str x1, [sp+552]
    00296ae4str x2, [sp+560]
    00296ae8ldr x1, [sp+128]
    00296aecldr x2, [sp+352]
    00296af0ldr x0, [sp+336]
    00296af4subs xzr, x2, x1
    00296af8b.hs 0x296b00
    00296afcb 0x296f54
    00296b00
    00296b00loc_296b00:
    00296b00b 0x296b04
    00296b04
    00296b04loc_296b04:
    00296b04str x0, [sp+568]
    00296b08str x1, [sp+576]
    00296b0cstr x2, [sp+584]
    00296b10ldr x1, [sp+128]
    00296b14ldr x2, [sp+680]
    00296b18ldr x0, [sp+664]
    00296b1csubs xzr, x2, x1
    00296b20b.hs 0x296b28
    00296b24b 0x296f50
    00296b28
    00296b28loc_296b28:
    00296b28b 0x296b2c
    00296b2c
    00296b2cloc_296b2c:
    00296b2cstr x0, [sp+520]
    00296b30str x1, [sp+528]
    00296b34str x2, [sp+536]
    00296b38ldr x3, [sp+544]
    00296b3cldr x4, [sp+552]
    00296b40ldr x5, [sp+560]
    00296b44ldr x6, [sp+568]
    00296b48ldr x7, [sp+576]
    00296b4cldr x8, [sp+584]
    00296b50str x3, [sp+8]
    00296b54str x4, [sp+16]
    00296b58str x5, [sp+24]
    00296b5cstr x6, [sp+32]
    00296b60str x7, [sp+40]
    00296b64str x8, [sp+48]
    00296b68str x0, [sp+56]
    00296b6cstr x1, [sp+64]
    00296b70str x2, [sp+72]
    00296b74bl math/big.subVV.abi0
    00296b78ldr x0, [sp+80]
    00296b7cstr x0, [sp+216]
    00296b80ldr x0, [sp+344]
    00296b84str x0, [sp+280]
    00296b88ldr x1, [sp+128]
    00296b8csubs xzr, x0, x1
    00296b90b.gt 0x296b98
    00296b94b 0x296c54
    00296b98
    00296b98loc_296b98:
    00296b98ldr x0, [sp+128]
    00296b9cldr x1, [sp+344]
    00296ba0ldr x2, [sp+336]
    00296ba4ldr x3, [sp+352]
    00296ba8b 0x296bac
    00296bac
    00296bacloc_296bac:
    00296bacsubs xzr, x1, x0
    00296bb0b.hs 0x296bb8
    00296bb4b 0x296f4c
    00296bb8
    00296bb8loc_296bb8:
    00296bb8sub x3, x3, x0
    00296bbcsub x4, x1, x0
    00296bc0sub x5, xzr, x3
    00296bc4ubfm x6, x0, 61, 60
    00296bc8and x5, x6, x5, asr #63
    00296bccadd x2, x2, x5
    00296bd0str x2, [sp+520]
    00296bd4str x4, [sp+528]
    00296bd8str x3, [sp+536]
    00296bdcldr x0, [sp+128]
    00296be0ldr x1, [sp+344]
    00296be4ldr x2, [sp+336]
    00296be8ldr x3, [sp+352]
    00296becb 0x296bf0
    00296bf0
    00296bf0loc_296bf0:
    00296bf0subs xzr, x1, x0
    00296bf4b.hs 0x296bfc
    00296bf8b 0x296f48
    00296bfc
    00296bfcloc_296bfc:
    00296bfcsub x3, x3, x0
    00296c00sub x1, x1, x0
    00296c04sub x4, xzr, x3
    00296c08ubfm x0, x0, 61, 60
    00296c0cand x0, x0, x4, asr #63
    00296c10add x0, x2, x0
    00296c14str x0, [sp+568]
    00296c18str x1, [sp+576]
    00296c1cstr x3, [sp+584]
    00296c20ldr x2, [sp+216]
    00296c24ldr x4, [sp+520]
    00296c28ldr x5, [sp+528]
    00296c2cldr x6, [sp+536]
    00296c30str x4, [sp+8]
    00296c34str x5, [sp+16]
    00296c38str x6, [sp+24]
    00296c3cstr x0, [sp+32]
    00296c40str x1, [sp+40]
    00296c44str x3, [sp+48]
    00296c48str x2, [sp+56]
    00296c4cbl math/big.subVW.abi0
    00296c50b 0x296c58
    00296c54
    00296c54loc_296c54:
    00296c54b 0x296c58
    00296c58
    00296c58loc_296c58:
    00296c58ldr x0, [sp+128]
    00296c5cldr x1, [sp+296]
    00296c60ldr x7, [sp+288]
    00296c64ldr x8, [sp+304]
    00296c68b 0x296c6c
    00296c6c
    00296c6cloc_296c6c:
    00296c6csubs xzr, x1, x0
    00296c70b.hs 0x296c78
    00296c74b 0x296f44
    00296c78
    00296c78loc_296c78:
    00296c78sub x8, x8, x0
    00296c7csub x9, x1, x0
    00296c80sub x10, xzr, x8
    00296c84ubfm x11, x0, 61, 60
    00296c88and x10, x11, x10, asr #63
    00296c8cadd x7, x7, x10
    00296c90str x7, [sp+568]
    00296c94str x9, [sp+576]
    00296c98str x8, [sp+584]
    00296c9cldr x0, [sp+128]
    00296ca0ldr x1, [sp+672]
    00296ca4ldr x7, [sp+664]
    00296ca8ldr x8, [sp+680]
    00296cacb 0x296cb0
    00296cb0
    00296cb0loc_296cb0:
    00296cb0subs xzr, x1, x0
    00296cb4b.hs 0x296cbc
    00296cb8b 0x296f40
    00296cbc
    00296cbcloc_296cbc:
    00296cbcsub x5, x8, x0
    00296cc0sub x4, x1, x0
    00296cc4sub x8, xzr, x5
    00296cc8ubfm x9, x0, 61, 60
    00296cccand x8, x9, x8, asr #63
    00296cd0add x3, x7, x8
    00296cd4str x3, [sp+520]
    00296cd8str x4, [sp+528]
    00296cdcstr x5, [sp+536]
    00296ce0ldr x0, [sp+568]
    00296ce4ldr x1, [sp+576]
    00296ce8ldr x2, [sp+584]
    00296cecmov x6, xzr
    00296cf0bl math/big.addAt
    00296cf4b 0x296cf8
    00296cf8
    00296cf8loc_296cf8:
    00296cf8ldr x3, [sp+168]
    00296cfcadd x3, x3, 1
    00296d00str x3, [sp+168]
    00296d04b 0x296a10
    00296d08
    00296d08loc_296d08:
    00296d08b 0x296d0c
    00296d0c
    00296d0cloc_296d0c:
    00296d0cldr x0, [sp+288]
    00296d10ldr x1, [sp+296]
    00296d14ldr x2, [sp+304]
    00296d18bl math/big.nat.norm
    00296d1cstr x0, [sp+520]
    00296d20str x1, [sp+528]
    00296d24str x2, [sp+536]
    00296d28ldr x3, [sp+344]
    00296d2cldr x4, [sp+352]
    00296d30ldr x5, [sp+336]
    00296d34mov x6, x0
    00296d38mov x0, x5
    00296d3cmov x7, x1
    00296d40mov x1, x3
    00296d44mov x8, x2
    00296d48mov x2, x4
    00296d4cmov x3, x6
    00296d50mov x4, x7
    00296d54mov x5, x8
    00296d58bl math/big.nat.cmp
    00296d5cstr x0, [sp+280]
    00296d60subs xzr, x0, 0
    00296d64b.gt 0x296f2c
    00296d68b 0x296d6c
    00296d6c
    00296d6cloc_296d6c:
    00296d6cldr x1, [sp+344]
    00296d70str x1, [sp+280]
    00296d74ldr x2, [sp+304]
    00296d78ldr x0, [sp+288]
    00296d7csubs xzr, x2, x1
    00296d80b.hs 0x296d88
    00296d84b 0x296f28
    00296d88
    00296d88loc_296d88:
    00296d88b 0x296d8c
    00296d8c
    00296d8cloc_296d8c:
    00296d8cstr x0, [sp+520]
    00296d90str x1, [sp+528]
    00296d94str x2, [sp+536]
    00296d98ldr x1, [sp+344]
    00296d9cstr x1, [sp+272]
    00296da0ldr x2, [sp+304]
    00296da4ldr x0, [sp+288]
    00296da8subs xzr, x2, x1
    00296dacb.hs 0x296db4
    00296db0b 0x296f24
    00296db4
    00296db4loc_296db4:
    00296db4b 0x296db8
    00296db8
    00296db8loc_296db8:
    00296db8str x0, [sp+568]
    00296dbcstr x1, [sp+576]
    00296dc0str x2, [sp+584]
    00296dc4ldr x3, [sp+520]
    00296dc8ldr x4, [sp+528]
    00296dccldr x5, [sp+536]
    00296dd0ldr x6, [sp+336]
    00296dd4ldr x7, [sp+344]
    00296dd8ldr x8, [sp+352]
    00296ddcstr x3, [sp+8]
    00296de0str x4, [sp+16]
    00296de4str x5, [sp+24]
    00296de8str x0, [sp+32]
    00296decstr x1, [sp+40]
    00296df0str x2, [sp+48]
    00296df4str x6, [sp+56]
    00296df8str x7, [sp+64]
    00296dfcstr x8, [sp+72]
    00296e00bl math/big.subVV.abi0
    00296e04ldr x0, [sp+80]
    00296e08str x0, [sp+208]
    00296e0ccbnz x0, 0x296e14
    00296e10b 0x296ed8
    00296e14
    00296e14loc_296e14:
    00296e14ldr x0, [sp+344]
    00296e18str x0, [sp+272]
    00296e1cldr x1, [sp+296]
    00296e20ldr x2, [sp+304]
    00296e24ldr x3, [sp+288]
    00296e28b 0x296e2c
    00296e2c
    00296e2cloc_296e2c:
    00296e2csubs xzr, x1, x0
    00296e30b.hs 0x296e38
    00296e34b 0x296f20
    00296e38
    00296e38loc_296e38:
    00296e38sub x2, x2, x0
    00296e3csub x4, x1, x0
    00296e40sub x5, xzr, x2
    00296e44ubfm x6, x0, 61, 60
    00296e48and x5, x6, x5, asr #63
    00296e4cadd x3, x3, x5
    00296e50str x3, [sp+568]
    00296e54str x4, [sp+576]
    00296e58str x2, [sp+584]
    00296e5cldr x0, [sp+344]
    00296e60str x0, [sp+280]
    00296e64ldr x1, [sp+296]
    00296e68ldr x2, [sp+288]
    00296e6cldr x3, [sp+304]
    00296e70b 0x296e74
    00296e74
    00296e74loc_296e74:
    00296e74subs xzr, x1, x0
    00296e78b.hs 0x296e80
    00296e7cb 0x296f1c
    00296e80
    00296e80loc_296e80:
    00296e80sub x3, x3, x0
    00296e84sub x1, x1, x0
    00296e88sub x4, xzr, x3
    00296e8cubfm x0, x0, 61, 60
    00296e90and x0, x0, x4, asr #63
    00296e94add x0, x2, x0
    00296e98str x0, [sp+520]
    00296e9cstr x1, [sp+528]
    00296ea0str x3, [sp+536]
    00296ea4ldr x2, [sp+208]
    00296ea8ldr x4, [sp+568]
    00296eacldr x5, [sp+576]
    00296eb0ldr x6, [sp+584]
    00296eb4str x4, [sp+8]
    00296eb8str x5, [sp+16]
    00296ebcstr x6, [sp+24]
    00296ec0str x0, [sp+32]
    00296ec4str x1, [sp+40]
    00296ec8str x3, [sp+48]
    00296eccstr x2, [sp+56]
    00296ed0bl math/big.subVW.abi0
    00296ed4b 0x296edc
    00296ed8
    00296ed8loc_296ed8:
    00296ed8b 0x296edc
    00296edc
    00296edcloc_296edc:
    00296edcldr x0, [sp+616]
    00296ee0ldr x3, [sp+384]
    00296ee4ldr x1, [sp+624]
    00296ee8ldr x4, [sp+392]
    00296eecldr x2, [sp+632]
    00296ef0ldr x5, [sp+400]
    00296ef4ldr x7, [sp+224]
    00296ef8ldr x8, [sp+152]
    00296efcsub x6, x8, x7
    00296f00bl math/big.addAt
    00296f04ldr x7, [sp+224]
    00296f08ldr x8, [sp+152]
    00296f0csub x7, x8, x7
    00296f10str x7, [sp+152]
    00296f14b 0x296f18
    00296f18
    00296f18loc_296f18:
    00296f18b 0x295fb4
    00296f1c
    00296f1cloc_296f1c:
    00296f1cbl runtime.panicSliceB
    00296f20
    00296f20loc_296f20:
    00296f20bl runtime.panicSliceB
    00296f24
    00296f24loc_296f24:
    00296f24bl runtime.panicSliceAcap
    00296f28
    00296f28loc_296f28:
    00296f28bl runtime.panicSliceAcap
    00296f2c
    00296f2cloc_296f2c:
    00296f2cadrp x0, 0x35f000
    00296f30add x0, x0, 2944
    00296f34adrp x1, 0x47c000
    00296f38add x1, x1, 1296
    00296f3cbl runtime.gopanic
    00296f40
    00296f40loc_296f40:
    00296f40bl runtime.panicSliceB
    00296f44
    00296f44loc_296f44:
    00296f44bl runtime.panicSliceB
    00296f48
    00296f48loc_296f48:
    00296f48bl runtime.panicSliceB
    00296f4c
    00296f4cloc_296f4c:
    00296f4cbl runtime.panicSliceB
    00296f50
    00296f50loc_296f50:
    00296f50bl runtime.panicSliceAcap
    00296f54
    00296f54loc_296f54:
    00296f54bl runtime.panicSliceAcap
    00296f58
    00296f58loc_296f58:
    00296f58bl runtime.panicSliceAcap
    00296f5c
    00296f5cloc_296f5c:
    00296f5cbl runtime.panicSliceAcap
    00296f60
    00296f60loc_296f60:
    00296f60bl runtime.panicSliceB
    00296f64
    00296f64loc_296f64:
    00296f64bl runtime.panicSliceB
    00296f68
    00296f68loc_296f68:
    00296f68bl runtime.panicSliceAcap
    00296f6c
    00296f6cloc_296f6c:
    00296f6cbl runtime.panicIndex
    00296f70
    00296f70loc_296f70:
    00296f70bl runtime.panicSliceB
    00296f74
    00296f74loc_296f74:
    00296f74mov x0, x1
    00296f78mov x1, x3
    00296f7cbl runtime.panicIndex
    00296f80
    00296f80loc_296f80:
    00296f80mov x0, x4
    00296f84mov x1, x5
    00296f88bl runtime.panicIndex
    00296f8c
    00296f8cloc_296f8c:
    00296f8cbl runtime.panicIndex
    00296f90
    00296f90loc_296f90:
    00296f90mov x1, x4
    00296f94bl runtime.panicIndex
    00296f98hint
    00296f9c
    00296f9cloc_296f9c:
    00296f9cstp x0, x1, [sp+8]
    00296fa0stp x2, x3, [sp+24]
    00296fa4stp x4, x5, [sp+40]
    00296fa8stp x6, x7, [sp+56]
    00296facstp x8, x9, [sp+72]
    00296fb0stp x10, x11, [sp+88]
    00296fb4stp x12, x13, [sp+104]
    00296fb8mov x3, x30
    00296fbcbl runtime.morestack_noctxt.abi0
    00296fc0ldp x0, x1, [sp+8]
    00296fc4ldp x2, x3, [sp+24]
    00296fc8ldp x4, x5, [sp+40]
    00296fccldp x6, x7, [sp+56]
    00296fd0ldp x8, x9, [sp+72]
    00296fd4ldp x10, x11, [sp+88]
    00296fd8ldp x12, x13, [sp+104]
    00296fdcb 0x295d30
    00295d30