File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
0028cf50
0028cf50math/big.basicSqr: ; void math/big.basicSqr(math/big.nat z, math/big.nat x)
0028cf50ldr x16, [x28+16]
0028cf54sub x17, sp, 208
0028cf58subs xzr, x17, x16
0028cf5cb.ls 0x28d3e0
0028cf60sub x20, sp, 336
0028cf64stp x29, x30, [x20-8]
0028cf68add sp, x20, 0
0028cf6csub x29, sp, 8
0028cf70str x0, [sp+344]
0028cf74str x1, [sp+352]
0028cf78str x2, [sp+360]
0028cf7cstr x3, [sp+368]
0028cf80str x4, [sp+376]
0028cf84str x5, [sp+384]
0028cf88str x4, [sp+96]
0028cf8cubfm x0, x4, 63, 62
0028cf90bl math/big.getNat
0028cf94str x0, [sp+240]
0028cf98ldrsb x27, [x0]
0028cf9cldr x1, [x0]
0028cfa0ldr x2, [x0+16]
0028cfa4ldr x3, [x0+8]
0028cfa8str x1, [sp+248]
0028cfacstr x3, [sp+256]
0028cfb0str x2, [sp+264]
0028cfb4cbnz x3, 0x28cfbc
0028cfb8b 0x28cfdc
0028cfbc
0028cfbcloc_28cfbc:
0028cfbcstr x1, [sp+272]
0028cfc0ldr x2, [sp+256]
0028cfc4ubfm x2, x2, 61, 60
0028cfc8str x2, [sp+192]
0028cfccldr x1, [sp+192]
0028cfd0ldr x0, [sp+272]
0028cfd4bl runtime.memclrNoHeapPointers
0028cfd8b 0x28cfe0
0028cfdc
0028cfdcloc_28cfdc:
0028cfdcb 0x28cfe0
0028cfe0
0028cfe0loc_28cfe0:
0028cfe0ldr x1, [sp+376]
0028cfe4ldr x3, [sp+368]
0028cfe8subs xzr, x1, 0
0028cfecb.hi 0x28cff4
0028cff0b 0x28d3d4
0028cff4
0028cff4loc_28cff4:
0028cff4ldr x3, [x3]
0028cff8str x3, [sp+184]
0028cffcldr x1, [sp+376]
0028d000ldr x4, [sp+368]
0028d004subs xzr, x1, 0
0028d008b.hi 0x28d010
0028d00cb 0x28d3cc
0028d010
0028d010loc_28d010:
0028d010ldr x4, [x4]
0028d014str x4, [sp+176]
0028d018umulh x5, x3, x4
0028d01cstr x5, [sp+224]
0028d020madd x3, x3, x4, xzr
0028d024str x3, [sp+216]
0028d028str x5, [sp+136]
0028d02cstr x3, [sp+128]
0028d030ldr x1, [sp+352]
0028d034ldr x3, [sp+344]
0028d038subs xzr, x1, 1
0028d03cb.hi 0x28d044
0028d040b 0x28d3c4
0028d044
0028d044loc_28d044:
0028d044str x5, [x3+8]
0028d048ldr x1, [sp+352]
0028d04cldr x3, [sp+344]
0028d050ldr x4, [sp+128]
0028d054subs xzr, x1, 0
0028d058b.hi 0x28d060
0028d05cb 0x28d3bc
0028d060
0028d060loc_28d060:
0028d060str x4, [x3]
0028d064orr x0, xzr, 1
0028d068str x0, [sp+104]
0028d06cb 0x28d070
0028d070
0028d070loc_28d070:
0028d070ldr x3, [sp+96]
0028d074ldr x4, [sp+104]
0028d078subs xzr, x3, x4
0028d07cb.gt 0x28d084
0028d080b 0x28d204
0028d084
0028d084loc_28d084:
0028d084ldr x3, [sp+104]
0028d088ldr x1, [sp+376]
0028d08cldr x4, [sp+368]
0028d090subs xzr, x3, x1
0028d094b.lo 0x28d09c
0028d098b 0x28d3b4
0028d09c
0028d09cloc_28d09c:
0028d09cldr x3, [x4+3*x3]
0028d0a0str x3, [sp+112]
0028d0a4madd x4, x3, x3, xzr
0028d0a8umulh x3, x3, x3
0028d0acstr x3, [sp+216]
0028d0b0str x4, [sp+224]
0028d0b4str x3, [sp+120]
0028d0b8str x4, [sp+232]
0028d0bcldr x4, [sp+104]
0028d0c0ubfm x4, x4, 63, 62
0028d0c4add x4, x4, 1
0028d0c8str x4, [sp+168]
0028d0ccldr x1, [sp+352]
0028d0d0ldr x5, [sp+344]
0028d0d4subs xzr, x1, x4
0028d0d8b.hi 0x28d0e0
0028d0dcb 0x28d3ac
0028d0e0
0028d0e0loc_28d0e0:
0028d0e0str x3, [x5+3*x4]
0028d0e4ldr x3, [sp+104]
0028d0e8ubfm x4, x3, 63, 62
0028d0ecstr x4, [sp+160]
0028d0f0ldr x1, [sp+352]
0028d0f4ldr x5, [sp+344]
0028d0f8ldr x6, [sp+232]
0028d0fcsubs xzr, x1, x3, lsl #1
0028d100b.hi 0x28d108
0028d104b 0x28d3a4
0028d108
0028d108loc_28d108:
0028d108ubfm x3, x3, 60, 59
0028d10cstr x6, [x5+x3]
0028d110ldr x3, [sp+104]
0028d114ubfm x1, x3, 63, 62
0028d118str x1, [sp+208]
0028d11cldr x4, [sp+104]
0028d120ldr x2, [sp+264]
0028d124ldr x5, [sp+248]
0028d128subs xzr, x2, x3, lsl #1
0028d12cb.hs 0x28d134
0028d130b 0x28d3a0
0028d134
0028d134loc_28d134:
0028d134subs xzr, x4, x3, lsl #1
0028d138b.ls 0x28d140
0028d13cb 0x28d398
0028d140
0028d140loc_28d140:
0028d140sub x3, x2, x4
0028d144sub x6, x1, x4
0028d148sub x7, xzr, x3
0028d14cubfm x4, x4, 61, 60
0028d150and x4, x4, x7, asr #63
0028d154add x4, x5, x4
0028d158str x4, [sp+304]
0028d15cstr x6, [sp+312]
0028d160str x3, [sp+320]
0028d164ldr x1, [sp+104]
0028d168ldr x2, [sp+384]
0028d16cldr x3, [sp+368]
0028d170subs xzr, x1, x2
0028d174b.ls 0x28d17c
0028d178b 0x28d394
0028d17c
0028d17cloc_28d17c:
0028d17cb 0x28d180
0028d180
0028d180loc_28d180:
0028d180str x3, [sp+280]
0028d184str x1, [sp+288]
0028d188str x2, [sp+296]
0028d18cldr x0, [sp+112]
0028d190ldr x4, [sp+304]
0028d194ldr x5, [sp+312]
0028d198ldr x6, [sp+320]
0028d19cstr x4, [sp+8]
0028d1a0str x5, [sp+16]
0028d1a4str x6, [sp+24]
0028d1a8str x3, [sp+32]
0028d1acstr x1, [sp+40]
0028d1b0str x2, [sp+48]
0028d1b4str x0, [sp+56]
0028d1b8bl math/big.addMulVVW.abi0
0028d1bcldr x0, [sp+64]
0028d1c0str x0, [sp+224]
0028d1c4ldr x1, [sp+104]
0028d1c8ubfm x2, x1, 63, 62
0028d1ccstr x2, [sp+152]
0028d1d0ldr x3, [sp+256]
0028d1d4ldr x4, [sp+248]
0028d1d8subs xzr, x3, x1, lsl #1
0028d1dcb.hi 0x28d1e4
0028d1e0b 0x28d388
0028d1e4
0028d1e4loc_28d1e4:
0028d1e4ubfm x3, x1, 60, 59
0028d1e8str x0, [x4+x3]
0028d1ecb 0x28d1f0
0028d1f0
0028d1f0loc_28d1f0:
0028d1f0ldr x3, [sp+104]
0028d1f4add x3, x3, 1
0028d1f8str x3, [sp+104]
0028d1fcorr x0, xzr, 1
0028d200b 0x28d070
0028d204
0028d204loc_28d204:
0028d204ldr x3, [sp+96]
0028d208ubfm x3, x3, 63, 62
0028d20csub x1, x3, 1
0028d210str x1, [sp+208]
0028d214ldr x2, [sp+264]
0028d218ldr x4, [sp+248]
0028d21csubs xzr, x2, x1
0028d220b.hs 0x28d228
0028d224b 0x28d384
0028d228
0028d228loc_28d228:
0028d228subs xzr, x1, 1
0028d22cb.hs 0x28d234
0028d230b 0x28d380
0028d234
0028d234loc_28d234:
0028d234sub x5, x2, 1
0028d238sub x6, xzr, x5
0028d23csub x3, x3, 2
0028d240sbfm x6, x6, 63, 63
0028d244and x6, x6, 8
0028d248add x4, x4, x6
0028d24cstr x4, [sp+280]
0028d250str x3, [sp+288]
0028d254str x5, [sp+296]
0028d258ldr x3, [sp+96]
0028d25cubfm x3, x3, 63, 62
0028d260sub x1, x3, 1
0028d264str x1, [sp+200]
0028d268ldr x2, [sp+264]
0028d26cldr x4, [sp+248]
0028d270subs xzr, x2, x1
0028d274b.hs 0x28d27c
0028d278b 0x28d37c
0028d27c
0028d27cloc_28d27c:
0028d27csubs xzr, x1, 1
0028d280b.hs 0x28d288
0028d284b 0x28d378
0028d288
0028d288loc_28d288:
0028d288sub x0, x2, 1
0028d28csub x1, x3, 2
0028d290sub x2, xzr, x0
0028d294sbfm x2, x2, 63, 63
0028d298and x2, x2, 8
0028d29cadd x2, x4, x2
0028d2a0str x2, [sp+304]
0028d2a4str x1, [sp+312]
0028d2a8str x0, [sp+320]
0028d2acldr x3, [sp+280]
0028d2b0ldr x4, [sp+288]
0028d2b4ldr x5, [sp+296]
0028d2b8str x3, [sp+8]
0028d2bcstr x4, [sp+16]
0028d2c0str x5, [sp+24]
0028d2c4str x2, [sp+32]
0028d2c8str x1, [sp+40]
0028d2ccstr x0, [sp+48]
0028d2d0orr x0, xzr, 1
0028d2d4str x0, [sp+56]
0028d2d8bl math/big.shlVU.abi0
0028d2dcldr x0, [sp+64]
0028d2e0str x0, [sp+224]
0028d2e4ldr x1, [sp+96]
0028d2e8ubfm x1, x1, 63, 62
0028d2ecsub x1, x1, 1
0028d2f0str x1, [sp+144]
0028d2f4ldr x2, [sp+256]
0028d2f8ldr x3, [sp+248]
0028d2fcsubs xzr, x2, x1
0028d300b.hi 0x28d308
0028d304b 0x28d36c
0028d308
0028d308loc_28d308:
0028d308str x0, [x3+3*x1]
0028d30cldr x0, [sp+344]
0028d310ldr x1, [sp+352]
0028d314ldr x2, [sp+360]
0028d318ldr x3, [sp+344]
0028d31cldr x4, [sp+352]
0028d320ldr x5, [sp+360]
0028d324ldr x6, [sp+248]
0028d328ldr x7, [sp+256]
0028d32cldr x8, [sp+264]
0028d330str x0, [sp+8]
0028d334str x1, [sp+16]
0028d338str x2, [sp+24]
0028d33cstr x3, [sp+32]
0028d340str x4, [sp+40]
0028d344str x5, [sp+48]
0028d348str x6, [sp+56]
0028d34cstr x7, [sp+64]
0028d350str x8, [sp+72]
0028d354bl math/big.addVV.abi0
0028d358ldr x0, [sp+240]
0028d35cbl math/big.putNat
0028d360ldp x29, x30, [sp-8]
0028d364add sp, sp, 336
0028d368ret x30
0028d36c
0028d36cloc_28d36c:
0028d36cmov x0, x1
0028d370mov x1, x2
0028d374bl runtime.panicIndex
0028d378
0028d378loc_28d378:
0028d378bl runtime.panicSliceB
0028d37c
0028d37cloc_28d37c:
0028d37cbl runtime.panicSliceAcap
0028d380
0028d380loc_28d380:
0028d380bl runtime.panicSliceB
0028d384
0028d384loc_28d384:
0028d384bl runtime.panicSliceAcap
0028d388
0028d388loc_28d388:
0028d388mov x0, x2
0028d38cmov x1, x3
0028d390bl runtime.panicIndex
0028d394
0028d394loc_28d394:
0028d394bl runtime.panicSliceAcap
0028d398
0028d398loc_28d398:
0028d398mov x0, x4
0028d39cbl runtime.panicSliceB
0028d3a0
0028d3a0loc_28d3a0:
0028d3a0bl runtime.panicSliceAcap
0028d3a4
0028d3a4loc_28d3a4:
0028d3a4mov x0, x4
0028d3a8bl runtime.panicIndex
0028d3ac
0028d3acloc_28d3ac:
0028d3acmov x0, x4
0028d3b0bl runtime.panicIndex
0028d3b4
0028d3b4loc_28d3b4:
0028d3b4mov x0, x3
0028d3b8bl runtime.panicIndex
0028d3bc
0028d3bcloc_28d3bc:
0028d3bcmov x0, xzr
0028d3c0bl runtime.panicIndex
0028d3c4
0028d3c4loc_28d3c4:
0028d3c4orr x0, xzr, 1
0028d3c8bl runtime.panicIndex
0028d3cc
0028d3ccloc_28d3cc:
0028d3ccmov x0, xzr
0028d3d0bl runtime.panicIndex
0028d3d4
0028d3d4loc_28d3d4:
0028d3d4mov x0, xzr
0028d3d8bl runtime.panicIndex
0028d3dchint
0028d3e0
0028d3e0loc_28d3e0:
0028d3e0stp x0, x1, [sp+8]
0028d3e4stp x2, x3, [sp+24]
0028d3e8stp x4, x5, [sp+40]
0028d3ecmov x3, x30
0028d3f0bl runtime.morestack_noctxt.abi0
0028d3f4ldp x0, x1, [sp+8]
0028d3f8ldp x2, x3, [sp+24]
0028d3fcldp x4, x5, [sp+40]
0028d400b 0x28cf50
0028d404udf 0
0028d408udf 0
0028d40cudf 0
0028cf50
0028cf50math/big.basicSqr: ; void math/big.basicSqr(math/big.nat z, math/big.nat x)
0028cf50ldr x16, [x28+16]
0028cf54sub x17, sp, 208
0028cf58subs xzr, x17, x16
0028cf5cb.ls 0x28d3e0
0028cf60sub x20, sp, 336
0028cf64stp x29, x30, [x20-8]
0028cf68add sp, x20, 0
0028cf6csub x29, sp, 8
0028cf70str x0, [sp+344]
0028cf74str x1, [sp+352]
0028cf78str x2, [sp+360]
0028cf7cstr x3, [sp+368]
0028cf80str x4, [sp+376]
0028cf84str x5, [sp+384]
0028cf88str x4, [sp+96]
0028cf8cubfm x0, x4, 63, 62
0028cf90bl math/big.getNat
0028cf94str x0, [sp+240]
0028cf98ldrsb x27, [x0]
0028cf9cldr x1, [x0]
0028cfa0ldr x2, [x0+16]
0028cfa4ldr x3, [x0+8]
0028cfa8str x1, [sp+248]
0028cfacstr x3, [sp+256]
0028cfb0str x2, [sp+264]
0028cfb4cbnz x3, 0x28cfbc
0028cfb8b 0x28cfdc
0028cfbc
0028cfbcloc_28cfbc:
0028cfbcstr x1, [sp+272]
0028cfc0ldr x2, [sp+256]
0028cfc4ubfm x2, x2, 61, 60
0028cfc8str x2, [sp+192]
0028cfccldr x1, [sp+192]
0028cfd0ldr x0, [sp+272]
0028cfd4bl runtime.memclrNoHeapPointers
0028cfd8b 0x28cfe0
0028cfdc
0028cfdcloc_28cfdc:
0028cfdcb 0x28cfe0
0028cfe0
0028cfe0loc_28cfe0:
0028cfe0ldr x1, [sp+376]
0028cfe4ldr x3, [sp+368]
0028cfe8subs xzr, x1, 0
0028cfecb.hi 0x28cff4
0028cff0b 0x28d3d4
0028cff4
0028cff4loc_28cff4:
0028cff4ldr x3, [x3]
0028cff8str x3, [sp+184]
0028cffcldr x1, [sp+376]
0028d000ldr x4, [sp+368]
0028d004subs xzr, x1, 0
0028d008b.hi 0x28d010
0028d00cb 0x28d3cc
0028d010
0028d010loc_28d010:
0028d010ldr x4, [x4]
0028d014str x4, [sp+176]
0028d018umulh x5, x3, x4
0028d01cstr x5, [sp+224]
0028d020madd x3, x3, x4, xzr
0028d024str x3, [sp+216]
0028d028str x5, [sp+136]
0028d02cstr x3, [sp+128]
0028d030ldr x1, [sp+352]
0028d034ldr x3, [sp+344]
0028d038subs xzr, x1, 1
0028d03cb.hi 0x28d044
0028d040b 0x28d3c4
0028d044
0028d044loc_28d044:
0028d044str x5, [x3+8]
0028d048ldr x1, [sp+352]
0028d04cldr x3, [sp+344]
0028d050ldr x4, [sp+128]
0028d054subs xzr, x1, 0
0028d058b.hi 0x28d060
0028d05cb 0x28d3bc
0028d060
0028d060loc_28d060:
0028d060str x4, [x3]
0028d064orr x0, xzr, 1
0028d068str x0, [sp+104]
0028d06cb 0x28d070
0028d070
0028d070loc_28d070:
0028d070ldr x3, [sp+96]
0028d074ldr x4, [sp+104]
0028d078subs xzr, x3, x4
0028d07cb.gt 0x28d084
0028d080b 0x28d204
0028d084
0028d084loc_28d084:
0028d084ldr x3, [sp+104]
0028d088ldr x1, [sp+376]
0028d08cldr x4, [sp+368]
0028d090subs xzr, x3, x1
0028d094b.lo 0x28d09c
0028d098b 0x28d3b4
0028d09c
0028d09cloc_28d09c:
0028d09cldr x3, [x4+3*x3]
0028d0a0str x3, [sp+112]
0028d0a4madd x4, x3, x3, xzr
0028d0a8umulh x3, x3, x3
0028d0acstr x3, [sp+216]
0028d0b0str x4, [sp+224]
0028d0b4str x3, [sp+120]
0028d0b8str x4, [sp+232]
0028d0bcldr x4, [sp+104]
0028d0c0ubfm x4, x4, 63, 62
0028d0c4add x4, x4, 1
0028d0c8str x4, [sp+168]
0028d0ccldr x1, [sp+352]
0028d0d0ldr x5, [sp+344]
0028d0d4subs xzr, x1, x4
0028d0d8b.hi 0x28d0e0
0028d0dcb 0x28d3ac
0028d0e0
0028d0e0loc_28d0e0:
0028d0e0str x3, [x5+3*x4]
0028d0e4ldr x3, [sp+104]
0028d0e8ubfm x4, x3, 63, 62
0028d0ecstr x4, [sp+160]
0028d0f0ldr x1, [sp+352]
0028d0f4ldr x5, [sp+344]
0028d0f8ldr x6, [sp+232]
0028d0fcsubs xzr, x1, x3, lsl #1
0028d100b.hi 0x28d108
0028d104b 0x28d3a4
0028d108
0028d108loc_28d108:
0028d108ubfm x3, x3, 60, 59
0028d10cstr x6, [x5+x3]
0028d110ldr x3, [sp+104]
0028d114ubfm x1, x3, 63, 62
0028d118str x1, [sp+208]
0028d11cldr x4, [sp+104]
0028d120ldr x2, [sp+264]
0028d124ldr x5, [sp+248]
0028d128subs xzr, x2, x3, lsl #1
0028d12cb.hs 0x28d134
0028d130b 0x28d3a0
0028d134
0028d134loc_28d134:
0028d134subs xzr, x4, x3, lsl #1
0028d138b.ls 0x28d140
0028d13cb 0x28d398
0028d140
0028d140loc_28d140:
0028d140sub x3, x2, x4
0028d144sub x6, x1, x4
0028d148sub x7, xzr, x3
0028d14cubfm x4, x4, 61, 60
0028d150and x4, x4, x7, asr #63
0028d154add x4, x5, x4
0028d158str x4, [sp+304]
0028d15cstr x6, [sp+312]
0028d160str x3, [sp+320]
0028d164ldr x1, [sp+104]
0028d168ldr x2, [sp+384]
0028d16cldr x3, [sp+368]
0028d170subs xzr, x1, x2
0028d174b.ls 0x28d17c
0028d178b 0x28d394
0028d17c
0028d17cloc_28d17c:
0028d17cb 0x28d180
0028d180
0028d180loc_28d180:
0028d180str x3, [sp+280]
0028d184str x1, [sp+288]
0028d188str x2, [sp+296]
0028d18cldr x0, [sp+112]
0028d190ldr x4, [sp+304]
0028d194ldr x5, [sp+312]
0028d198ldr x6, [sp+320]
0028d19cstr x4, [sp+8]
0028d1a0str x5, [sp+16]
0028d1a4str x6, [sp+24]
0028d1a8str x3, [sp+32]
0028d1acstr x1, [sp+40]
0028d1b0str x2, [sp+48]
0028d1b4str x0, [sp+56]
0028d1b8bl math/big.addMulVVW.abi0
0028d1bcldr x0, [sp+64]
0028d1c0str x0, [sp+224]
0028d1c4ldr x1, [sp+104]
0028d1c8ubfm x2, x1, 63, 62
0028d1ccstr x2, [sp+152]
0028d1d0ldr x3, [sp+256]
0028d1d4ldr x4, [sp+248]
0028d1d8subs xzr, x3, x1, lsl #1
0028d1dcb.hi 0x28d1e4
0028d1e0b 0x28d388
0028d1e4
0028d1e4loc_28d1e4:
0028d1e4ubfm x3, x1, 60, 59
0028d1e8str x0, [x4+x3]
0028d1ecb 0x28d1f0
0028d1f0
0028d1f0loc_28d1f0:
0028d1f0ldr x3, [sp+104]
0028d1f4add x3, x3, 1
0028d1f8str x3, [sp+104]
0028d1fcorr x0, xzr, 1
0028d200b 0x28d070
0028d204
0028d204loc_28d204:
0028d204ldr x3, [sp+96]
0028d208ubfm x3, x3, 63, 62
0028d20csub x1, x3, 1
0028d210str x1, [sp+208]
0028d214ldr x2, [sp+264]
0028d218ldr x4, [sp+248]
0028d21csubs xzr, x2, x1
0028d220b.hs 0x28d228
0028d224b 0x28d384
0028d228
0028d228loc_28d228:
0028d228subs xzr, x1, 1
0028d22cb.hs 0x28d234
0028d230b 0x28d380
0028d234
0028d234loc_28d234:
0028d234sub x5, x2, 1
0028d238sub x6, xzr, x5
0028d23csub x3, x3, 2
0028d240sbfm x6, x6, 63, 63
0028d244and x6, x6, 8
0028d248add x4, x4, x6
0028d24cstr x4, [sp+280]
0028d250str x3, [sp+288]
0028d254str x5, [sp+296]
0028d258ldr x3, [sp+96]
0028d25cubfm x3, x3, 63, 62
0028d260sub x1, x3, 1
0028d264str x1, [sp+200]
0028d268ldr x2, [sp+264]
0028d26cldr x4, [sp+248]
0028d270subs xzr, x2, x1
0028d274b.hs 0x28d27c
0028d278b 0x28d37c
0028d27c
0028d27cloc_28d27c:
0028d27csubs xzr, x1, 1
0028d280b.hs 0x28d288
0028d284b 0x28d378
0028d288
0028d288loc_28d288:
0028d288sub x0, x2, 1
0028d28csub x1, x3, 2
0028d290sub x2, xzr, x0
0028d294sbfm x2, x2, 63, 63
0028d298and x2, x2, 8
0028d29cadd x2, x4, x2
0028d2a0str x2, [sp+304]
0028d2a4str x1, [sp+312]
0028d2a8str x0, [sp+320]
0028d2acldr x3, [sp+280]
0028d2b0ldr x4, [sp+288]
0028d2b4ldr x5, [sp+296]
0028d2b8str x3, [sp+8]
0028d2bcstr x4, [sp+16]
0028d2c0str x5, [sp+24]
0028d2c4str x2, [sp+32]
0028d2c8str x1, [sp+40]
0028d2ccstr x0, [sp+48]
0028d2d0orr x0, xzr, 1
0028d2d4str x0, [sp+56]
0028d2d8bl math/big.shlVU.abi0
0028d2dcldr x0, [sp+64]
0028d2e0str x0, [sp+224]
0028d2e4ldr x1, [sp+96]
0028d2e8ubfm x1, x1, 63, 62
0028d2ecsub x1, x1, 1
0028d2f0str x1, [sp+144]
0028d2f4ldr x2, [sp+256]
0028d2f8ldr x3, [sp+248]
0028d2fcsubs xzr, x2, x1
0028d300b.hi 0x28d308
0028d304b 0x28d36c
0028d308
0028d308loc_28d308:
0028d308str x0, [x3+3*x1]
0028d30cldr x0, [sp+344]
0028d310ldr x1, [sp+352]
0028d314ldr x2, [sp+360]
0028d318ldr x3, [sp+344]
0028d31cldr x4, [sp+352]
0028d320ldr x5, [sp+360]
0028d324ldr x6, [sp+248]
0028d328ldr x7, [sp+256]
0028d32cldr x8, [sp+264]
0028d330str x0, [sp+8]
0028d334str x1, [sp+16]
0028d338str x2, [sp+24]
0028d33cstr x3, [sp+32]
0028d340str x4, [sp+40]
0028d344str x5, [sp+48]
0028d348str x6, [sp+56]
0028d34cstr x7, [sp+64]
0028d350str x8, [sp+72]
0028d354bl math/big.addVV.abi0
0028d358ldr x0, [sp+240]
0028d35cbl math/big.putNat
0028d360ldp x29, x30, [sp-8]
0028d364add sp, sp, 336
0028d368ret x30
0028d36c
0028d36cloc_28d36c:
0028d36cmov x0, x1
0028d370mov x1, x2
0028d374bl runtime.panicIndex
0028d378
0028d378loc_28d378:
0028d378bl runtime.panicSliceB
0028d37c
0028d37cloc_28d37c:
0028d37cbl runtime.panicSliceAcap
0028d380
0028d380loc_28d380:
0028d380bl runtime.panicSliceB
0028d384
0028d384loc_28d384:
0028d384bl runtime.panicSliceAcap
0028d388
0028d388loc_28d388:
0028d388mov x0, x2
0028d38cmov x1, x3
0028d390bl runtime.panicIndex
0028d394
0028d394loc_28d394:
0028d394bl runtime.panicSliceAcap
0028d398
0028d398loc_28d398:
0028d398mov x0, x4
0028d39cbl runtime.panicSliceB
0028d3a0
0028d3a0loc_28d3a0:
0028d3a0bl runtime.panicSliceAcap
0028d3a4
0028d3a4loc_28d3a4:
0028d3a4mov x0, x4
0028d3a8bl runtime.panicIndex
0028d3ac
0028d3acloc_28d3ac:
0028d3acmov x0, x4
0028d3b0bl runtime.panicIndex
0028d3b4
0028d3b4loc_28d3b4:
0028d3b4mov x0, x3
0028d3b8bl runtime.panicIndex
0028d3bc
0028d3bcloc_28d3bc:
0028d3bcmov x0, xzr
0028d3c0bl runtime.panicIndex
0028d3c4
0028d3c4loc_28d3c4:
0028d3c4orr x0, xzr, 1
0028d3c8bl runtime.panicIndex
0028d3cc
0028d3ccloc_28d3cc:
0028d3ccmov x0, xzr
0028d3d0bl runtime.panicIndex
0028d3d4
0028d3d4loc_28d3d4:
0028d3d4mov x0, xzr
0028d3d8bl runtime.panicIndex
0028d3dchint
0028d3e0
0028d3e0loc_28d3e0:
0028d3e0stp x0, x1, [sp+8]
0028d3e4stp x2, x3, [sp+24]
0028d3e8stp x4, x5, [sp+40]
0028d3ecmov x3, x30
0028d3f0bl runtime.morestack_noctxt.abi0
0028d3f4ldp x0, x1, [sp+8]
0028d3f8ldp x2, x3, [sp+24]
0028d3fcldp x4, x5, [sp+40]
0028d400b 0x28cf50
0028d404udf 0
0028d408udf 0
0028d40cudf 0
0028cf50
0028d410
0028d410math/big.karatsubaSqr: ; void math/big.karatsubaSqr(math/big.nat z, math/big.nat x)
0028d410ldr x16, [x28+16]
0028d414sub x17, sp, 256
0028d418subs xzr, x17, x16
0028d41cb.ls 0x28d9fc
0028d420sub x20, sp, 384
0028d424stp x29, x30, [x20-8]
0028d428add sp, x20, 0
0028d42csub x29, sp, 8
0028d430str x0, [sp+392]
0028d434str x1, [sp+400]
0028d438str x2, [sp+408]
0028d43cstr x3, [sp+416]
0028d440str x4, [sp+424]
0028d444str x5, [sp+432]
0028d448str x4, [sp+112]
0028d44cands xzr, x4, 1
0028d450cset x6, ne
0028d454strb w6, [sp+103]
0028d458tbnz w4, 0, 0x28d460
0028d45cb 0x28d464
0028d460
0028d460loc_28d460:
0028d460b 0x28d480
0028d464
0028d464loc_28d464:
0028d464ldr x6, [sp+112]
0028d468adrp x27, 0x733000
0028d46cldr x7, [x27+2024]
0028d470subs xzr, x7, x6
0028d474cset x6, gt
0028d478strb w6, [sp+103]
0028d47cb 0x28d480
0028d480
0028d480loc_28d480:
0028d480ldrb w6, [sp+103]
0028d484strb w6, [sp+102]
0028d488tbnz w6, 0, 0x28d490
0028d48cb 0x28d494
0028d490
0028d490loc_28d490:
0028d490b 0x28d4a8
0028d494
0028d494loc_28d494:
0028d494ldr x6, [sp+112]
0028d498subs xzr, x6, 2
0028d49ccset x6, lt
0028d4a0strb w6, [sp+102]
0028d4a4b 0x28d4a8
0028d4a8
0028d4a8loc_28d4a8:
0028d4a8ldrb w6, [sp+102]
0028d4actbnz w6, 0, 0x28d4b4
0028d4b0b 0x28d500
0028d4b4
0028d4b4loc_28d4b4:
0028d4b4ldr x6, [sp+112]
0028d4b8ubfm x1, x6, 63, 62
0028d4bcstr x1, [sp+152]
0028d4c0ldr x2, [sp+408]
0028d4c4ldr x0, [sp+392]
0028d4c8subs xzr, x2, x6, lsl #1
0028d4ccb.hs 0x28d4d4
0028d4d0b 0x28d9f4
0028d4d4
0028d4d4loc_28d4d4:
0028d4d4b 0x28d4d8
0028d4d8
0028d4d8loc_28d4d8:
0028d4d8str x0, [sp+352]
0028d4dcstr x1, [sp+360]
0028d4e0str x2, [sp+368]
0028d4e4ldr x3, [sp+416]
0028d4e8ldr x4, [sp+424]
0028d4ecldr x5, [sp+432]
0028d4f0bl math/big.basicSqr
0028d4f4ldp x29, x30, [sp-8]
0028d4f8add sp, sp, 384
0028d4fcret x30
0028d500
0028d500loc_28d500:
0028d500ldr x6, [sp+112]
0028d504sbfm x0, x6, 1, 63
0028d508str x0, [sp+104]
0028d50cldr x1, [sp+424]
0028d510ldr x7, [sp+416]
0028d514ldr x8, [sp+432]
0028d518b 0x28d51c
0028d51c
0028d51cloc_28d51c:
0028d51csubs xzr, x1, x6, asr #1
0028d520b.hs 0x28d528
0028d524b 0x28d9f0
0028d528
0028d528loc_28d528:
0028d528sub x8, x8, x6, asr #1
0028d52csub x6, x1, x6, asr #1
0028d530sub x9, xzr, x8
0028d534ubfm x10, x0, 61, 60
0028d538and x9, x10, x9, asr #63
0028d53cadd x7, x7, x9
0028d540str x7, [sp+352]
0028d544str x6, [sp+360]
0028d548str x8, [sp+368]
0028d54cldr x1, [sp+104]
0028d550ldr x2, [sp+432]
0028d554ldr x6, [sp+416]
0028d558subs xzr, x1, x2
0028d55cb.ls 0x28d564
0028d560b 0x28d9ec
0028d564
0028d564loc_28d564:
0028d564b 0x28d568
0028d568
0028d568loc_28d568:
0028d568str x6, [sp+328]
0028d56cstr x1, [sp+336]
0028d570str x2, [sp+344]
0028d574ldr x6, [sp+352]
0028d578ldr x7, [sp+360]
0028d57cldr x8, [sp+368]
0028d580str x6, [sp+184]
0028d584str x7, [sp+192]
0028d588str x8, [sp+200]
0028d58cldr x3, [sp+328]
0028d590ldr x4, [sp+336]
0028d594ldr x5, [sp+344]
0028d598str x3, [sp+208]
0028d59cstr x4, [sp+216]
0028d5a0str x5, [sp+224]
0028d5a4ldr x0, [sp+392]
0028d5a8ldr x1, [sp+400]
0028d5acldr x2, [sp+408]
0028d5b0bl math/big.karatsubaSqr
0028d5b4ldr x0, [sp+112]
0028d5b8ldr x1, [sp+400]
0028d5bcldr x6, [sp+392]
0028d5c0ldr x7, [sp+408]
0028d5c4b 0x28d5c8
0028d5c8
0028d5c8loc_28d5c8:
0028d5c8subs xzr, x1, x0
0028d5ccb.hs 0x28d5d4
0028d5d0b 0x28d9e8
0028d5d4
0028d5d4loc_28d5d4:
0028d5d4sub x2, x7, x0
0028d5d8sub x1, x1, x0
0028d5dcsub x7, xzr, x2
0028d5e0ubfm x8, x0, 61, 60
0028d5e4and x7, x8, x7, asr #63
0028d5e8add x0, x6, x7
0028d5ecstr x0, [sp+328]
0028d5f0str x1, [sp+336]
0028d5f4str x2, [sp+344]
0028d5f8ldr x3, [sp+184]
0028d5fcldr x4, [sp+192]
0028d600ldr x5, [sp+200]
0028d604bl math/big.karatsubaSqr
0028d608ldr x6, [sp+112]
0028d60cubfm x0, x6, 63, 62
0028d610str x0, [sp+152]
0028d614ldr x7, [sp+112]
0028d618ldr x8, [sp+104]
0028d61cadd x1, x8, x7, lsl #1
0028d620str x1, [sp+144]
0028d624ldr x2, [sp+408]
0028d628ldr x7, [sp+392]
0028d62csubs xzr, x2, x1
0028d630b.hs 0x28d638
0028d634b 0x28d9e4
0028d638
0028d638loc_28d638:
0028d638subs xzr, x1, x6, lsl #1
0028d63cb.hs 0x28d644
0028d640b 0x28d9e0
0028d644
0028d644loc_28d644:
0028d644sub x0, x2, x6, lsl #1
0028d648sub x1, x1, x6, lsl #1
0028d64csub x2, xzr, x0
0028d650ubfm x3, x6, 60, 59
0028d654and x2, x3, x2, asr #63
0028d658add x2, x7, x2
0028d65cstr x2, [sp+160]
0028d660str x1, [sp+168]
0028d664str x0, [sp+176]
0028d668ldr x3, [sp+184]
0028d66cldr x4, [sp+192]
0028d670ldr x5, [sp+200]
0028d674ldr x6, [sp+208]
0028d678ldr x7, [sp+216]
0028d67cldr x8, [sp+224]
0028d680str x2, [sp+8]
0028d684str x1, [sp+16]
0028d688str x0, [sp+24]
0028d68cstr x3, [sp+32]
0028d690str x4, [sp+40]
0028d694str x5, [sp+48]
0028d698str x6, [sp+56]
0028d69cstr x7, [sp+64]
0028d6a0str x8, [sp+72]
0028d6a4bl math/big.subVV.abi0
0028d6a8ldr x0, [sp+80]
0028d6acstr x0, [sp+136]
0028d6b0cbnz x0, 0x28d6b8
0028d6b4b 0x28d708
0028d6b8
0028d6b8loc_28d6b8:
0028d6b8ldr x0, [sp+160]
0028d6bcldr x1, [sp+168]
0028d6c0ldr x2, [sp+176]
0028d6c4ldr x3, [sp+208]
0028d6c8ldr x4, [sp+216]
0028d6ccldr x5, [sp+224]
0028d6d0ldr x6, [sp+184]
0028d6d4ldr x7, [sp+192]
0028d6d8ldr x8, [sp+200]
0028d6dcstr x0, [sp+8]
0028d6e0str x1, [sp+16]
0028d6e4str x2, [sp+24]
0028d6e8str x3, [sp+32]
0028d6ecstr x4, [sp+40]
0028d6f0str x5, [sp+48]
0028d6f4str x6, [sp+56]
0028d6f8str x7, [sp+64]
0028d6fcstr x8, [sp+72]
0028d700bl math/big.subVV.abi0
0028d704b 0x28d70c
0028d708
0028d708loc_28d708:
0028d708b 0x28d70c
0028d70c
0028d70cloc_28d70c:
0028d70cldr x6, [sp+112]
0028d710add x0, x6, x6, lsl #1
0028d714str x0, [sp+144]
0028d718ldr x1, [sp+400]
0028d71cldr x6, [sp+392]
0028d720ldr x7, [sp+408]
0028d724b 0x28d728
0028d728
0028d728loc_28d728:
0028d728subs xzr, x1, x0
0028d72cb.hs 0x28d734
0028d730b 0x28d9dc
0028d734
0028d734loc_28d734:
0028d734sub x2, x7, x0
0028d738sub x1, x1, x0
0028d73csub x7, xzr, x2
0028d740ubfm x8, x0, 61, 60
0028d744and x7, x8, x7, asr #63
0028d748add x0, x6, x7
0028d74cstr x0, [sp+256]
0028d750str x1, [sp+264]
0028d754str x2, [sp+272]
0028d758ldr x4, [sp+168]
0028d75cldr x5, [sp+176]
0028d760ldr x3, [sp+160]
0028d764bl math/big.karatsubaSqr
0028d768ldr x6, [sp+112]
0028d76cubfm x0, x6, 62, 61
0028d770str x0, [sp+144]
0028d774ldr x1, [sp+400]
0028d778ldr x7, [sp+392]
0028d77cldr x8, [sp+408]
0028d780b 0x28d784
0028d784
0028d784loc_28d784:
0028d784subs xzr, x1, x6, lsl #2
0028d788b.hs 0x28d790
0028d78cb 0x28d9d8
0028d790
0028d790loc_28d790:
0028d790sub x8, x8, x6, lsl #2
0028d794sub x9, x1, x6, lsl #2
0028d798sub x10, xzr, x8
0028d79cubfm x11, x6, 59, 58
0028d7a0and x10, x11, x10, asr #63
0028d7a4add x7, x7, x10
0028d7a8str x7, [sp+232]
0028d7acstr x9, [sp+240]
0028d7b0str x8, [sp+248]
0028d7b4ldr x7, [sp+112]
0028d7b8ubfm x1, x7, 63, 62
0028d7bcstr x1, [sp+144]
0028d7c0ldr x2, [sp+408]
0028d7c4ldr x8, [sp+392]
0028d7c8subs xzr, x2, x7, lsl #1
0028d7ccb.hs 0x28d7d4
0028d7d0b 0x28d9d4
0028d7d4
0028d7d4loc_28d7d4:
0028d7d4b 0x28d7d8
0028d7d8
0028d7d8loc_28d7d8:
0028d7d8str x8, [sp+328]
0028d7dcstr x1, [sp+336]
0028d7e0str x2, [sp+344]
0028d7e4ldr x7, [sp+232]
0028d7e8ldr x8, [sp+240]
0028d7ecldr x9, [sp+248]
0028d7f0str x7, [sp+304]
0028d7f4str x8, [sp+312]
0028d7f8str x9, [sp+320]
0028d7fcldr x7, [sp+336]
0028d800ldr x8, [sp+328]
0028d804ldr x9, [sp+344]
0028d808str x8, [sp+280]
0028d80cstr x7, [sp+288]
0028d810str x9, [sp+296]
0028d814ldr x8, [sp+312]
0028d818str x8, [sp+128]
0028d81csubs xzr, x8, x7
0028d820b.gt 0x28d828
0028d824b 0x28d830
0028d828
0028d828loc_28d828:
0028d828str x7, [sp+128]
0028d82cb 0x28d834
0028d830
0028d830loc_28d830:
0028d830b 0x28d834
0028d834
0028d834loc_28d834:
0028d834ldr x7, [sp+280]
0028d838ldr x8, [sp+304]
0028d83csubs xzr, x7, x8
0028d840b.ne 0x28d848
0028d844b 0x28d868
0028d848
0028d848loc_28d848:
0028d848ldr x3, [sp+128]
0028d84cstr x3, [sp+120]
0028d850ldr x3, [sp+120]
0028d854ubfm x2, x3, 61, 60
0028d858ldr x0, [sp+304]
0028d85cldr x1, [sp+280]
0028d860bl runtime.memmove
0028d864b 0x28d86c
0028d868
0028d868loc_28d868:
0028d868b 0x28d86c
0028d86c
0028d86cloc_28d86c:
0028d86cldr x0, [sp+104]
0028d870ldr x1, [sp+400]
0028d874ldr x7, [sp+392]
0028d878ldr x8, [sp+408]
0028d87cb 0x28d880
0028d880
0028d880loc_28d880:
0028d880subs xzr, x1, x0
0028d884b.hs 0x28d88c
0028d888b 0x28d9d0
0028d88c
0028d88cloc_28d88c:
0028d88csub x2, x8, x0
0028d890sub x1, x1, x0
0028d894sub x8, xzr, x2
0028d898ubfm x9, x0, 61, 60
0028d89cand x8, x9, x8, asr #63
0028d8a0add x0, x7, x8
0028d8a4str x0, [sp+328]
0028d8a8str x1, [sp+336]
0028d8acstr x2, [sp+344]
0028d8b0ldr x6, [sp+112]
0028d8b4ldr x3, [sp+232]
0028d8b8ldr x4, [sp+240]
0028d8bcldr x5, [sp+248]
0028d8c0bl math/big.karatsubaAdd
0028d8c4ldr x0, [sp+104]
0028d8c8ldr x1, [sp+400]
0028d8ccldr x7, [sp+392]
0028d8d0ldr x8, [sp+408]
0028d8d4b 0x28d8d8
0028d8d8
0028d8d8loc_28d8d8:
0028d8d8subs xzr, x1, x0
0028d8dcb.hs 0x28d8e4
0028d8e0b 0x28d9cc
0028d8e4
0028d8e4loc_28d8e4:
0028d8e4sub x8, x8, x0
0028d8e8sub x9, x1, x0
0028d8ecsub x10, xzr, x8
0028d8f0ubfm x11, x0, 61, 60
0028d8f4and x10, x11, x10, asr #63
0028d8f8add x7, x7, x10
0028d8fcstr x7, [sp+328]
0028d900str x9, [sp+336]
0028d904str x8, [sp+344]
0028d908ldr x0, [sp+112]
0028d90cldr x1, [sp+240]
0028d910ldr x7, [sp+232]
0028d914ldr x8, [sp+248]
0028d918b 0x28d91c
0028d91c
0028d91cloc_28d91c:
0028d91csubs xzr, x1, x0
0028d920b.hs 0x28d928
0028d924b 0x28d9c8
0028d928
0028d928loc_28d928:
0028d928sub x5, x8, x0
0028d92csub x4, x1, x0
0028d930sub x8, xzr, x5
0028d934ubfm x9, x0, 61, 60
0028d938and x8, x9, x8, asr #63
0028d93cadd x3, x7, x8
0028d940str x3, [sp+352]
0028d944str x4, [sp+360]
0028d948str x5, [sp+368]
0028d94cldr x6, [sp+112]
0028d950ldr x0, [sp+328]
0028d954ldr x1, [sp+336]
0028d958ldr x2, [sp+344]
0028d95cbl math/big.karatsubaAdd
0028d960ldr x0, [sp+104]
0028d964ldr x1, [sp+400]
0028d968ldr x7, [sp+392]
0028d96cldr x8, [sp+408]
0028d970b 0x28d974
0028d974
0028d974loc_28d974:
0028d974subs xzr, x1, x0
0028d978b.hs 0x28d980
0028d97cb 0x28d9c4
0028d980
0028d980loc_28d980:
0028d980sub x2, x8, x0
0028d984sub x1, x1, x0
0028d988sub x8, xzr, x2
0028d98cubfm x9, x0, 61, 60
0028d990and x8, x9, x8, asr #63
0028d994add x0, x7, x8
0028d998str x0, [sp+352]
0028d99cstr x1, [sp+360]
0028d9a0str x2, [sp+368]
0028d9a4ldr x6, [sp+112]
0028d9a8ldr x3, [sp+256]
0028d9acldr x4, [sp+264]
0028d9b0ldr x5, [sp+272]
0028d9b4bl math/big.karatsubaSub
0028d9b8ldp x29, x30, [sp-8]
0028d9bcadd sp, sp, 384
0028d9c0ret x30
0028d9c4
0028d9c4loc_28d9c4:
0028d9c4bl runtime.panicSliceB
0028d9c8
0028d9c8loc_28d9c8:
0028d9c8bl runtime.panicSliceB
0028d9cc
0028d9ccloc_28d9cc:
0028d9ccbl runtime.panicSliceB
0028d9d0
0028d9d0loc_28d9d0:
0028d9d0bl runtime.panicSliceB
0028d9d4
0028d9d4loc_28d9d4:
0028d9d4bl runtime.panicSliceAcap
0028d9d8
0028d9d8loc_28d9d8:
0028d9d8bl runtime.panicSliceB
0028d9dc
0028d9dcloc_28d9dc:
0028d9dcbl runtime.panicSliceB
0028d9e0
0028d9e0loc_28d9e0:
0028d9e0bl runtime.panicSliceB
0028d9e4
0028d9e4loc_28d9e4:
0028d9e4bl runtime.panicSliceAcap
0028d9e8
0028d9e8loc_28d9e8:
0028d9e8bl runtime.panicSliceB
0028d9ec
0028d9ecloc_28d9ec:
0028d9ecbl runtime.panicSliceAcap
0028d9f0
0028d9f0loc_28d9f0:
0028d9f0bl runtime.panicSliceB
0028d9f4
0028d9f4loc_28d9f4:
0028d9f4bl runtime.panicSliceAcap
0028d9f8hint
0028d9fc
0028d9fcloc_28d9fc:
0028d9fcstp x0, x1, [sp+8]
0028da00stp x2, x3, [sp+24]
0028da04stp x4, x5, [sp+40]
0028da08mov x3, x30
0028da0cbl runtime.morestack_noctxt.abi0
0028da10ldp x0, x1, [sp+8]
0028da14ldp x2, x3, [sp+24]
0028da18ldp x4, x5, [sp+40]
0028da1cb 0x28d410
0028d410
0028d410math/big.karatsubaSqr: ; void math/big.karatsubaSqr(math/big.nat z, math/big.nat x)
0028d410ldr x16, [x28+16]
0028d414sub x17, sp, 256
0028d418subs xzr, x17, x16
0028d41cb.ls 0x28d9fc
0028d420sub x20, sp, 384
0028d424stp x29, x30, [x20-8]
0028d428add sp, x20, 0
0028d42csub x29, sp, 8
0028d430str x0, [sp+392]
0028d434str x1, [sp+400]
0028d438str x2, [sp+408]
0028d43cstr x3, [sp+416]
0028d440str x4, [sp+424]
0028d444str x5, [sp+432]
0028d448str x4, [sp+112]
0028d44cands xzr, x4, 1
0028d450cset x6, ne
0028d454strb w6, [sp+103]
0028d458tbnz w4, 0, 0x28d460
0028d45cb 0x28d464
0028d460
0028d460loc_28d460:
0028d460b 0x28d480
0028d464
0028d464loc_28d464:
0028d464ldr x6, [sp+112]
0028d468adrp x27, 0x733000
0028d46cldr x7, [x27+2024]
0028d470subs xzr, x7, x6
0028d474cset x6, gt
0028d478strb w6, [sp+103]
0028d47cb 0x28d480
0028d480
0028d480loc_28d480:
0028d480ldrb w6, [sp+103]
0028d484strb w6, [sp+102]
0028d488tbnz w6, 0, 0x28d490
0028d48cb 0x28d494
0028d490
0028d490loc_28d490:
0028d490b 0x28d4a8
0028d494
0028d494loc_28d494:
0028d494ldr x6, [sp+112]
0028d498subs xzr, x6, 2
0028d49ccset x6, lt
0028d4a0strb w6, [sp+102]
0028d4a4b 0x28d4a8
0028d4a8
0028d4a8loc_28d4a8:
0028d4a8ldrb w6, [sp+102]
0028d4actbnz w6, 0, 0x28d4b4
0028d4b0b 0x28d500
0028d4b4
0028d4b4loc_28d4b4:
0028d4b4ldr x6, [sp+112]
0028d4b8ubfm x1, x6, 63, 62
0028d4bcstr x1, [sp+152]
0028d4c0ldr x2, [sp+408]
0028d4c4ldr x0, [sp+392]
0028d4c8subs xzr, x2, x6, lsl #1
0028d4ccb.hs 0x28d4d4
0028d4d0b 0x28d9f4
0028d4d4
0028d4d4loc_28d4d4:
0028d4d4b 0x28d4d8
0028d4d8
0028d4d8loc_28d4d8:
0028d4d8str x0, [sp+352]
0028d4dcstr x1, [sp+360]
0028d4e0str x2, [sp+368]
0028d4e4ldr x3, [sp+416]
0028d4e8ldr x4, [sp+424]
0028d4ecldr x5, [sp+432]
0028d4f0bl math/big.basicSqr
0028d4f4ldp x29, x30, [sp-8]
0028d4f8add sp, sp, 384
0028d4fcret x30
0028d500
0028d500loc_28d500:
0028d500ldr x6, [sp+112]
0028d504sbfm x0, x6, 1, 63
0028d508str x0, [sp+104]
0028d50cldr x1, [sp+424]
0028d510ldr x7, [sp+416]
0028d514ldr x8, [sp+432]
0028d518b 0x28d51c
0028d51c
0028d51cloc_28d51c:
0028d51csubs xzr, x1, x6, asr #1
0028d520b.hs 0x28d528
0028d524b 0x28d9f0
0028d528
0028d528loc_28d528:
0028d528sub x8, x8, x6, asr #1
0028d52csub x6, x1, x6, asr #1
0028d530sub x9, xzr, x8
0028d534ubfm x10, x0, 61, 60
0028d538and x9, x10, x9, asr #63
0028d53cadd x7, x7, x9
0028d540str x7, [sp+352]
0028d544str x6, [sp+360]
0028d548str x8, [sp+368]
0028d54cldr x1, [sp+104]
0028d550ldr x2, [sp+432]
0028d554ldr x6, [sp+416]
0028d558subs xzr, x1, x2
0028d55cb.ls 0x28d564
0028d560b 0x28d9ec
0028d564
0028d564loc_28d564:
0028d564b 0x28d568
0028d568
0028d568loc_28d568:
0028d568str x6, [sp+328]
0028d56cstr x1, [sp+336]
0028d570str x2, [sp+344]
0028d574ldr x6, [sp+352]
0028d578ldr x7, [sp+360]
0028d57cldr x8, [sp+368]
0028d580str x6, [sp+184]
0028d584str x7, [sp+192]
0028d588str x8, [sp+200]
0028d58cldr x3, [sp+328]
0028d590ldr x4, [sp+336]
0028d594ldr x5, [sp+344]
0028d598str x3, [sp+208]
0028d59cstr x4, [sp+216]
0028d5a0str x5, [sp+224]
0028d5a4ldr x0, [sp+392]
0028d5a8ldr x1, [sp+400]
0028d5acldr x2, [sp+408]
0028d5b0bl math/big.karatsubaSqr
0028d5b4ldr x0, [sp+112]
0028d5b8ldr x1, [sp+400]
0028d5bcldr x6, [sp+392]
0028d5c0ldr x7, [sp+408]
0028d5c4b 0x28d5c8
0028d5c8
0028d5c8loc_28d5c8:
0028d5c8subs xzr, x1, x0
0028d5ccb.hs 0x28d5d4
0028d5d0b 0x28d9e8
0028d5d4
0028d5d4loc_28d5d4:
0028d5d4sub x2, x7, x0
0028d5d8sub x1, x1, x0
0028d5dcsub x7, xzr, x2
0028d5e0ubfm x8, x0, 61, 60
0028d5e4and x7, x8, x7, asr #63
0028d5e8add x0, x6, x7
0028d5ecstr x0, [sp+328]
0028d5f0str x1, [sp+336]
0028d5f4str x2, [sp+344]
0028d5f8ldr x3, [sp+184]
0028d5fcldr x4, [sp+192]
0028d600ldr x5, [sp+200]
0028d604bl math/big.karatsubaSqr
0028d608ldr x6, [sp+112]
0028d60cubfm x0, x6, 63, 62
0028d610str x0, [sp+152]
0028d614ldr x7, [sp+112]
0028d618ldr x8, [sp+104]
0028d61cadd x1, x8, x7, lsl #1
0028d620str x1, [sp+144]
0028d624ldr x2, [sp+408]
0028d628ldr x7, [sp+392]
0028d62csubs xzr, x2, x1
0028d630b.hs 0x28d638
0028d634b 0x28d9e4
0028d638
0028d638loc_28d638:
0028d638subs xzr, x1, x6, lsl #1
0028d63cb.hs 0x28d644
0028d640b 0x28d9e0
0028d644
0028d644loc_28d644:
0028d644sub x0, x2, x6, lsl #1
0028d648sub x1, x1, x6, lsl #1
0028d64csub x2, xzr, x0
0028d650ubfm x3, x6, 60, 59
0028d654and x2, x3, x2, asr #63
0028d658add x2, x7, x2
0028d65cstr x2, [sp+160]
0028d660str x1, [sp+168]
0028d664str x0, [sp+176]
0028d668ldr x3, [sp+184]
0028d66cldr x4, [sp+192]
0028d670ldr x5, [sp+200]
0028d674ldr x6, [sp+208]
0028d678ldr x7, [sp+216]
0028d67cldr x8, [sp+224]
0028d680str x2, [sp+8]
0028d684str x1, [sp+16]
0028d688str x0, [sp+24]
0028d68cstr x3, [sp+32]
0028d690str x4, [sp+40]
0028d694str x5, [sp+48]
0028d698str x6, [sp+56]
0028d69cstr x7, [sp+64]
0028d6a0str x8, [sp+72]
0028d6a4bl math/big.subVV.abi0
0028d6a8ldr x0, [sp+80]
0028d6acstr x0, [sp+136]
0028d6b0cbnz x0, 0x28d6b8
0028d6b4b 0x28d708
0028d6b8
0028d6b8loc_28d6b8:
0028d6b8ldr x0, [sp+160]
0028d6bcldr x1, [sp+168]
0028d6c0ldr x2, [sp+176]
0028d6c4ldr x3, [sp+208]
0028d6c8ldr x4, [sp+216]
0028d6ccldr x5, [sp+224]
0028d6d0ldr x6, [sp+184]
0028d6d4ldr x7, [sp+192]
0028d6d8ldr x8, [sp+200]
0028d6dcstr x0, [sp+8]
0028d6e0str x1, [sp+16]
0028d6e4str x2, [sp+24]
0028d6e8str x3, [sp+32]
0028d6ecstr x4, [sp+40]
0028d6f0str x5, [sp+48]
0028d6f4str x6, [sp+56]
0028d6f8str x7, [sp+64]
0028d6fcstr x8, [sp+72]
0028d700bl math/big.subVV.abi0
0028d704b 0x28d70c
0028d708
0028d708loc_28d708:
0028d708b 0x28d70c
0028d70c
0028d70cloc_28d70c:
0028d70cldr x6, [sp+112]
0028d710add x0, x6, x6, lsl #1
0028d714str x0, [sp+144]
0028d718ldr x1, [sp+400]
0028d71cldr x6, [sp+392]
0028d720ldr x7, [sp+408]
0028d724b 0x28d728
0028d728
0028d728loc_28d728:
0028d728subs xzr, x1, x0
0028d72cb.hs 0x28d734
0028d730b 0x28d9dc
0028d734
0028d734loc_28d734:
0028d734sub x2, x7, x0
0028d738sub x1, x1, x0
0028d73csub x7, xzr, x2
0028d740ubfm x8, x0, 61, 60
0028d744and x7, x8, x7, asr #63
0028d748add x0, x6, x7
0028d74cstr x0, [sp+256]
0028d750str x1, [sp+264]
0028d754str x2, [sp+272]
0028d758ldr x4, [sp+168]
0028d75cldr x5, [sp+176]
0028d760ldr x3, [sp+160]
0028d764bl math/big.karatsubaSqr
0028d768ldr x6, [sp+112]
0028d76cubfm x0, x6, 62, 61
0028d770str x0, [sp+144]
0028d774ldr x1, [sp+400]
0028d778ldr x7, [sp+392]
0028d77cldr x8, [sp+408]
0028d780b 0x28d784
0028d784
0028d784loc_28d784:
0028d784subs xzr, x1, x6, lsl #2
0028d788b.hs 0x28d790
0028d78cb 0x28d9d8
0028d790
0028d790loc_28d790:
0028d790sub x8, x8, x6, lsl #2
0028d794sub x9, x1, x6, lsl #2
0028d798sub x10, xzr, x8
0028d79cubfm x11, x6, 59, 58
0028d7a0and x10, x11, x10, asr #63
0028d7a4add x7, x7, x10
0028d7a8str x7, [sp+232]
0028d7acstr x9, [sp+240]
0028d7b0str x8, [sp+248]
0028d7b4ldr x7, [sp+112]
0028d7b8ubfm x1, x7, 63, 62
0028d7bcstr x1, [sp+144]
0028d7c0ldr x2, [sp+408]
0028d7c4ldr x8, [sp+392]
0028d7c8subs xzr, x2, x7, lsl #1
0028d7ccb.hs 0x28d7d4
0028d7d0b 0x28d9d4
0028d7d4
0028d7d4loc_28d7d4:
0028d7d4b 0x28d7d8
0028d7d8
0028d7d8loc_28d7d8:
0028d7d8str x8, [sp+328]
0028d7dcstr x1, [sp+336]
0028d7e0str x2, [sp+344]
0028d7e4ldr x7, [sp+232]
0028d7e8ldr x8, [sp+240]
0028d7ecldr x9, [sp+248]
0028d7f0str x7, [sp+304]
0028d7f4str x8, [sp+312]
0028d7f8str x9, [sp+320]
0028d7fcldr x7, [sp+336]
0028d800ldr x8, [sp+328]
0028d804ldr x9, [sp+344]
0028d808str x8, [sp+280]
0028d80cstr x7, [sp+288]
0028d810str x9, [sp+296]
0028d814ldr x8, [sp+312]
0028d818str x8, [sp+128]
0028d81csubs xzr, x8, x7
0028d820b.gt 0x28d828
0028d824b 0x28d830
0028d828
0028d828loc_28d828:
0028d828str x7, [sp+128]
0028d82cb 0x28d834
0028d830
0028d830loc_28d830:
0028d830b 0x28d834
0028d834
0028d834loc_28d834:
0028d834ldr x7, [sp+280]
0028d838ldr x8, [sp+304]
0028d83csubs xzr, x7, x8
0028d840b.ne 0x28d848
0028d844b 0x28d868
0028d848
0028d848loc_28d848:
0028d848ldr x3, [sp+128]
0028d84cstr x3, [sp+120]
0028d850ldr x3, [sp+120]
0028d854ubfm x2, x3, 61, 60
0028d858ldr x0, [sp+304]
0028d85cldr x1, [sp+280]
0028d860bl runtime.memmove
0028d864b 0x28d86c
0028d868
0028d868loc_28d868:
0028d868b 0x28d86c
0028d86c
0028d86cloc_28d86c:
0028d86cldr x0, [sp+104]
0028d870ldr x1, [sp+400]
0028d874ldr x7, [sp+392]
0028d878ldr x8, [sp+408]
0028d87cb 0x28d880
0028d880
0028d880loc_28d880:
0028d880subs xzr, x1, x0
0028d884b.hs 0x28d88c
0028d888b 0x28d9d0
0028d88c
0028d88cloc_28d88c:
0028d88csub x2, x8, x0
0028d890sub x1, x1, x0
0028d894sub x8, xzr, x2
0028d898ubfm x9, x0, 61, 60
0028d89cand x8, x9, x8, asr #63
0028d8a0add x0, x7, x8
0028d8a4str x0, [sp+328]
0028d8a8str x1, [sp+336]
0028d8acstr x2, [sp+344]
0028d8b0ldr x6, [sp+112]
0028d8b4ldr x3, [sp+232]
0028d8b8ldr x4, [sp+240]
0028d8bcldr x5, [sp+248]
0028d8c0bl math/big.karatsubaAdd
0028d8c4ldr x0, [sp+104]
0028d8c8ldr x1, [sp+400]
0028d8ccldr x7, [sp+392]
0028d8d0ldr x8, [sp+408]
0028d8d4b 0x28d8d8
0028d8d8
0028d8d8loc_28d8d8:
0028d8d8subs xzr, x1, x0
0028d8dcb.hs 0x28d8e4
0028d8e0b 0x28d9cc
0028d8e4
0028d8e4loc_28d8e4:
0028d8e4sub x8, x8, x0
0028d8e8sub x9, x1, x0
0028d8ecsub x10, xzr, x8
0028d8f0ubfm x11, x0, 61, 60
0028d8f4and x10, x11, x10, asr #63
0028d8f8add x7, x7, x10
0028d8fcstr x7, [sp+328]
0028d900str x9, [sp+336]
0028d904str x8, [sp+344]
0028d908ldr x0, [sp+112]
0028d90cldr x1, [sp+240]
0028d910ldr x7, [sp+232]
0028d914ldr x8, [sp+248]
0028d918b 0x28d91c
0028d91c
0028d91cloc_28d91c:
0028d91csubs xzr, x1, x0
0028d920b.hs 0x28d928
0028d924b 0x28d9c8
0028d928
0028d928loc_28d928:
0028d928sub x5, x8, x0
0028d92csub x4, x1, x0
0028d930sub x8, xzr, x5
0028d934ubfm x9, x0, 61, 60
0028d938and x8, x9, x8, asr #63
0028d93cadd x3, x7, x8
0028d940str x3, [sp+352]
0028d944str x4, [sp+360]
0028d948str x5, [sp+368]
0028d94cldr x6, [sp+112]
0028d950ldr x0, [sp+328]
0028d954ldr x1, [sp+336]
0028d958ldr x2, [sp+344]
0028d95cbl math/big.karatsubaAdd
0028d960ldr x0, [sp+104]
0028d964ldr x1, [sp+400]
0028d968ldr x7, [sp+392]
0028d96cldr x8, [sp+408]
0028d970b 0x28d974
0028d974
0028d974loc_28d974:
0028d974subs xzr, x1, x0
0028d978b.hs 0x28d980
0028d97cb 0x28d9c4
0028d980
0028d980loc_28d980:
0028d980sub x2, x8, x0
0028d984sub x1, x1, x0
0028d988sub x8, xzr, x2
0028d98cubfm x9, x0, 61, 60
0028d990and x8, x9, x8, asr #63
0028d994add x0, x7, x8
0028d998str x0, [sp+352]
0028d99cstr x1, [sp+360]
0028d9a0str x2, [sp+368]
0028d9a4ldr x6, [sp+112]
0028d9a8ldr x3, [sp+256]
0028d9acldr x4, [sp+264]
0028d9b0ldr x5, [sp+272]
0028d9b4bl math/big.karatsubaSub
0028d9b8ldp x29, x30, [sp-8]
0028d9bcadd sp, sp, 384
0028d9c0ret x30
0028d9c4
0028d9c4loc_28d9c4:
0028d9c4bl runtime.panicSliceB
0028d9c8
0028d9c8loc_28d9c8:
0028d9c8bl runtime.panicSliceB
0028d9cc
0028d9ccloc_28d9cc:
0028d9ccbl runtime.panicSliceB
0028d9d0
0028d9d0loc_28d9d0:
0028d9d0bl runtime.panicSliceB
0028d9d4
0028d9d4loc_28d9d4:
0028d9d4bl runtime.panicSliceAcap
0028d9d8
0028d9d8loc_28d9d8:
0028d9d8bl runtime.panicSliceB
0028d9dc
0028d9dcloc_28d9dc:
0028d9dcbl runtime.panicSliceB
0028d9e0
0028d9e0loc_28d9e0:
0028d9e0bl runtime.panicSliceB
0028d9e4
0028d9e4loc_28d9e4:
0028d9e4bl runtime.panicSliceAcap
0028d9e8
0028d9e8loc_28d9e8:
0028d9e8bl runtime.panicSliceB
0028d9ec
0028d9ecloc_28d9ec:
0028d9ecbl runtime.panicSliceAcap
0028d9f0
0028d9f0loc_28d9f0:
0028d9f0bl runtime.panicSliceB
0028d9f4
0028d9f4loc_28d9f4:
0028d9f4bl runtime.panicSliceAcap
0028d9f8hint
0028d9fc
0028d9fcloc_28d9fc:
0028d9fcstp x0, x1, [sp+8]
0028da00stp x2, x3, [sp+24]
0028da04stp x4, x5, [sp+40]
0028da08mov x3, x30
0028da0cbl runtime.morestack_noctxt.abi0
0028da10ldp x0, x1, [sp+8]
0028da14ldp x2, x3, [sp+24]
0028da18ldp x4, x5, [sp+40]
0028da1cb 0x28d410
0028d410
0028da20
0028da20math/big.nat.sqr: ; void math/big.nat.sqr(math/big.nat z, math/big.nat x)
0028da20ldr x16, [x28+16]
0028da24sub x17, sp, 208
0028da28subs xzr, x17, x16
0028da2cb.ls 0x28dfd8
0028da30sub x20, sp, 336
0028da34stp x29, x30, [x20-8]
0028da38add sp, x20, 0
0028da3csub x29, sp, 8
0028da40str x0, [sp+344]
0028da44str x1, [sp+352]
0028da48str x2, [sp+360]
0028da4cstr x3, [sp+368]
0028da50str x4, [sp+376]
0028da54str x5, [sp+384]
0028da58str xzr, [sp+168]
0028da5cstp xzr, xzr, [sp+176]
0028da60ldr x6, [sp+376]
0028da64str x6, [sp+96]
0028da68cbz x6, 0x28da70
0028da6cb 0x28daac
0028da70
0028da70loc_28da70:
0028da70b 0x28da74
0028da74
0028da74loc_28da74:
0028da74ldr x0, [sp+344]
0028da78ldr x2, [sp+360]
0028da7cb 0x28da80
0028da80
0028da80loc_28da80:
0028da80b 0x28da84
0028da84
0028da84loc_28da84:
0028da84str x0, [sp+304]
0028da88str xzr, [sp+312]
0028da8cstr x2, [sp+320]
0028da90str x0, [sp+168]
0028da94str xzr, [sp+176]
0028da98str x2, [sp+184]
0028da9cmov x1, xzr
0028daa0ldp x29, x30, [sp-8]
0028daa4add sp, sp, 336
0028daa8ret x30
0028daac
0028daacloc_28daac:
0028daacsubs xzr, x6, 1
0028dab0b.eq 0x28dab8
0028dab4b 0x28db80
0028dab8
0028dab8loc_28dab8:
0028dab8b 0x28dabc
0028dabc
0028dabcloc_28dabc:
0028dabcldr x1, [sp+376]
0028dac0ldr x4, [sp+368]
0028dac4subs xzr, x1, 0
0028dac8b.hi 0x28dad0
0028daccb 0x28dfcc
0028dad0
0028dad0loc_28dad0:
0028dad0ldr x4, [x4]
0028dad4str x4, [sp+112]
0028dad8ldr x0, [sp+344]
0028dadcldr x1, [sp+352]
0028dae0ldr x2, [sp+360]
0028dae4orr x3, xzr, 2
0028dae8bl math/big.nat.make
0028daecstr x0, [sp+344]
0028daf0str x1, [sp+352]
0028daf4str x2, [sp+360]
0028daf8ldr x4, [sp+112]
0028dafcldr x5, [sp+112]
0028db00umulh x6, x5, x4
0028db04str x6, [sp+160]
0028db08madd x4, x5, x4, xzr
0028db0cstr x4, [sp+152]
0028db10str x6, [sp+128]
0028db14str x4, [sp+120]
0028db18ldr x1, [sp+352]
0028db1cldr x4, [sp+344]
0028db20subs xzr, x1, 1
0028db24b.hi 0x28db2c
0028db28b 0x28dfc4
0028db2c
0028db2cloc_28db2c:
0028db2cstr x6, [x4+8]
0028db30ldr x1, [sp+352]
0028db34ldr x3, [sp+344]
0028db38ldr x4, [sp+120]
0028db3csubs xzr, x1, 0
0028db40b.hi 0x28db48
0028db44b 0x28dfbc
0028db48
0028db48loc_28db48:
0028db48str x4, [x3]
0028db4cldr x0, [sp+344]
0028db50ldr x1, [sp+352]
0028db54ldr x2, [sp+360]
0028db58bl math/big.nat.norm
0028db5cstr x0, [sp+304]
0028db60str x1, [sp+312]
0028db64str x2, [sp+320]
0028db68str x0, [sp+168]
0028db6cstr x1, [sp+176]
0028db70str x2, [sp+184]
0028db74ldp x29, x30, [sp-8]
0028db78add sp, sp, 336
0028db7cret x30
0028db80
0028db80loc_28db80:
0028db80b 0x28db84
0028db84
0028db84loc_28db84:
0028db84ldr x0, [sp+344]
0028db88ldr x3, [sp+368]
0028db8cldr x1, [sp+352]
0028db90ldr x4, [sp+376]
0028db94ldr x2, [sp+360]
0028db98ldr x5, [sp+384]
0028db9cbl math/big.alias
0028dba0strb w0, [sp+95]
0028dba4tbnz w0, 0, 0x28dbac
0028dba8b 0x28dbb8
0028dbac
0028dbacloc_28dbac:
0028dbacstr xzr, [sp+344]
0028dbb0stp xzr, xzr, [sp+352]
0028dbb4b 0x28dbbc
0028dbb8
0028dbb8loc_28dbb8:
0028dbb8b 0x28dbbc
0028dbbc
0028dbbcloc_28dbbc:
0028dbbcadrp x27, 0x733000
0028dbc0ldr x4, [x27+2016]
0028dbc4ldr x5, [sp+96]
0028dbc8subs xzr, x4, x5
0028dbccb.gt 0x28dbd4
0028dbd0b 0x28dc48
0028dbd4
0028dbd4loc_28dbd4:
0028dbd4ldr x0, [sp+344]
0028dbd8ldr x1, [sp+352]
0028dbdcldr x2, [sp+360]
0028dbe0ldr x4, [sp+96]
0028dbe4ubfm x3, x4, 63, 62
0028dbe8bl math/big.nat.make
0028dbecstr x0, [sp+344]
0028dbf0str x1, [sp+352]
0028dbf4str x2, [sp+360]
0028dbf8ldr x4, [sp+376]
0028dbfcldr x7, [sp+376]
0028dc00ldr x5, [sp+384]
0028dc04ldr x8, [sp+384]
0028dc08ldr x3, [sp+368]
0028dc0cldr x6, [sp+368]
0028dc10bl math/big.basicMul
0028dc14ldr x0, [sp+344]
0028dc18ldr x1, [sp+352]
0028dc1cldr x2, [sp+360]
0028dc20bl math/big.nat.norm
0028dc24str x0, [sp+304]
0028dc28str x1, [sp+312]
0028dc2cstr x2, [sp+320]
0028dc30str x0, [sp+168]
0028dc34str x1, [sp+176]
0028dc38str x2, [sp+184]
0028dc3cldp x29, x30, [sp-8]
0028dc40add sp, sp, 336
0028dc44ret x30
0028dc48
0028dc48loc_28dc48:
0028dc48adrp x27, 0x733000
0028dc4cldr x4, [x27+2024]
0028dc50ldr x5, [sp+96]
0028dc54subs xzr, x4, x5
0028dc58b.gt 0x28dc60
0028dc5cb 0x28dcc8
0028dc60
0028dc60loc_28dc60:
0028dc60ldr x0, [sp+344]
0028dc64ldr x1, [sp+352]
0028dc68ldr x2, [sp+360]
0028dc6cldr x4, [sp+96]
0028dc70ubfm x3, x4, 63, 62
0028dc74bl math/big.nat.make
0028dc78str x0, [sp+344]
0028dc7cstr x1, [sp+352]
0028dc80str x2, [sp+360]
0028dc84ldr x4, [sp+376]
0028dc88ldr x5, [sp+384]
0028dc8cldr x3, [sp+368]
0028dc90bl math/big.basicSqr
0028dc94ldr x0, [sp+344]
0028dc98ldr x1, [sp+352]
0028dc9cldr x2, [sp+360]
0028dca0bl math/big.nat.norm
0028dca4str x0, [sp+304]
0028dca8str x1, [sp+312]
0028dcacstr x2, [sp+320]
0028dcb0str x0, [sp+168]
0028dcb4str x1, [sp+176]
0028dcb8str x2, [sp+184]
0028dcbcldp x29, x30, [sp-8]
0028dcc0add sp, sp, 336
0028dcc4ret x30
0028dcc8
0028dcc8loc_28dcc8:
0028dcc8adrp x27, 0x733000
0028dcccldr x1, [x27+2024]
0028dcd0ldr x0, [sp+96]
0028dcd4bl math/big.karatsubaLen
0028dcd8str x0, [sp+104]
0028dcdcldr x2, [sp+384]
0028dce0ldr x3, [sp+368]
0028dce4subs xzr, x0, x2
0028dce8b.ls 0x28dcf0
0028dcecb 0x28dfb4
0028dcf0
0028dcf0loc_28dcf0:
0028dcf0b 0x28dcf4
0028dcf4
0028dcf4loc_28dcf4:
0028dcf4str x3, [sp+240]
0028dcf8str x0, [sp+248]
0028dcfcstr x2, [sp+256]
0028dd00ldr x4, [sp+104]
0028dd04add x4, x4, x4, lsl #1
0028dd08ubfm x5, x4, 63, 62
0028dd0cldr x6, [sp+96]
0028dd10ubfm x6, x6, 63, 62
0028dd14subs xzr, x6, x4, lsl #1
0028dd18b.gt 0x28dd20
0028dd1cb 0x28dd24
0028dd20
0028dd20loc_28dd20:
0028dd20b 0x28dd2c
0028dd24
0028dd24loc_28dd24:
0028dd24mov x6, x5
0028dd28b 0x28dd2c
0028dd2c
0028dd2cloc_28dd2c:
0028dd2cstr x6, [sp+144]
0028dd30ldr x0, [sp+344]
0028dd34ldr x1, [sp+352]
0028dd38ldr x2, [sp+360]
0028dd3cmov x3, x6
0028dd40bl math/big.nat.make
0028dd44str x0, [sp+344]
0028dd48str x1, [sp+352]
0028dd4cstr x2, [sp+360]
0028dd50ldr x4, [sp+248]
0028dd54ldr x5, [sp+256]
0028dd58ldr x3, [sp+240]
0028dd5cbl math/big.karatsubaSqr
0028dd60ldr x4, [sp+96]
0028dd64ubfm x1, x4, 63, 62
0028dd68str x1, [sp+144]
0028dd6cldr x2, [sp+360]
0028dd70subs xzr, x2, x4, lsl #1
0028dd74b.hs 0x28dd7c
0028dd78b 0x28dfb0
0028dd7c
0028dd7cloc_28dd7c:
0028dd7cb 0x28dd80
0028dd80
0028dd80loc_28dd80:
0028dd80str x1, [sp+352]
0028dd84ldr x3, [sp+104]
0028dd88ubfm x0, x3, 63, 62
0028dd8cstr x0, [sp+144]
0028dd90ldr x5, [sp+344]
0028dd94ldr x6, [sp+360]
0028dd98b 0x28dd9c
0028dd9c
0028dd9cloc_28dd9c:
0028dd9csubs xzr, x0, x4, lsl #1
0028dda0b.ls 0x28dda8
0028dda4b 0x28dfac
0028dda8
0028dda8loc_28dda8:
0028dda8sub x4, x6, x3, lsl #1
0028ddacsub x6, xzr, x4
0028ddb0ubfm x7, x3, 60, 59
0028ddb4and x6, x7, x6, asr #63
0028ddb8add x5, x5, x6
0028ddbcstr x5, [sp+304]
0028ddc0sub x3, x1, x3, lsl #1
0028ddc4str x3, [sp+312]
0028ddc8str x4, [sp+320]
0028ddcccbnz x3, 0x28ddd4
0028ddd0b 0x28ddf4
0028ddd4
0028ddd4loc_28ddd4:
0028ddd4str x5, [sp+296]
0028ddd8ldr x2, [sp+312]
0028dddcubfm x2, x2, 61, 60
0028dde0str x2, [sp+136]
0028dde4ldr x1, [sp+136]
0028dde8ldr x0, [sp+296]
0028ddecbl runtime.memclrNoHeapPointers
0028ddf0b 0x28ddf8
0028ddf4
0028ddf4loc_28ddf4:
0028ddf4b 0x28ddf8
0028ddf8
0028ddf8loc_28ddf8:
0028ddf8ldr x3, [sp+96]
0028ddfcldr x4, [sp+104]
0028de00subs xzr, x3, x4
0028de04b.gt 0x28de0c
0028de08b 0x28df70
0028de0c
0028de0cloc_28de0c:
0028de0cldr x1, [sp+104]
0028de10ubfm x0, x1, 63, 62
0028de14bl math/big.getNat
0028de18str x0, [sp+264]
0028de1cldrsb x27, [x0]
0028de20ldr x1, [x0]
0028de24ldr x2, [x0+8]
0028de28ldr x3, [x0+16]
0028de2cstr x1, [sp+272]
0028de30str x2, [sp+280]
0028de34str x3, [sp+288]
0028de38ldr x0, [sp+240]
0028de3cldr x1, [sp+248]
0028de40ldr x2, [sp+256]
0028de44bl math/big.nat.norm
0028de48str x0, [sp+216]
0028de4cstr x1, [sp+224]
0028de50str x2, [sp+232]
0028de54ldr x0, [sp+104]
0028de58ldr x1, [sp+376]
0028de5cldr x2, [sp+368]
0028de60ldr x3, [sp+384]
0028de64b 0x28de68
0028de68
0028de68loc_28de68:
0028de68subs xzr, x1, x0
0028de6cb.hs 0x28de74
0028de70b 0x28dfa8
0028de74
0028de74loc_28de74:
0028de74sub x8, x3, x0
0028de78sub x7, x1, x0
0028de7csub x9, xzr, x8
0028de80ubfm x10, x0, 61, 60
0028de84and x9, x10, x9, asr #63
0028de88add x6, x2, x9
0028de8cstr x6, [sp+192]
0028de90str x7, [sp+200]
0028de94str x8, [sp+208]
0028de98ldr x0, [sp+272]
0028de9cldr x3, [sp+216]
0028dea0ldr x1, [sp+280]
0028dea4ldr x4, [sp+224]
0028dea8ldr x2, [sp+288]
0028deacldr x5, [sp+232]
0028deb0bl math/big.nat.mul
0028deb4str x0, [sp+272]
0028deb8str x1, [sp+280]
0028debcstr x2, [sp+288]
0028dec0ldr x6, [sp+104]
0028dec4ldr x9, [sp+344]
0028dec8ldr x10, [sp+352]
0028deccldr x11, [sp+360]
0028ded0mov x3, x0
0028ded4mov x4, x1
0028ded8mov x5, x2
0028dedcmov x0, x9
0028dee0mov x1, x10
0028dee4mov x2, x11
0028dee8bl math/big.addAt
0028deecldr x6, [sp+104]
0028def0ldr x0, [sp+344]
0028def4ldr x3, [sp+272]
0028def8ldr x1, [sp+352]
0028defcldr x4, [sp+280]
0028df00ldr x2, [sp+360]
0028df04ldr x5, [sp+288]
0028df08bl math/big.addAt
0028df0cldr x0, [sp+272]
0028df10ldr x3, [sp+192]
0028df14ldr x1, [sp+280]
0028df18ldr x4, [sp+200]
0028df1cldr x2, [sp+288]
0028df20ldr x5, [sp+208]
0028df24bl math/big.nat.sqr
0028df28str x0, [sp+272]
0028df2cstr x1, [sp+280]
0028df30str x2, [sp+288]
0028df34ldr x9, [sp+344]
0028df38ldr x10, [sp+352]
0028df3cldr x11, [sp+360]
0028df40ldr x12, [sp+104]
0028df44ubfm x6, x12, 63, 62
0028df48mov x3, x0
0028df4cmov x4, x1
0028df50mov x5, x2
0028df54mov x0, x9
0028df58mov x1, x10
0028df5cmov x2, x11
0028df60bl math/big.addAt
0028df64ldr x0, [sp+264]
0028df68bl math/big.putNat
0028df6cb 0x28df74
0028df70
0028df70loc_28df70:
0028df70b 0x28df74
0028df74
0028df74loc_28df74:
0028df74ldr x0, [sp+344]
0028df78ldr x1, [sp+352]
0028df7cldr x2, [sp+360]
0028df80bl math/big.nat.norm
0028df84str x0, [sp+304]
0028df88str x1, [sp+312]
0028df8cstr x2, [sp+320]
0028df90str x0, [sp+168]
0028df94str x1, [sp+176]
0028df98str x2, [sp+184]
0028df9cldp x29, x30, [sp-8]
0028dfa0add sp, sp, 336
0028dfa4ret x30
0028dfa8
0028dfa8loc_28dfa8:
0028dfa8bl runtime.panicSliceB
0028dfac
0028dfacloc_28dfac:
0028dfacbl runtime.panicSliceB
0028dfb0
0028dfb0loc_28dfb0:
0028dfb0bl runtime.panicSliceAcap
0028dfb4
0028dfb4loc_28dfb4:
0028dfb4mov x1, x0
0028dfb8bl runtime.panicSliceAcap
0028dfbc
0028dfbcloc_28dfbc:
0028dfbcmov x0, xzr
0028dfc0bl runtime.panicIndex
0028dfc4
0028dfc4loc_28dfc4:
0028dfc4orr x0, xzr, 1
0028dfc8bl runtime.panicIndex
0028dfcc
0028dfccloc_28dfcc:
0028dfccmov x0, xzr
0028dfd0bl runtime.panicIndex
0028dfd4hint
0028dfd8
0028dfd8loc_28dfd8:
0028dfd8stp x0, x1, [sp+8]
0028dfdcstp x2, x3, [sp+24]
0028dfe0stp x4, x5, [sp+40]
0028dfe4mov x3, x30
0028dfe8bl runtime.morestack_noctxt.abi0
0028dfecldp x0, x1, [sp+8]
0028dff0ldp x2, x3, [sp+24]
0028dff4ldp x4, x5, [sp+40]
0028dff8b 0x28da20
0028dffcudf 0
0028da20
0028da20math/big.nat.sqr: ; void math/big.nat.sqr(math/big.nat z, math/big.nat x)
0028da20ldr x16, [x28+16]
0028da24sub x17, sp, 208
0028da28subs xzr, x17, x16
0028da2cb.ls 0x28dfd8
0028da30sub x20, sp, 336
0028da34stp x29, x30, [x20-8]
0028da38add sp, x20, 0
0028da3csub x29, sp, 8
0028da40str x0, [sp+344]
0028da44str x1, [sp+352]
0028da48str x2, [sp+360]
0028da4cstr x3, [sp+368]
0028da50str x4, [sp+376]
0028da54str x5, [sp+384]
0028da58str xzr, [sp+168]
0028da5cstp xzr, xzr, [sp+176]
0028da60ldr x6, [sp+376]
0028da64str x6, [sp+96]
0028da68cbz x6, 0x28da70
0028da6cb 0x28daac
0028da70
0028da70loc_28da70:
0028da70b 0x28da74
0028da74
0028da74loc_28da74:
0028da74ldr x0, [sp+344]
0028da78ldr x2, [sp+360]
0028da7cb 0x28da80
0028da80
0028da80loc_28da80:
0028da80b 0x28da84
0028da84
0028da84loc_28da84:
0028da84str x0, [sp+304]
0028da88str xzr, [sp+312]
0028da8cstr x2, [sp+320]
0028da90str x0, [sp+168]
0028da94str xzr, [sp+176]
0028da98str x2, [sp+184]
0028da9cmov x1, xzr
0028daa0ldp x29, x30, [sp-8]
0028daa4add sp, sp, 336
0028daa8ret x30
0028daac
0028daacloc_28daac:
0028daacsubs xzr, x6, 1
0028dab0b.eq 0x28dab8
0028dab4b 0x28db80
0028dab8
0028dab8loc_28dab8:
0028dab8b 0x28dabc
0028dabc
0028dabcloc_28dabc:
0028dabcldr x1, [sp+376]
0028dac0ldr x4, [sp+368]
0028dac4subs xzr, x1, 0
0028dac8b.hi 0x28dad0
0028daccb 0x28dfcc
0028dad0
0028dad0loc_28dad0:
0028dad0ldr x4, [x4]
0028dad4str x4, [sp+112]
0028dad8ldr x0, [sp+344]
0028dadcldr x1, [sp+352]
0028dae0ldr x2, [sp+360]
0028dae4orr x3, xzr, 2
0028dae8bl math/big.nat.make
0028daecstr x0, [sp+344]
0028daf0str x1, [sp+352]
0028daf4str x2, [sp+360]
0028daf8ldr x4, [sp+112]
0028dafcldr x5, [sp+112]
0028db00umulh x6, x5, x4
0028db04str x6, [sp+160]
0028db08madd x4, x5, x4, xzr
0028db0cstr x4, [sp+152]
0028db10str x6, [sp+128]
0028db14str x4, [sp+120]
0028db18ldr x1, [sp+352]
0028db1cldr x4, [sp+344]
0028db20subs xzr, x1, 1
0028db24b.hi 0x28db2c
0028db28b 0x28dfc4
0028db2c
0028db2cloc_28db2c:
0028db2cstr x6, [x4+8]
0028db30ldr x1, [sp+352]
0028db34ldr x3, [sp+344]
0028db38ldr x4, [sp+120]
0028db3csubs xzr, x1, 0
0028db40b.hi 0x28db48
0028db44b 0x28dfbc
0028db48
0028db48loc_28db48:
0028db48str x4, [x3]
0028db4cldr x0, [sp+344]
0028db50ldr x1, [sp+352]
0028db54ldr x2, [sp+360]
0028db58bl math/big.nat.norm
0028db5cstr x0, [sp+304]
0028db60str x1, [sp+312]
0028db64str x2, [sp+320]
0028db68str x0, [sp+168]
0028db6cstr x1, [sp+176]
0028db70str x2, [sp+184]
0028db74ldp x29, x30, [sp-8]
0028db78add sp, sp, 336
0028db7cret x30
0028db80
0028db80loc_28db80:
0028db80b 0x28db84
0028db84
0028db84loc_28db84:
0028db84ldr x0, [sp+344]
0028db88ldr x3, [sp+368]
0028db8cldr x1, [sp+352]
0028db90ldr x4, [sp+376]
0028db94ldr x2, [sp+360]
0028db98ldr x5, [sp+384]
0028db9cbl math/big.alias
0028dba0strb w0, [sp+95]
0028dba4tbnz w0, 0, 0x28dbac
0028dba8b 0x28dbb8
0028dbac
0028dbacloc_28dbac:
0028dbacstr xzr, [sp+344]
0028dbb0stp xzr, xzr, [sp+352]
0028dbb4b 0x28dbbc
0028dbb8
0028dbb8loc_28dbb8:
0028dbb8b 0x28dbbc
0028dbbc
0028dbbcloc_28dbbc:
0028dbbcadrp x27, 0x733000
0028dbc0ldr x4, [x27+2016]
0028dbc4ldr x5, [sp+96]
0028dbc8subs xzr, x4, x5
0028dbccb.gt 0x28dbd4
0028dbd0b 0x28dc48
0028dbd4
0028dbd4loc_28dbd4:
0028dbd4ldr x0, [sp+344]
0028dbd8ldr x1, [sp+352]
0028dbdcldr x2, [sp+360]
0028dbe0ldr x4, [sp+96]
0028dbe4ubfm x3, x4, 63, 62
0028dbe8bl math/big.nat.make
0028dbecstr x0, [sp+344]
0028dbf0str x1, [sp+352]
0028dbf4str x2, [sp+360]
0028dbf8ldr x4, [sp+376]
0028dbfcldr x7, [sp+376]
0028dc00ldr x5, [sp+384]
0028dc04ldr x8, [sp+384]
0028dc08ldr x3, [sp+368]
0028dc0cldr x6, [sp+368]
0028dc10bl math/big.basicMul
0028dc14ldr x0, [sp+344]
0028dc18ldr x1, [sp+352]
0028dc1cldr x2, [sp+360]
0028dc20bl math/big.nat.norm
0028dc24str x0, [sp+304]
0028dc28str x1, [sp+312]
0028dc2cstr x2, [sp+320]
0028dc30str x0, [sp+168]
0028dc34str x1, [sp+176]
0028dc38str x2, [sp+184]
0028dc3cldp x29, x30, [sp-8]
0028dc40add sp, sp, 336
0028dc44ret x30
0028dc48
0028dc48loc_28dc48:
0028dc48adrp x27, 0x733000
0028dc4cldr x4, [x27+2024]
0028dc50ldr x5, [sp+96]
0028dc54subs xzr, x4, x5
0028dc58b.gt 0x28dc60
0028dc5cb 0x28dcc8
0028dc60
0028dc60loc_28dc60:
0028dc60ldr x0, [sp+344]
0028dc64ldr x1, [sp+352]
0028dc68ldr x2, [sp+360]
0028dc6cldr x4, [sp+96]
0028dc70ubfm x3, x4, 63, 62
0028dc74bl math/big.nat.make
0028dc78str x0, [sp+344]
0028dc7cstr x1, [sp+352]
0028dc80str x2, [sp+360]
0028dc84ldr x4, [sp+376]
0028dc88ldr x5, [sp+384]
0028dc8cldr x3, [sp+368]
0028dc90bl math/big.basicSqr
0028dc94ldr x0, [sp+344]
0028dc98ldr x1, [sp+352]
0028dc9cldr x2, [sp+360]
0028dca0bl math/big.nat.norm
0028dca4str x0, [sp+304]
0028dca8str x1, [sp+312]
0028dcacstr x2, [sp+320]
0028dcb0str x0, [sp+168]
0028dcb4str x1, [sp+176]
0028dcb8str x2, [sp+184]
0028dcbcldp x29, x30, [sp-8]
0028dcc0add sp, sp, 336
0028dcc4ret x30
0028dcc8
0028dcc8loc_28dcc8:
0028dcc8adrp x27, 0x733000
0028dcccldr x1, [x27+2024]
0028dcd0ldr x0, [sp+96]
0028dcd4bl math/big.karatsubaLen
0028dcd8str x0, [sp+104]
0028dcdcldr x2, [sp+384]
0028dce0ldr x3, [sp+368]
0028dce4subs xzr, x0, x2
0028dce8b.ls 0x28dcf0
0028dcecb 0x28dfb4
0028dcf0
0028dcf0loc_28dcf0:
0028dcf0b 0x28dcf4
0028dcf4
0028dcf4loc_28dcf4:
0028dcf4str x3, [sp+240]
0028dcf8str x0, [sp+248]
0028dcfcstr x2, [sp+256]
0028dd00ldr x4, [sp+104]
0028dd04add x4, x4, x4, lsl #1
0028dd08ubfm x5, x4, 63, 62
0028dd0cldr x6, [sp+96]
0028dd10ubfm x6, x6, 63, 62
0028dd14subs xzr, x6, x4, lsl #1
0028dd18b.gt 0x28dd20
0028dd1cb 0x28dd24
0028dd20
0028dd20loc_28dd20:
0028dd20b 0x28dd2c
0028dd24
0028dd24loc_28dd24:
0028dd24mov x6, x5
0028dd28b 0x28dd2c
0028dd2c
0028dd2cloc_28dd2c:
0028dd2cstr x6, [sp+144]
0028dd30ldr x0, [sp+344]
0028dd34ldr x1, [sp+352]
0028dd38ldr x2, [sp+360]
0028dd3cmov x3, x6
0028dd40bl math/big.nat.make
0028dd44str x0, [sp+344]
0028dd48str x1, [sp+352]
0028dd4cstr x2, [sp+360]
0028dd50ldr x4, [sp+248]
0028dd54ldr x5, [sp+256]
0028dd58ldr x3, [sp+240]
0028dd5cbl math/big.karatsubaSqr
0028dd60ldr x4, [sp+96]
0028dd64ubfm x1, x4, 63, 62
0028dd68str x1, [sp+144]
0028dd6cldr x2, [sp+360]
0028dd70subs xzr, x2, x4, lsl #1
0028dd74b.hs 0x28dd7c
0028dd78b 0x28dfb0
0028dd7c
0028dd7cloc_28dd7c:
0028dd7cb 0x28dd80
0028dd80
0028dd80loc_28dd80:
0028dd80str x1, [sp+352]
0028dd84ldr x3, [sp+104]
0028dd88ubfm x0, x3, 63, 62
0028dd8cstr x0, [sp+144]
0028dd90ldr x5, [sp+344]
0028dd94ldr x6, [sp+360]
0028dd98b 0x28dd9c
0028dd9c
0028dd9cloc_28dd9c:
0028dd9csubs xzr, x0, x4, lsl #1
0028dda0b.ls 0x28dda8
0028dda4b 0x28dfac
0028dda8
0028dda8loc_28dda8:
0028dda8sub x4, x6, x3, lsl #1
0028ddacsub x6, xzr, x4
0028ddb0ubfm x7, x3, 60, 59
0028ddb4and x6, x7, x6, asr #63
0028ddb8add x5, x5, x6
0028ddbcstr x5, [sp+304]
0028ddc0sub x3, x1, x3, lsl #1
0028ddc4str x3, [sp+312]
0028ddc8str x4, [sp+320]
0028ddcccbnz x3, 0x28ddd4
0028ddd0b 0x28ddf4
0028ddd4
0028ddd4loc_28ddd4:
0028ddd4str x5, [sp+296]
0028ddd8ldr x2, [sp+312]
0028dddcubfm x2, x2, 61, 60
0028dde0str x2, [sp+136]
0028dde4ldr x1, [sp+136]
0028dde8ldr x0, [sp+296]
0028ddecbl runtime.memclrNoHeapPointers
0028ddf0b 0x28ddf8
0028ddf4
0028ddf4loc_28ddf4:
0028ddf4b 0x28ddf8
0028ddf8
0028ddf8loc_28ddf8:
0028ddf8ldr x3, [sp+96]
0028ddfcldr x4, [sp+104]
0028de00subs xzr, x3, x4
0028de04b.gt 0x28de0c
0028de08b 0x28df70
0028de0c
0028de0cloc_28de0c:
0028de0cldr x1, [sp+104]
0028de10ubfm x0, x1, 63, 62
0028de14bl math/big.getNat
0028de18str x0, [sp+264]
0028de1cldrsb x27, [x0]
0028de20ldr x1, [x0]
0028de24ldr x2, [x0+8]
0028de28ldr x3, [x0+16]
0028de2cstr x1, [sp+272]
0028de30str x2, [sp+280]
0028de34str x3, [sp+288]
0028de38ldr x0, [sp+240]
0028de3cldr x1, [sp+248]
0028de40ldr x2, [sp+256]
0028de44bl math/big.nat.norm
0028de48str x0, [sp+216]
0028de4cstr x1, [sp+224]
0028de50str x2, [sp+232]
0028de54ldr x0, [sp+104]
0028de58ldr x1, [sp+376]
0028de5cldr x2, [sp+368]
0028de60ldr x3, [sp+384]
0028de64b 0x28de68
0028de68
0028de68loc_28de68:
0028de68subs xzr, x1, x0
0028de6cb.hs 0x28de74
0028de70b 0x28dfa8
0028de74
0028de74loc_28de74:
0028de74sub x8, x3, x0
0028de78sub x7, x1, x0
0028de7csub x9, xzr, x8
0028de80ubfm x10, x0, 61, 60
0028de84and x9, x10, x9, asr #63
0028de88add x6, x2, x9
0028de8cstr x6, [sp+192]
0028de90str x7, [sp+200]
0028de94str x8, [sp+208]
0028de98ldr x0, [sp+272]
0028de9cldr x3, [sp+216]
0028dea0ldr x1, [sp+280]
0028dea4ldr x4, [sp+224]
0028dea8ldr x2, [sp+288]
0028deacldr x5, [sp+232]
0028deb0bl math/big.nat.mul
0028deb4str x0, [sp+272]
0028deb8str x1, [sp+280]
0028debcstr x2, [sp+288]
0028dec0ldr x6, [sp+104]
0028dec4ldr x9, [sp+344]
0028dec8ldr x10, [sp+352]
0028deccldr x11, [sp+360]
0028ded0mov x3, x0
0028ded4mov x4, x1
0028ded8mov x5, x2
0028dedcmov x0, x9
0028dee0mov x1, x10
0028dee4mov x2, x11
0028dee8bl math/big.addAt
0028deecldr x6, [sp+104]
0028def0ldr x0, [sp+344]
0028def4ldr x3, [sp+272]
0028def8ldr x1, [sp+352]
0028defcldr x4, [sp+280]
0028df00ldr x2, [sp+360]
0028df04ldr x5, [sp+288]
0028df08bl math/big.addAt
0028df0cldr x0, [sp+272]
0028df10ldr x3, [sp+192]
0028df14ldr x1, [sp+280]
0028df18ldr x4, [sp+200]
0028df1cldr x2, [sp+288]
0028df20ldr x5, [sp+208]
0028df24bl math/big.nat.sqr
0028df28str x0, [sp+272]
0028df2cstr x1, [sp+280]
0028df30str x2, [sp+288]
0028df34ldr x9, [sp+344]
0028df38ldr x10, [sp+352]
0028df3cldr x11, [sp+360]
0028df40ldr x12, [sp+104]
0028df44ubfm x6, x12, 63, 62
0028df48mov x3, x0
0028df4cmov x4, x1
0028df50mov x5, x2
0028df54mov x0, x9
0028df58mov x1, x10
0028df5cmov x2, x11
0028df60bl math/big.addAt
0028df64ldr x0, [sp+264]
0028df68bl math/big.putNat
0028df6cb 0x28df74
0028df70
0028df70loc_28df70:
0028df70b 0x28df74
0028df74
0028df74loc_28df74:
0028df74ldr x0, [sp+344]
0028df78ldr x1, [sp+352]
0028df7cldr x2, [sp+360]
0028df80bl math/big.nat.norm
0028df84str x0, [sp+304]
0028df88str x1, [sp+312]
0028df8cstr x2, [sp+320]
0028df90str x0, [sp+168]
0028df94str x1, [sp+176]
0028df98str x2, [sp+184]
0028df9cldp x29, x30, [sp-8]
0028dfa0add sp, sp, 336
0028dfa4ret x30
0028dfa8
0028dfa8loc_28dfa8:
0028dfa8bl runtime.panicSliceB
0028dfac
0028dfacloc_28dfac:
0028dfacbl runtime.panicSliceB
0028dfb0
0028dfb0loc_28dfb0:
0028dfb0bl runtime.panicSliceAcap
0028dfb4
0028dfb4loc_28dfb4:
0028dfb4mov x1, x0
0028dfb8bl runtime.panicSliceAcap
0028dfbc
0028dfbcloc_28dfbc:
0028dfbcmov x0, xzr
0028dfc0bl runtime.panicIndex
0028dfc4
0028dfc4loc_28dfc4:
0028dfc4orr x0, xzr, 1
0028dfc8bl runtime.panicIndex
0028dfcc
0028dfccloc_28dfcc:
0028dfccmov x0, xzr
0028dfd0bl runtime.panicIndex
0028dfd4hint
0028dfd8
0028dfd8loc_28dfd8:
0028dfd8stp x0, x1, [sp+8]
0028dfdcstp x2, x3, [sp+24]
0028dfe0stp x4, x5, [sp+40]
0028dfe4mov x3, x30
0028dfe8bl runtime.morestack_noctxt.abi0
0028dfecldp x0, x1, [sp+8]
0028dff0ldp x2, x3, [sp+24]
0028dff4ldp x4, x5, [sp+40]
0028dff8b 0x28da20
0028dffcudf 0
0028da20
0028e000
0028e000math/big.getNat: ; void math/big.getNat(int n)
0028e000ldr x16, [x28+16]
0028e004subs xzr, sp, x16
0028e008b.ls 0x28e164
0028e00cstr x30, [sp-128]!
0028e010stur x29, [sp-8]
0028e014sub x29, sp, 8
0028e018str x0, [sp+136]
0028e01cstr xzr, [sp+40]
0028e020str xzr, [sp+48]
0028e024adrp x0, 0x795000
0028e028add x0, x0, 1440
0028e02cbl sync.(*Pool).Get
0028e030str x0, [sp+56]
0028e034str x1, [sp+64]
0028e038cbnz x0, 0x28e040
0028e03cb 0x28e05c
0028e040
0028e040loc_28e040:
0028e040adrp x4, 0x41c000
0028e044add x4, x4, 2752
0028e048subs xzr, x0, x4
0028e04cb.eq 0x28e054
0028e050b 0x28e150
0028e054
0028e054loc_28e054:
0028e054str x1, [sp+48]
0028e058b 0x28e060
0028e05c
0028e05cloc_28e05c:
0028e05cb 0x28e060
0028e060
0028e060loc_28e060:
0028e060ldr x4, [sp+48]
0028e064cbnz x4, 0x28e06c
0028e068b 0x28e070
0028e06c
0028e06cloc_28e06c:
0028e06cb 0x28e084
0028e070
0028e070loc_28e070:
0028e070adrp x0, 0x41c000
0028e074add x0, x0, 3680
0028e078bl runtime.newobject
0028e07cstr x0, [sp+48]
0028e080b 0x28e084
0028e084
0028e084loc_28e084:
0028e084ldr x4, [sp+48]
0028e088ldrsb x27, [x4]
0028e08cldr x0, [x4]
0028e090ldr x1, [x4+8]
0028e094ldr x2, [x4+16]
0028e098str x0, [sp+72]
0028e09cstr x1, [sp+80]
0028e0a0str x2, [sp+88]
0028e0a4ldr x3, [sp+136]
0028e0a8bl math/big.nat.make
0028e0acstr x0, [sp+96]
0028e0b0str x1, [sp+104]
0028e0b4str x2, [sp+112]
0028e0b8ldr x4, [sp+48]
0028e0bcldrsb x27, [x4]
0028e0c0str x1, [x4+8]
0028e0c4str x2, [x4+16]
0028e0c8adrp x27, 0x7bd000
0028e0ccldr w5, [x27+3056]
0028e0d0cbz w5, 0x28e0d8
0028e0d4b 0x28e0dc
0028e0d8
0028e0d8loc_28e0d8:
0028e0d8b 0x28e0f0
0028e0dc
0028e0dcloc_28e0dc:
0028e0dcbl runtime.gcWriteBarrier2
0028e0e0str x0, [x25]
0028e0e4ldr x2, [x4]
0028e0e8str x2, [x25+8]
0028e0ecb 0x28e0f0
0028e0f0
0028e0f0loc_28e0f0:
0028e0f0str x0, [x4]
0028e0f4ldr x2, [sp+136]
0028e0f8subs xzr, x2, 0
0028e0fcb.gt 0x28e104
0028e100b 0x28e130
0028e104
0028e104loc_28e104:
0028e104ldr x2, [sp+48]
0028e108ldrsb x27, [x2]
0028e10cldr x1, [x2+8]
0028e110ldr x2, [x2]
0028e114subs xzr, x1, 0
0028e118b.hi 0x28e120
0028e11cb 0x28e148
0028e120
0028e120loc_28e120:
0028e120movz x1, 60875
0028e124movk x1, 0xf0000
0028e128str x1, [x2]
0028e12cb 0x28e134
0028e130
0028e130loc_28e130:
0028e130b 0x28e134
0028e134
0028e134loc_28e134:
0028e134ldr x0, [sp+48]
0028e138str x0, [sp+40]
0028e13cldur x29, [sp-8]
0028e140ldr x30, [sp], 128
0028e144ret x30
0028e148
0028e148loc_28e148:
0028e148mov x0, xzr
0028e14cbl runtime.panicIndex
0028e150
0028e150loc_28e150:
0028e150mov x1, x4
0028e154adrp x2, 0x37c000
0028e158add x2, x2, 3520
0028e15cbl runtime.panicdottypeE
0028e160hint
0028e164
0028e164loc_28e164:
0028e164str x0, [sp+8]
0028e168mov x3, x30
0028e16cbl runtime.morestack_noctxt.abi0
0028e170ldr x0, [sp+8]
0028e174b 0x28e000
0028e178udf 0
0028e17cudf 0
0028e000
0028e000math/big.getNat: ; void math/big.getNat(int n)
0028e000ldr x16, [x28+16]
0028e004subs xzr, sp, x16
0028e008b.ls 0x28e164
0028e00cstr x30, [sp-128]!
0028e010stur x29, [sp-8]
0028e014sub x29, sp, 8
0028e018str x0, [sp+136]
0028e01cstr xzr, [sp+40]
0028e020str xzr, [sp+48]
0028e024adrp x0, 0x795000
0028e028add x0, x0, 1440
0028e02cbl sync.(*Pool).Get
0028e030str x0, [sp+56]
0028e034str x1, [sp+64]
0028e038cbnz x0, 0x28e040
0028e03cb 0x28e05c
0028e040
0028e040loc_28e040:
0028e040adrp x4, 0x41c000
0028e044add x4, x4, 2752
0028e048subs xzr, x0, x4
0028e04cb.eq 0x28e054
0028e050b 0x28e150
0028e054
0028e054loc_28e054:
0028e054str x1, [sp+48]
0028e058b 0x28e060
0028e05c
0028e05cloc_28e05c:
0028e05cb 0x28e060
0028e060
0028e060loc_28e060:
0028e060ldr x4, [sp+48]
0028e064cbnz x4, 0x28e06c
0028e068b 0x28e070
0028e06c
0028e06cloc_28e06c:
0028e06cb 0x28e084
0028e070
0028e070loc_28e070:
0028e070adrp x0, 0x41c000
0028e074add x0, x0, 3680
0028e078bl runtime.newobject
0028e07cstr x0, [sp+48]
0028e080b 0x28e084
0028e084
0028e084loc_28e084:
0028e084ldr x4, [sp+48]
0028e088ldrsb x27, [x4]
0028e08cldr x0, [x4]
0028e090ldr x1, [x4+8]
0028e094ldr x2, [x4+16]
0028e098str x0, [sp+72]
0028e09cstr x1, [sp+80]
0028e0a0str x2, [sp+88]
0028e0a4ldr x3, [sp+136]
0028e0a8bl math/big.nat.make
0028e0acstr x0, [sp+96]
0028e0b0str x1, [sp+104]
0028e0b4str x2, [sp+112]
0028e0b8ldr x4, [sp+48]
0028e0bcldrsb x27, [x4]
0028e0c0str x1, [x4+8]
0028e0c4str x2, [x4+16]
0028e0c8adrp x27, 0x7bd000
0028e0ccldr w5, [x27+3056]
0028e0d0cbz w5, 0x28e0d8
0028e0d4b 0x28e0dc
0028e0d8
0028e0d8loc_28e0d8:
0028e0d8b 0x28e0f0
0028e0dc
0028e0dcloc_28e0dc:
0028e0dcbl runtime.gcWriteBarrier2
0028e0e0str x0, [x25]
0028e0e4ldr x2, [x4]
0028e0e8str x2, [x25+8]
0028e0ecb 0x28e0f0
0028e0f0
0028e0f0loc_28e0f0:
0028e0f0str x0, [x4]
0028e0f4ldr x2, [sp+136]
0028e0f8subs xzr, x2, 0
0028e0fcb.gt 0x28e104
0028e100b 0x28e130
0028e104
0028e104loc_28e104:
0028e104ldr x2, [sp+48]
0028e108ldrsb x27, [x2]
0028e10cldr x1, [x2+8]
0028e110ldr x2, [x2]
0028e114subs xzr, x1, 0
0028e118b.hi 0x28e120
0028e11cb 0x28e148
0028e120
0028e120loc_28e120:
0028e120movz x1, 60875
0028e124movk x1, 0xf0000
0028e128str x1, [x2]
0028e12cb 0x28e134
0028e130
0028e130loc_28e130:
0028e130b 0x28e134
0028e134
0028e134loc_28e134:
0028e134ldr x0, [sp+48]
0028e138str x0, [sp+40]
0028e13cldur x29, [sp-8]
0028e140ldr x30, [sp], 128
0028e144ret x30
0028e148
0028e148loc_28e148:
0028e148mov x0, xzr
0028e14cbl runtime.panicIndex
0028e150
0028e150loc_28e150:
0028e150mov x1, x4
0028e154adrp x2, 0x37c000
0028e158add x2, x2, 3520
0028e15cbl runtime.panicdottypeE
0028e160hint
0028e164
0028e164loc_28e164:
0028e164str x0, [sp+8]
0028e168mov x3, x30
0028e16cbl runtime.morestack_noctxt.abi0
0028e170ldr x0, [sp+8]
0028e174b 0x28e000
0028e178udf 0
0028e17cudf 0
0028e000
0028e180
0028e180math/big.putNat: ; void math/big.putNat(math/big.nat * x)
0028e180ldr x16, [x28+16]
0028e184subs xzr, sp, x16
0028e188b.ls 0x28e1c0
0028e18cstr x30, [sp-48]!
0028e190stur x29, [sp-8]
0028e194sub x29, sp, 8
0028e198str x0, [sp+56]
0028e19cadrp x1, 0x41c000
0028e1a0add x1, x1, 2752
0028e1a4mov x2, x0
0028e1a8adrp x0, 0x795000
0028e1acadd x0, x0, 1440
0028e1b0bl sync.(*Pool).Put
0028e1b4ldur x29, [sp-8]
0028e1b8ldr x30, [sp], 48
0028e1bcret x30
0028e1c0
0028e1c0loc_28e1c0:
0028e1c0str x0, [sp+8]
0028e1c4mov x3, x30
0028e1c8bl runtime.morestack_noctxt.abi0
0028e1ccldr x0, [sp+8]
0028e1d0b 0x28e180
0028e1d4udf 0
0028e1d8udf 0
0028e1dcudf 0
0028e180
0028e180math/big.putNat: ; void math/big.putNat(math/big.nat * x)
0028e180ldr x16, [x28+16]
0028e184subs xzr, sp, x16
0028e188b.ls 0x28e1c0
0028e18cstr x30, [sp-48]!
0028e190stur x29, [sp-8]
0028e194sub x29, sp, 8
0028e198str x0, [sp+56]
0028e19cadrp x1, 0x41c000
0028e1a0add x1, x1, 2752
0028e1a4mov x2, x0
0028e1a8adrp x0, 0x795000
0028e1acadd x0, x0, 1440
0028e1b0bl sync.(*Pool).Put
0028e1b4ldur x29, [sp-8]
0028e1b8ldr x30, [sp], 48
0028e1bcret x30
0028e1c0
0028e1c0loc_28e1c0:
0028e1c0str x0, [sp+8]
0028e1c4mov x3, x30
0028e1c8bl runtime.morestack_noctxt.abi0
0028e1ccldr x0, [sp+8]
0028e1d0b 0x28e180
0028e1d4udf 0
0028e1d8udf 0
0028e1dcudf 0
0028e180
0028e1e0
0028e1e0math/big.nat.bitLen: ; void math/big.nat.bitLen(math/big.nat x)
0028e1e0ldr x16, [x28+16]
0028e1e4subs xzr, sp, x16
0028e1e8b.ls 0x28e2b4
0028e1ecstr x30, [sp-64]!
0028e1f0stur x29, [sp-8]
0028e1f4sub x29, sp, 8
0028e1f8str x0, [sp+72]
0028e1fcstr x1, [sp+80]
0028e200str x2, [sp+88]
0028e204str xzr, [sp+24]
0028e208str x1, [sp+48]
0028e20csub x0, x1, 1
0028e210str x0, [sp+40]
0028e214tbz x0, 63, 0x28e21c
0028e218b 0x28e298
0028e21c
0028e21cloc_28e21c:
0028e21cldr x1, [sp+80]
0028e220ldr x2, [sp+72]
0028e224subs xzr, x1, x0
0028e228b.hi 0x28e230
0028e22cb 0x28e2ac
0028e230
0028e230loc_28e230:
0028e230ldr x1, [x2+3*x0]
0028e234str x1, [sp+32]
0028e238ldr x1, [sp+32]
0028e23cldr x2, [sp+32]
0028e240orr x1, x1, x2, lsr #1
0028e244str x1, [sp+32]
0028e248orr x1, x1, x1, lsr #2
0028e24cstr x1, [sp+32]
0028e250orr x1, x1, x1, lsr #4
0028e254str x1, [sp+32]
0028e258orr x1, x1, x1, lsr #8
0028e25cstr x1, [sp+32]
0028e260orr x1, x1, x1, lsr #16
0028e264str x1, [sp+32]
0028e268orr x1, x1, x1, lsr #32
0028e26cstr x1, [sp+32]
0028e270clz x1, x1
0028e274orr x2, xzr, 64
0028e278sub x1, x2, x1
0028e27cstr x1, [sp+48]
0028e280ldr x2, [sp+40]
0028e284add x0, x1, x2, lsl #6
0028e288str x0, [sp+24]
0028e28cldur x29, [sp-8]
0028e290ldr x30, [sp], 64
0028e294ret x30
0028e298
0028e298loc_28e298:
0028e298str xzr, [sp+24]
0028e29cmov x0, xzr
0028e2a0ldur x29, [sp-8]
0028e2a4ldr x30, [sp], 64
0028e2a8ret x30
0028e2ac
0028e2acloc_28e2ac:
0028e2acbl runtime.panicIndex
0028e2b0hint
0028e2b4
0028e2b4loc_28e2b4:
0028e2b4stp x0, x1, [sp+8]
0028e2b8str x2, [sp+24]
0028e2bcmov x3, x30
0028e2c0bl runtime.morestack_noctxt.abi0
0028e2c4ldp x0, x1, [sp+8]
0028e2c8ldr x2, [sp+24]
0028e2ccb 0x28e1e0
0028e1e0
0028e1e0math/big.nat.bitLen: ; void math/big.nat.bitLen(math/big.nat x)
0028e1e0ldr x16, [x28+16]
0028e1e4subs xzr, sp, x16
0028e1e8b.ls 0x28e2b4
0028e1ecstr x30, [sp-64]!
0028e1f0stur x29, [sp-8]
0028e1f4sub x29, sp, 8
0028e1f8str x0, [sp+72]
0028e1fcstr x1, [sp+80]
0028e200str x2, [sp+88]
0028e204str xzr, [sp+24]
0028e208str x1, [sp+48]
0028e20csub x0, x1, 1
0028e210str x0, [sp+40]
0028e214tbz x0, 63, 0x28e21c
0028e218b 0x28e298
0028e21c
0028e21cloc_28e21c:
0028e21cldr x1, [sp+80]
0028e220ldr x2, [sp+72]
0028e224subs xzr, x1, x0
0028e228b.hi 0x28e230
0028e22cb 0x28e2ac
0028e230
0028e230loc_28e230:
0028e230ldr x1, [x2+3*x0]
0028e234str x1, [sp+32]
0028e238ldr x1, [sp+32]
0028e23cldr x2, [sp+32]
0028e240orr x1, x1, x2, lsr #1
0028e244str x1, [sp+32]
0028e248orr x1, x1, x1, lsr #2
0028e24cstr x1, [sp+32]
0028e250orr x1, x1, x1, lsr #4
0028e254str x1, [sp+32]
0028e258orr x1, x1, x1, lsr #8
0028e25cstr x1, [sp+32]
0028e260orr x1, x1, x1, lsr #16
0028e264str x1, [sp+32]
0028e268orr x1, x1, x1, lsr #32
0028e26cstr x1, [sp+32]
0028e270clz x1, x1
0028e274orr x2, xzr, 64
0028e278sub x1, x2, x1
0028e27cstr x1, [sp+48]
0028e280ldr x2, [sp+40]
0028e284add x0, x1, x2, lsl #6
0028e288str x0, [sp+24]
0028e28cldur x29, [sp-8]
0028e290ldr x30, [sp], 64
0028e294ret x30
0028e298
0028e298loc_28e298:
0028e298str xzr, [sp+24]
0028e29cmov x0, xzr
0028e2a0ldur x29, [sp-8]
0028e2a4ldr x30, [sp], 64
0028e2a8ret x30
0028e2ac
0028e2acloc_28e2ac:
0028e2acbl runtime.panicIndex
0028e2b0hint
0028e2b4
0028e2b4loc_28e2b4:
0028e2b4stp x0, x1, [sp+8]
0028e2b8str x2, [sp+24]
0028e2bcmov x3, x30
0028e2c0bl runtime.morestack_noctxt.abi0
0028e2c4ldp x0, x1, [sp+8]
0028e2c8ldr x2, [sp+24]
0028e2ccb 0x28e1e0
0028e1e0
0028e2d0
0028e2d0math/big.nat.trailingZeroBits: ; void math/big.nat.trailingZeroBits(math/big.nat x)
0028e2d0ldr x16, [x28+16]
0028e2d4subs xzr, sp, x16
0028e2d8b.ls 0x28e3a8
0028e2dcstr x30, [sp-64]!
0028e2e0stur x29, [sp-8]
0028e2e4sub x29, sp, 8
0028e2e8str x0, [sp+72]
0028e2ecstr x1, [sp+80]
0028e2f0str x2, [sp+88]
0028e2f4str xzr, [sp+24]
0028e2f8str x1, [sp+48]
0028e2fccbz x1, 0x28e304
0028e300b 0x28e318
0028e304
0028e304loc_28e304:
0028e304str xzr, [sp+24]
0028e308mov x0, xzr
0028e30cldur x29, [sp-8]
0028e310ldr x30, [sp], 64
0028e314ret x30
0028e318
0028e318loc_28e318:
0028e318str xzr, [sp+32]
0028e31cb 0x28e320
0028e320
0028e320loc_28e320:
0028e320ldr x0, [sp+32]
0028e324ldr x1, [sp+80]
0028e328ldr x2, [sp+72]
0028e32csubs xzr, x0, x1
0028e330b.lo 0x28e338
0028e334b 0x28e3a0
0028e338
0028e338loc_28e338:
0028e338ldr x2, [x2+3*x0]
0028e33ccbz x2, 0x28e344
0028e340b 0x28e358
0028e344
0028e344loc_28e344:
0028e344ldr x2, [sp+32]
0028e348add x2, x2, 1
0028e34cstr x2, [sp+32]
0028e350b 0x28e354
0028e354
0028e354loc_28e354:
0028e354b 0x28e320
0028e358
0028e358loc_28e358:
0028e358ldr x0, [sp+32]
0028e35cldr x1, [sp+80]
0028e360ldr x2, [sp+72]
0028e364subs xzr, x1, x0
0028e368b.hi 0x28e370
0028e36cb 0x28e39c
0028e370
0028e370loc_28e370:
0028e370ldr x1, [x2+3*x0]
0028e374str x1, [sp+40]
0028e378ldr x0, [sp+40]
0028e37cbl math/bits.TrailingZeros
0028e380str x0, [sp+48]
0028e384ldr x1, [sp+32]
0028e388add x0, x0, x1, lsl #6
0028e38cstr x0, [sp+24]
0028e390ldur x29, [sp-8]
0028e394ldr x30, [sp], 64
0028e398ret x30
0028e39c
0028e39cloc_28e39c:
0028e39cbl runtime.panicIndexU
0028e3a0
0028e3a0loc_28e3a0:
0028e3a0bl runtime.panicIndexU
0028e3a4hint
0028e3a8
0028e3a8loc_28e3a8:
0028e3a8stp x0, x1, [sp+8]
0028e3acstr x2, [sp+24]
0028e3b0mov x3, x30
0028e3b4bl runtime.morestack_noctxt.abi0
0028e3b8ldp x0, x1, [sp+8]
0028e3bcldr x2, [sp+24]
0028e3c0b 0x28e2d0
0028e3c4udf 0
0028e3c8udf 0
0028e3ccudf 0
0028e2d0
0028e2d0math/big.nat.trailingZeroBits: ; void math/big.nat.trailingZeroBits(math/big.nat x)
0028e2d0ldr x16, [x28+16]
0028e2d4subs xzr, sp, x16
0028e2d8b.ls 0x28e3a8
0028e2dcstr x30, [sp-64]!
0028e2e0stur x29, [sp-8]
0028e2e4sub x29, sp, 8
0028e2e8str x0, [sp+72]
0028e2ecstr x1, [sp+80]
0028e2f0str x2, [sp+88]
0028e2f4str xzr, [sp+24]
0028e2f8str x1, [sp+48]
0028e2fccbz x1, 0x28e304
0028e300b 0x28e318
0028e304
0028e304loc_28e304:
0028e304str xzr, [sp+24]
0028e308mov x0, xzr
0028e30cldur x29, [sp-8]
0028e310ldr x30, [sp], 64
0028e314ret x30
0028e318
0028e318loc_28e318:
0028e318str xzr, [sp+32]
0028e31cb 0x28e320
0028e320
0028e320loc_28e320:
0028e320ldr x0, [sp+32]
0028e324ldr x1, [sp+80]
0028e328ldr x2, [sp+72]
0028e32csubs xzr, x0, x1
0028e330b.lo 0x28e338
0028e334b 0x28e3a0
0028e338
0028e338loc_28e338:
0028e338ldr x2, [x2+3*x0]
0028e33ccbz x2, 0x28e344
0028e340b 0x28e358
0028e344
0028e344loc_28e344:
0028e344ldr x2, [sp+32]
0028e348add x2, x2, 1
0028e34cstr x2, [sp+32]
0028e350b 0x28e354
0028e354
0028e354loc_28e354:
0028e354b 0x28e320
0028e358
0028e358loc_28e358:
0028e358ldr x0, [sp+32]
0028e35cldr x1, [sp+80]
0028e360ldr x2, [sp+72]
0028e364subs xzr, x1, x0
0028e368b.hi 0x28e370
0028e36cb 0x28e39c
0028e370
0028e370loc_28e370:
0028e370ldr x1, [x2+3*x0]
0028e374str x1, [sp+40]
0028e378ldr x0, [sp+40]
0028e37cbl math/bits.TrailingZeros
0028e380str x0, [sp+48]
0028e384ldr x1, [sp+32]
0028e388add x0, x0, x1, lsl #6
0028e38cstr x0, [sp+24]
0028e390ldur x29, [sp-8]
0028e394ldr x30, [sp], 64
0028e398ret x30
0028e39c
0028e39cloc_28e39c:
0028e39cbl runtime.panicIndexU
0028e3a0
0028e3a0loc_28e3a0:
0028e3a0bl runtime.panicIndexU
0028e3a4hint
0028e3a8
0028e3a8loc_28e3a8:
0028e3a8stp x0, x1, [sp+8]
0028e3acstr x2, [sp+24]
0028e3b0mov x3, x30
0028e3b4bl runtime.morestack_noctxt.abi0
0028e3b8ldp x0, x1, [sp+8]
0028e3bcldr x2, [sp+24]
0028e3c0b 0x28e2d0
0028e3c4udf 0
0028e3c8udf 0
0028e3ccudf 0
0028e2d0
0028e3d0
0028e3d0math/big.nat.isPow2: ; void math/big.nat.isPow2(math/big.nat x)
0028e3d0ldr x16, [x28+16]
0028e3d4subs xzr, sp, x16
0028e3d8b.ls 0x28e53c
0028e3dcstr x30, [sp-80]!
0028e3e0stur x29, [sp-8]
0028e3e4sub x29, sp, 8
0028e3e8str x0, [sp+88]
0028e3ecstr x1, [sp+96]
0028e3f0str x2, [sp+104]
0028e3f4str xzr, [sp+40]
0028e3f8strb wzr, [sp+38]
0028e3fcstr xzr, [sp+48]
0028e400b 0x28e404
0028e404
0028e404loc_28e404:
0028e404ldr x0, [sp+48]
0028e408ldr x1, [sp+96]
0028e40cldr x2, [sp+88]
0028e410subs xzr, x1, x0
0028e414b.hi 0x28e41c
0028e418b 0x28e534
0028e41c
0028e41cloc_28e41c:
0028e41cldr x2, [x2+3*x0]
0028e420cbz x2, 0x28e428
0028e424b 0x28e43c
0028e428
0028e428loc_28e428:
0028e428ldr x2, [sp+48]
0028e42cadd x2, x2, 1
0028e430str x2, [sp+48]
0028e434b 0x28e438
0028e438
0028e438loc_28e438:
0028e438b 0x28e404
0028e43c
0028e43cloc_28e43c:
0028e43cldr x2, [sp+96]
0028e440str x2, [sp+64]
0028e444ldr x3, [sp+48]
0028e448sub x2, x2, 1
0028e44csubs xzr, x3, x2
0028e450cset x2, eq
0028e454strb w2, [sp+39]
0028e458b.eq 0x28e460
0028e45cb 0x28e4ac
0028e460
0028e460loc_28e460:
0028e460ldr x0, [sp+48]
0028e464ldr x1, [sp+96]
0028e468ldr x2, [sp+88]
0028e46csubs xzr, x0, x1
0028e470b.lo 0x28e478
0028e474b 0x28e530
0028e478
0028e478loc_28e478:
0028e478ldr x2, [x2+3*x0]
0028e47cldr x0, [sp+48]
0028e480ldr x1, [sp+96]
0028e484ldr x3, [sp+88]
0028e488subs xzr, x1, x0
0028e48cb.hi 0x28e494
0028e490b 0x28e52c
0028e494
0028e494loc_28e494:
0028e494ldr x3, [x3+3*x0]
0028e498sub x3, x3, 1
0028e49cands xzr, x2, x3
0028e4a0cset x2, eq
0028e4a4strb w2, [sp+39]
0028e4a8b 0x28e4b0
0028e4ac
0028e4acloc_28e4ac:
0028e4acb 0x28e4b0
0028e4b0
0028e4b0loc_28e4b0:
0028e4b0ldrb w2, [sp+39]
0028e4b4tbnz w2, 0, 0x28e4bc
0028e4b8b 0x28e50c
0028e4bc
0028e4bcloc_28e4bc:
0028e4bcldr x0, [sp+48]
0028e4c0ldr x1, [sp+96]
0028e4c4ldr x2, [sp+88]
0028e4c8subs xzr, x1, x0
0028e4ccb.hi 0x28e4d4
0028e4d0b 0x28e528
0028e4d4
0028e4d4loc_28e4d4:
0028e4d4ldr x1, [x2+3*x0]
0028e4d8str x1, [sp+56]
0028e4dcldr x0, [sp+56]
0028e4e0bl math/bits.TrailingZeros
0028e4e4str x0, [sp+64]
0028e4e8ldr x1, [sp+48]
0028e4ecadd x1, x0, x1, lsl #6
0028e4f0str x1, [sp+40]
0028e4f4orr x1, xzr, 1
0028e4f8strb w1, [sp+38]
0028e4fcldr x0, [sp+40]
0028e500ldur x29, [sp-8]
0028e504ldr x30, [sp], 80
0028e508ret x30
0028e50c
0028e50cloc_28e50c:
0028e50cstr xzr, [sp+40]
0028e510strb wzr, [sp+38]
0028e514ldr x0, [sp+40]
0028e518mov x1, xzr
0028e51cldur x29, [sp-8]
0028e520ldr x30, [sp], 80
0028e524ret x30
0028e528
0028e528loc_28e528:
0028e528bl runtime.panicIndexU
0028e52c
0028e52cloc_28e52c:
0028e52cbl runtime.panicIndexU
0028e530
0028e530loc_28e530:
0028e530bl runtime.panicIndexU
0028e534
0028e534loc_28e534:
0028e534bl runtime.panicIndexU
0028e538hint
0028e53c
0028e53cloc_28e53c:
0028e53cstp x0, x1, [sp+8]
0028e540str x2, [sp+24]
0028e544mov x3, x30
0028e548bl runtime.morestack_noctxt.abi0
0028e54cldp x0, x1, [sp+8]
0028e550ldr x2, [sp+24]
0028e554b 0x28e3d0
0028e558udf 0
0028e55cudf 0
0028e3d0
0028e3d0math/big.nat.isPow2: ; void math/big.nat.isPow2(math/big.nat x)
0028e3d0ldr x16, [x28+16]
0028e3d4subs xzr, sp, x16
0028e3d8b.ls 0x28e53c
0028e3dcstr x30, [sp-80]!
0028e3e0stur x29, [sp-8]
0028e3e4sub x29, sp, 8
0028e3e8str x0, [sp+88]
0028e3ecstr x1, [sp+96]
0028e3f0str x2, [sp+104]
0028e3f4str xzr, [sp+40]
0028e3f8strb wzr, [sp+38]
0028e3fcstr xzr, [sp+48]
0028e400b 0x28e404
0028e404
0028e404loc_28e404:
0028e404ldr x0, [sp+48]
0028e408ldr x1, [sp+96]
0028e40cldr x2, [sp+88]
0028e410subs xzr, x1, x0
0028e414b.hi 0x28e41c
0028e418b 0x28e534
0028e41c
0028e41cloc_28e41c:
0028e41cldr x2, [x2+3*x0]
0028e420cbz x2, 0x28e428
0028e424b 0x28e43c
0028e428
0028e428loc_28e428:
0028e428ldr x2, [sp+48]
0028e42cadd x2, x2, 1
0028e430str x2, [sp+48]
0028e434b 0x28e438
0028e438
0028e438loc_28e438:
0028e438b 0x28e404
0028e43c
0028e43cloc_28e43c:
0028e43cldr x2, [sp+96]
0028e440str x2, [sp+64]
0028e444ldr x3, [sp+48]
0028e448sub x2, x2, 1
0028e44csubs xzr, x3, x2
0028e450cset x2, eq
0028e454strb w2, [sp+39]
0028e458b.eq 0x28e460
0028e45cb 0x28e4ac
0028e460
0028e460loc_28e460:
0028e460ldr x0, [sp+48]
0028e464ldr x1, [sp+96]
0028e468ldr x2, [sp+88]
0028e46csubs xzr, x0, x1
0028e470b.lo 0x28e478
0028e474b 0x28e530
0028e478
0028e478loc_28e478:
0028e478ldr x2, [x2+3*x0]
0028e47cldr x0, [sp+48]
0028e480ldr x1, [sp+96]
0028e484ldr x3, [sp+88]
0028e488subs xzr, x1, x0
0028e48cb.hi 0x28e494
0028e490b 0x28e52c
0028e494
0028e494loc_28e494:
0028e494ldr x3, [x3+3*x0]
0028e498sub x3, x3, 1
0028e49cands xzr, x2, x3
0028e4a0cset x2, eq
0028e4a4strb w2, [sp+39]
0028e4a8b 0x28e4b0
0028e4ac
0028e4acloc_28e4ac:
0028e4acb 0x28e4b0
0028e4b0
0028e4b0loc_28e4b0:
0028e4b0ldrb w2, [sp+39]
0028e4b4tbnz w2, 0, 0x28e4bc
0028e4b8b 0x28e50c
0028e4bc
0028e4bcloc_28e4bc:
0028e4bcldr x0, [sp+48]
0028e4c0ldr x1, [sp+96]
0028e4c4ldr x2, [sp+88]
0028e4c8subs xzr, x1, x0
0028e4ccb.hi 0x28e4d4
0028e4d0b 0x28e528
0028e4d4
0028e4d4loc_28e4d4:
0028e4d4ldr x1, [x2+3*x0]
0028e4d8str x1, [sp+56]
0028e4dcldr x0, [sp+56]
0028e4e0bl math/bits.TrailingZeros
0028e4e4str x0, [sp+64]
0028e4e8ldr x1, [sp+48]
0028e4ecadd x1, x0, x1, lsl #6
0028e4f0str x1, [sp+40]
0028e4f4orr x1, xzr, 1
0028e4f8strb w1, [sp+38]
0028e4fcldr x0, [sp+40]
0028e500ldur x29, [sp-8]
0028e504ldr x30, [sp], 80
0028e508ret x30
0028e50c
0028e50cloc_28e50c:
0028e50cstr xzr, [sp+40]
0028e510strb wzr, [sp+38]
0028e514ldr x0, [sp+40]
0028e518mov x1, xzr
0028e51cldur x29, [sp-8]
0028e520ldr x30, [sp], 80
0028e524ret x30
0028e528
0028e528loc_28e528:
0028e528bl runtime.panicIndexU
0028e52c
0028e52cloc_28e52c:
0028e52cbl runtime.panicIndexU
0028e530
0028e530loc_28e530:
0028e530bl runtime.panicIndexU
0028e534
0028e534loc_28e534:
0028e534bl runtime.panicIndexU
0028e538hint
0028e53c
0028e53cloc_28e53c:
0028e53cstp x0, x1, [sp+8]
0028e540str x2, [sp+24]
0028e544mov x3, x30
0028e548bl runtime.morestack_noctxt.abi0
0028e54cldp x0, x1, [sp+8]
0028e550ldr x2, [sp+24]
0028e554b 0x28e3d0
0028e558udf 0
0028e55cudf 0
0028e3d0
0028e560
0028e560math/big.same: ; void math/big.same(math/big.nat x, math/big.nat y)
0028e560ldr x16, [x28+16]
0028e564subs xzr, sp, x16
0028e568b.ls 0x28e644
0028e56cstr x30, [sp-64]!
0028e570stur x29, [sp-8]
0028e574sub x29, sp, 8
0028e578str x0, [sp+72]
0028e57cstr x1, [sp+80]
0028e580str x2, [sp+88]
0028e584str x3, [sp+96]
0028e588str x4, [sp+104]
0028e58cstr x5, [sp+112]
0028e590strb wzr, [sp+29]
0028e594ldr x2, [sp+80]
0028e598str x2, [sp+48]
0028e59cstr x4, [sp+40]
0028e5a0subs xzr, x4, x2
0028e5a4cset x2, eq
0028e5a8strb w2, [sp+30]
0028e5acb.eq 0x28e5b4
0028e5b0b 0x28e5cc
0028e5b4
0028e5b4loc_28e5b4:
0028e5b4ldr x2, [sp+80]
0028e5b8str x2, [sp+32]
0028e5bcsubs xzr, x2, 0
0028e5c0cset x2, ne
0028e5c4strb w2, [sp+30]
0028e5c8b 0x28e5d0
0028e5cc
0028e5ccloc_28e5cc:
0028e5ccb 0x28e5d0
0028e5d0
0028e5d0loc_28e5d0:
0028e5d0ldrb w2, [sp+30]
0028e5d4strb w2, [sp+31]
0028e5d8tbnz w2, 0, 0x28e5e0
0028e5dcb 0x28e618
0028e5e0
0028e5e0loc_28e5e0:
0028e5e0ldr x1, [sp+80]
0028e5e4ldr x2, [sp+72]
0028e5e8subs xzr, x1, 0
0028e5ecb.hi 0x28e5f4
0028e5f0b 0x28e638
0028e5f4
0028e5f4loc_28e5f4:
0028e5f4ldr x1, [sp+104]
0028e5f8ldr x3, [sp+96]
0028e5fcsubs xzr, x1, 0
0028e600b.hi 0x28e608
0028e604b 0x28e630
0028e608
0028e608loc_28e608:
0028e608subs xzr, x3, x2
0028e60ccset x1, eq
0028e610strb w1, [sp+31]
0028e614b 0x28e61c
0028e618
0028e618loc_28e618:
0028e618b 0x28e61c
0028e61c
0028e61cloc_28e61c:
0028e61cldrb w0, [sp+31]
0028e620strb w0, [sp+29]
0028e624ldur x29, [sp-8]
0028e628ldr x30, [sp], 64
0028e62cret x30
0028e630
0028e630loc_28e630:
0028e630mov x0, xzr
0028e634bl runtime.panicIndex
0028e638
0028e638loc_28e638:
0028e638mov x0, xzr
0028e63cbl runtime.panicIndex
0028e640hint
0028e644
0028e644loc_28e644:
0028e644stp x0, x1, [sp+8]
0028e648stp x2, x3, [sp+24]
0028e64cstp x4, x5, [sp+40]
0028e650mov x3, x30
0028e654bl runtime.morestack_noctxt.abi0
0028e658ldp x0, x1, [sp+8]
0028e65cldp x2, x3, [sp+24]
0028e660ldp x4, x5, [sp+40]
0028e664b 0x28e560
0028e668udf 0
0028e66cudf 0
0028e560
0028e560math/big.same: ; void math/big.same(math/big.nat x, math/big.nat y)
0028e560ldr x16, [x28+16]
0028e564subs xzr, sp, x16
0028e568b.ls 0x28e644
0028e56cstr x30, [sp-64]!
0028e570stur x29, [sp-8]
0028e574sub x29, sp, 8
0028e578str x0, [sp+72]
0028e57cstr x1, [sp+80]
0028e580str x2, [sp+88]
0028e584str x3, [sp+96]
0028e588str x4, [sp+104]
0028e58cstr x5, [sp+112]
0028e590strb wzr, [sp+29]
0028e594ldr x2, [sp+80]
0028e598str x2, [sp+48]
0028e59cstr x4, [sp+40]
0028e5a0subs xzr, x4, x2
0028e5a4cset x2, eq
0028e5a8strb w2, [sp+30]
0028e5acb.eq 0x28e5b4
0028e5b0b 0x28e5cc
0028e5b4
0028e5b4loc_28e5b4:
0028e5b4ldr x2, [sp+80]
0028e5b8str x2, [sp+32]
0028e5bcsubs xzr, x2, 0
0028e5c0cset x2, ne
0028e5c4strb w2, [sp+30]
0028e5c8b 0x28e5d0
0028e5cc
0028e5ccloc_28e5cc:
0028e5ccb 0x28e5d0
0028e5d0
0028e5d0loc_28e5d0:
0028e5d0ldrb w2, [sp+30]
0028e5d4strb w2, [sp+31]
0028e5d8tbnz w2, 0, 0x28e5e0
0028e5dcb 0x28e618
0028e5e0
0028e5e0loc_28e5e0:
0028e5e0ldr x1, [sp+80]
0028e5e4ldr x2, [sp+72]
0028e5e8subs xzr, x1, 0
0028e5ecb.hi 0x28e5f4
0028e5f0b 0x28e638
0028e5f4
0028e5f4loc_28e5f4:
0028e5f4ldr x1, [sp+104]
0028e5f8ldr x3, [sp+96]
0028e5fcsubs xzr, x1, 0
0028e600b.hi 0x28e608
0028e604b 0x28e630
0028e608
0028e608loc_28e608:
0028e608subs xzr, x3, x2
0028e60ccset x1, eq
0028e610strb w1, [sp+31]
0028e614b 0x28e61c
0028e618
0028e618loc_28e618:
0028e618b 0x28e61c
0028e61c
0028e61cloc_28e61c:
0028e61cldrb w0, [sp+31]
0028e620strb w0, [sp+29]
0028e624ldur x29, [sp-8]
0028e628ldr x30, [sp], 64
0028e62cret x30
0028e630
0028e630loc_28e630:
0028e630mov x0, xzr
0028e634bl runtime.panicIndex
0028e638
0028e638loc_28e638:
0028e638mov x0, xzr
0028e63cbl runtime.panicIndex
0028e640hint
0028e644
0028e644loc_28e644:
0028e644stp x0, x1, [sp+8]
0028e648stp x2, x3, [sp+24]
0028e64cstp x4, x5, [sp+40]
0028e650mov x3, x30
0028e654bl runtime.morestack_noctxt.abi0
0028e658ldp x0, x1, [sp+8]
0028e65cldp x2, x3, [sp+24]
0028e660ldp x4, x5, [sp+40]
0028e664b 0x28e560
0028e668udf 0
0028e66cudf 0
0028e560
0028e670
0028e670math/big.nat.shl: ; void math/big.nat.shl(math/big.nat z, math/big.nat x, uint s)
0028e670ldr x16, [x28+16]
0028e674sub x17, sp, 64
0028e678subs xzr, x17, x16
0028e67cb.ls 0x28e954
0028e680str x30, [sp-192]!
0028e684stur x29, [sp-8]
0028e688sub x29, sp, 8
0028e68cstr x0, [sp+200]
0028e690str x1, [sp+208]
0028e694str x2, [sp+216]
0028e698str x3, [sp+224]
0028e69cstr x4, [sp+232]
0028e6a0str x5, [sp+240]
0028e6a4str x6, [sp+248]
0028e6a8str xzr, [sp+128]
0028e6acstp xzr, xzr, [sp+136]
0028e6b0ldr x6, [sp+248]
0028e6b4cbz x6, 0x28e6bc
0028e6b8b 0x28e774
0028e6bc
0028e6bcloc_28e6bc:
0028e6bcldr x0, [sp+200]
0028e6c0ldr x3, [sp+224]
0028e6c4ldr x1, [sp+208]
0028e6c8ldr x4, [sp+232]
0028e6ccldr x2, [sp+216]
0028e6d0ldr x5, [sp+240]
0028e6d4bl math/big.same
0028e6d8strb w0, [sp+79]
0028e6dctbnz w0, 0, 0x28e6e4
0028e6e0b 0x28e708
0028e6e4
0028e6e4loc_28e6e4:
0028e6e4ldr x0, [sp+200]
0028e6e8ldr x1, [sp+208]
0028e6ecldr x2, [sp+216]
0028e6f0str x0, [sp+128]
0028e6f4str x1, [sp+136]
0028e6f8str x2, [sp+144]
0028e6fcldur x29, [sp-8]
0028e700ldr x30, [sp], 192
0028e704ret x30
0028e708
0028e708loc_28e708:
0028e708ldr x0, [sp+200]
0028e70cldr x3, [sp+224]
0028e710ldr x1, [sp+208]
0028e714ldr x4, [sp+232]
0028e718ldr x2, [sp+216]
0028e71cldr x5, [sp+240]
0028e720bl math/big.alias
0028e724strb w0, [sp+79]
0028e728tbnz w0, 0, 0x28e730
0028e72cb 0x28e734
0028e730
0028e730loc_28e730:
0028e730b 0x28e778
0028e734
0028e734loc_28e734:
0028e734ldr x0, [sp+200]
0028e738ldr x3, [sp+224]
0028e73cldr x1, [sp+208]
0028e740ldr x4, [sp+232]
0028e744ldr x2, [sp+216]
0028e748ldr x5, [sp+240]
0028e74cbl math/big.nat.set
0028e750str x0, [sp+152]
0028e754str x1, [sp+160]
0028e758str x2, [sp+168]
0028e75cstr x0, [sp+128]
0028e760str x1, [sp+136]
0028e764str x2, [sp+144]
0028e768ldur x29, [sp-8]
0028e76cldr x30, [sp], 192
0028e770ret x30
0028e774
0028e774loc_28e774:
0028e774b 0x28e778
0028e778
0028e778loc_28e778:
0028e778ldr x4, [sp+232]
0028e77cstr x4, [sp+88]
0028e780cbz x4, 0x28e788
0028e784b 0x28e7c0
0028e788
0028e788loc_28e788:
0028e788ldr x0, [sp+200]
0028e78cldr x2, [sp+216]
0028e790b 0x28e794
0028e794
0028e794loc_28e794:
0028e794b 0x28e798
0028e798
0028e798loc_28e798:
0028e798str x0, [sp+152]
0028e79cstr xzr, [sp+160]
0028e7a0str x2, [sp+168]
0028e7a4str x0, [sp+128]
0028e7a8str xzr, [sp+136]
0028e7acstr x2, [sp+144]
0028e7b0mov x1, xzr
0028e7b4ldur x29, [sp-8]
0028e7b8ldr x30, [sp], 192
0028e7bcret x30
0028e7c0
0028e7c0loc_28e7c0:
0028e7c0ldr x5, [sp+248]
0028e7c4add x4, x4, x5, lsr #6
0028e7c8str x4, [sp+80]
0028e7ccldr x0, [sp+200]
0028e7d0ldr x1, [sp+208]
0028e7d4ldr x2, [sp+216]
0028e7d8add x3, x4, 1
0028e7dcbl math/big.nat.make
0028e7e0str x0, [sp+200]
0028e7e4str x1, [sp+208]
0028e7e8str x2, [sp+216]
0028e7ecldr x4, [sp+88]
0028e7f0ldr x5, [sp+80]
0028e7f4sub x6, x5, x4
0028e7f8str x6, [sp+104]
0028e7fcldr x1, [sp+80]
0028e800subs xzr, x2, x1
0028e804b.hs 0x28e80c
0028e808b 0x28e94c
0028e80c
0028e80cloc_28e80c:
0028e80csubs xzr, x1, x6
0028e810b.hs 0x28e818
0028e814b 0x28e944
0028e818
0028e818loc_28e818:
0028e818add x2, x2, x4
0028e81csub x2, x2, x5
0028e820add x1, x1, x4
0028e824sub x1, x1, x5
0028e828sub x3, xzr, x2
0028e82cubfm x4, x6, 61, 60
0028e830and x3, x4, x3, asr #63
0028e834add x0, x0, x3
0028e838str x0, [sp+152]
0028e83cstr x1, [sp+160]
0028e840str x2, [sp+168]
0028e844ldr x3, [sp+248]
0028e848and x3, x3, 63
0028e84cstr x3, [sp+120]
0028e850ldr x4, [sp+224]
0028e854ldr x5, [sp+232]
0028e858ldr x6, [sp+240]
0028e85cstr x0, [sp+8]
0028e860str x1, [sp+16]
0028e864str x2, [sp+24]
0028e868str x4, [sp+32]
0028e86cstr x5, [sp+40]
0028e870str x6, [sp+48]
0028e874str x3, [sp+56]
0028e878bl math/big.shlVU.abi0
0028e87cldr x0, [sp+64]
0028e880str x0, [sp+96]
0028e884ldr x1, [sp+80]
0028e888ldr x2, [sp+208]
0028e88cldr x3, [sp+200]
0028e890subs xzr, x2, x1
0028e894b.hi 0x28e89c
0028e898b 0x28e938
0028e89c
0028e89cloc_28e89c:
0028e89cstr x0, [x3+3*x1]
0028e8a0ldr x3, [sp+88]
0028e8a4ldr x4, [sp+80]
0028e8a8sub x1, x4, x3
0028e8acstr x1, [sp+104]
0028e8b0ldr x2, [sp+216]
0028e8b4ldr x3, [sp+200]
0028e8b8subs xzr, x2, x1
0028e8bcb.hs 0x28e8c4
0028e8c0b 0x28e934
0028e8c4
0028e8c4loc_28e8c4:
0028e8c4b 0x28e8c8
0028e8c8
0028e8c8loc_28e8c8:
0028e8c8str x3, [sp+152]
0028e8ccstr x1, [sp+160]
0028e8d0str x2, [sp+168]
0028e8d4cbnz x1, 0x28e8dc
0028e8d8b 0x28e8fc
0028e8dc
0028e8dcloc_28e8dc:
0028e8dcstr x3, [sp+176]
0028e8e0ldr x2, [sp+160]
0028e8e4ubfm x2, x2, 61, 60
0028e8e8str x2, [sp+112]
0028e8ecldr x1, [sp+112]
0028e8f0ldr x0, [sp+176]
0028e8f4bl runtime.memclrNoHeapPointers
0028e8f8b 0x28e900
0028e8fc
0028e8fcloc_28e8fc:
0028e8fcb 0x28e900
0028e900
0028e900loc_28e900:
0028e900ldr x0, [sp+200]
0028e904ldr x1, [sp+208]
0028e908ldr x2, [sp+216]
0028e90cbl math/big.nat.norm
0028e910str x0, [sp+152]
0028e914str x1, [sp+160]
0028e918str x2, [sp+168]
0028e91cstr x0, [sp+128]
0028e920str x1, [sp+136]
0028e924str x2, [sp+144]
0028e928ldur x29, [sp-8]
0028e92cldr x30, [sp], 192
0028e930ret x30
0028e934
0028e934loc_28e934:
0028e934bl runtime.panicSliceAcap
0028e938
0028e938loc_28e938:
0028e938mov x0, x1
0028e93cmov x1, x2
0028e940bl runtime.panicIndex
0028e944
0028e944loc_28e944:
0028e944mov x0, x6
0028e948bl runtime.panicSliceB
0028e94c
0028e94cloc_28e94c:
0028e94cbl runtime.panicSliceAcap
0028e950hint
0028e954
0028e954loc_28e954:
0028e954stp x0, x1, [sp+8]
0028e958stp x2, x3, [sp+24]
0028e95cstp x4, x5, [sp+40]
0028e960str x6, [sp+56]
0028e964mov x3, x30
0028e968bl runtime.morestack_noctxt.abi0
0028e96cldp x0, x1, [sp+8]
0028e970ldp x2, x3, [sp+24]
0028e974ldp x4, x5, [sp+40]
0028e978ldr x6, [sp+56]
0028e97cb 0x28e670
0028e670
0028e670math/big.nat.shl: ; void math/big.nat.shl(math/big.nat z, math/big.nat x, uint s)
0028e670ldr x16, [x28+16]
0028e674sub x17, sp, 64
0028e678subs xzr, x17, x16
0028e67cb.ls 0x28e954
0028e680str x30, [sp-192]!
0028e684stur x29, [sp-8]
0028e688sub x29, sp, 8
0028e68cstr x0, [sp+200]
0028e690str x1, [sp+208]
0028e694str x2, [sp+216]
0028e698str x3, [sp+224]
0028e69cstr x4, [sp+232]
0028e6a0str x5, [sp+240]
0028e6a4str x6, [sp+248]
0028e6a8str xzr, [sp+128]
0028e6acstp xzr, xzr, [sp+136]
0028e6b0ldr x6, [sp+248]
0028e6b4cbz x6, 0x28e6bc
0028e6b8b 0x28e774
0028e6bc
0028e6bcloc_28e6bc:
0028e6bcldr x0, [sp+200]
0028e6c0ldr x3, [sp+224]
0028e6c4ldr x1, [sp+208]
0028e6c8ldr x4, [sp+232]
0028e6ccldr x2, [sp+216]
0028e6d0ldr x5, [sp+240]
0028e6d4bl math/big.same
0028e6d8strb w0, [sp+79]
0028e6dctbnz w0, 0, 0x28e6e4
0028e6e0b 0x28e708
0028e6e4
0028e6e4loc_28e6e4:
0028e6e4ldr x0, [sp+200]
0028e6e8ldr x1, [sp+208]
0028e6ecldr x2, [sp+216]
0028e6f0str x0, [sp+128]
0028e6f4str x1, [sp+136]
0028e6f8str x2, [sp+144]
0028e6fcldur x29, [sp-8]
0028e700ldr x30, [sp], 192
0028e704ret x30
0028e708
0028e708loc_28e708:
0028e708ldr x0, [sp+200]
0028e70cldr x3, [sp+224]
0028e710ldr x1, [sp+208]
0028e714ldr x4, [sp+232]
0028e718ldr x2, [sp+216]
0028e71cldr x5, [sp+240]
0028e720bl math/big.alias
0028e724strb w0, [sp+79]
0028e728tbnz w0, 0, 0x28e730
0028e72cb 0x28e734
0028e730
0028e730loc_28e730:
0028e730b 0x28e778
0028e734
0028e734loc_28e734:
0028e734ldr x0, [sp+200]
0028e738ldr x3, [sp+224]
0028e73cldr x1, [sp+208]
0028e740ldr x4, [sp+232]
0028e744ldr x2, [sp+216]
0028e748ldr x5, [sp+240]
0028e74cbl math/big.nat.set
0028e750str x0, [sp+152]
0028e754str x1, [sp+160]
0028e758str x2, [sp+168]
0028e75cstr x0, [sp+128]
0028e760str x1, [sp+136]
0028e764str x2, [sp+144]
0028e768ldur x29, [sp-8]
0028e76cldr x30, [sp], 192
0028e770ret x30
0028e774
0028e774loc_28e774:
0028e774b 0x28e778
0028e778
0028e778loc_28e778:
0028e778ldr x4, [sp+232]
0028e77cstr x4, [sp+88]
0028e780cbz x4, 0x28e788
0028e784b 0x28e7c0
0028e788
0028e788loc_28e788:
0028e788ldr x0, [sp+200]
0028e78cldr x2, [sp+216]
0028e790b 0x28e794
0028e794
0028e794loc_28e794:
0028e794b 0x28e798
0028e798
0028e798loc_28e798:
0028e798str x0, [sp+152]
0028e79cstr xzr, [sp+160]
0028e7a0str x2, [sp+168]
0028e7a4str x0, [sp+128]
0028e7a8str xzr, [sp+136]
0028e7acstr x2, [sp+144]
0028e7b0mov x1, xzr
0028e7b4ldur x29, [sp-8]
0028e7b8ldr x30, [sp], 192
0028e7bcret x30
0028e7c0
0028e7c0loc_28e7c0:
0028e7c0ldr x5, [sp+248]
0028e7c4add x4, x4, x5, lsr #6
0028e7c8str x4, [sp+80]
0028e7ccldr x0, [sp+200]
0028e7d0ldr x1, [sp+208]
0028e7d4ldr x2, [sp+216]
0028e7d8add x3, x4, 1
0028e7dcbl math/big.nat.make
0028e7e0str x0, [sp+200]
0028e7e4str x1, [sp+208]
0028e7e8str x2, [sp+216]
0028e7ecldr x4, [sp+88]
0028e7f0ldr x5, [sp+80]
0028e7f4sub x6, x5, x4
0028e7f8str x6, [sp+104]
0028e7fcldr x1, [sp+80]
0028e800subs xzr, x2, x1
0028e804b.hs 0x28e80c
0028e808b 0x28e94c
0028e80c
0028e80cloc_28e80c:
0028e80csubs xzr, x1, x6
0028e810b.hs 0x28e818
0028e814b 0x28e944
0028e818
0028e818loc_28e818:
0028e818add x2, x2, x4
0028e81csub x2, x2, x5
0028e820add x1, x1, x4
0028e824sub x1, x1, x5
0028e828sub x3, xzr, x2
0028e82cubfm x4, x6, 61, 60
0028e830and x3, x4, x3, asr #63
0028e834add x0, x0, x3
0028e838str x0, [sp+152]
0028e83cstr x1, [sp+160]
0028e840str x2, [sp+168]
0028e844ldr x3, [sp+248]
0028e848and x3, x3, 63
0028e84cstr x3, [sp+120]
0028e850ldr x4, [sp+224]
0028e854ldr x5, [sp+232]
0028e858ldr x6, [sp+240]
0028e85cstr x0, [sp+8]
0028e860str x1, [sp+16]
0028e864str x2, [sp+24]
0028e868str x4, [sp+32]
0028e86cstr x5, [sp+40]
0028e870str x6, [sp+48]
0028e874str x3, [sp+56]
0028e878bl math/big.shlVU.abi0
0028e87cldr x0, [sp+64]
0028e880str x0, [sp+96]
0028e884ldr x1, [sp+80]
0028e888ldr x2, [sp+208]
0028e88cldr x3, [sp+200]
0028e890subs xzr, x2, x1
0028e894b.hi 0x28e89c
0028e898b 0x28e938
0028e89c
0028e89cloc_28e89c:
0028e89cstr x0, [x3+3*x1]
0028e8a0ldr x3, [sp+88]
0028e8a4ldr x4, [sp+80]
0028e8a8sub x1, x4, x3
0028e8acstr x1, [sp+104]
0028e8b0ldr x2, [sp+216]
0028e8b4ldr x3, [sp+200]
0028e8b8subs xzr, x2, x1
0028e8bcb.hs 0x28e8c4
0028e8c0b 0x28e934
0028e8c4
0028e8c4loc_28e8c4:
0028e8c4b 0x28e8c8
0028e8c8
0028e8c8loc_28e8c8:
0028e8c8str x3, [sp+152]
0028e8ccstr x1, [sp+160]
0028e8d0str x2, [sp+168]
0028e8d4cbnz x1, 0x28e8dc
0028e8d8b 0x28e8fc
0028e8dc
0028e8dcloc_28e8dc:
0028e8dcstr x3, [sp+176]
0028e8e0ldr x2, [sp+160]
0028e8e4ubfm x2, x2, 61, 60
0028e8e8str x2, [sp+112]
0028e8ecldr x1, [sp+112]
0028e8f0ldr x0, [sp+176]
0028e8f4bl runtime.memclrNoHeapPointers
0028e8f8b 0x28e900
0028e8fc
0028e8fcloc_28e8fc:
0028e8fcb 0x28e900
0028e900
0028e900loc_28e900:
0028e900ldr x0, [sp+200]
0028e904ldr x1, [sp+208]
0028e908ldr x2, [sp+216]
0028e90cbl math/big.nat.norm
0028e910str x0, [sp+152]
0028e914str x1, [sp+160]
0028e918str x2, [sp+168]
0028e91cstr x0, [sp+128]
0028e920str x1, [sp+136]
0028e924str x2, [sp+144]
0028e928ldur x29, [sp-8]
0028e92cldr x30, [sp], 192
0028e930ret x30
0028e934
0028e934loc_28e934:
0028e934bl runtime.panicSliceAcap
0028e938
0028e938loc_28e938:
0028e938mov x0, x1
0028e93cmov x1, x2
0028e940bl runtime.panicIndex
0028e944
0028e944loc_28e944:
0028e944mov x0, x6
0028e948bl runtime.panicSliceB
0028e94c
0028e94cloc_28e94c:
0028e94cbl runtime.panicSliceAcap
0028e950hint
0028e954
0028e954loc_28e954:
0028e954stp x0, x1, [sp+8]
0028e958stp x2, x3, [sp+24]
0028e95cstp x4, x5, [sp+40]
0028e960str x6, [sp+56]
0028e964mov x3, x30
0028e968bl runtime.morestack_noctxt.abi0
0028e96cldp x0, x1, [sp+8]
0028e970ldp x2, x3, [sp+24]
0028e974ldp x4, x5, [sp+40]
0028e978ldr x6, [sp+56]
0028e97cb 0x28e670
0028e670
0028e980
0028e980math/big.nat.shr: ; void math/big.nat.shr(math/big.nat z, math/big.nat x, uint s)
0028e980ldr x16, [x28+16]
0028e984sub x17, sp, 48
0028e988subs xzr, x17, x16
0028e98cb.ls 0x28ebc8
0028e990str x30, [sp-176]!
0028e994stur x29, [sp-8]
0028e998sub x29, sp, 8
0028e99cstr x0, [sp+184]
0028e9a0str x1, [sp+192]
0028e9a4str x2, [sp+200]
0028e9a8str x3, [sp+208]
0028e9acstr x4, [sp+216]
0028e9b0str x5, [sp+224]
0028e9b4str x6, [sp+232]
0028e9b8str xzr, [sp+120]
0028e9bcstp xzr, xzr, [sp+128]
0028e9c0ldr x6, [sp+232]
0028e9c4cbz x6, 0x28e9cc
0028e9c8b 0x28ea84
0028e9cc
0028e9ccloc_28e9cc:
0028e9ccldr x0, [sp+184]
0028e9d0ldr x3, [sp+208]
0028e9d4ldr x1, [sp+192]
0028e9d8ldr x4, [sp+216]
0028e9dcldr x2, [sp+200]
0028e9e0ldr x5, [sp+224]
0028e9e4bl math/big.same
0028e9e8strb w0, [sp+87]
0028e9ectbnz w0, 0, 0x28e9f4
0028e9f0b 0x28ea18
0028e9f4
0028e9f4loc_28e9f4:
0028e9f4ldr x0, [sp+184]
0028e9f8ldr x1, [sp+192]
0028e9fcldr x2, [sp+200]
0028ea00str x0, [sp+120]
0028ea04str x1, [sp+128]
0028ea08str x2, [sp+136]
0028ea0cldur x29, [sp-8]
0028ea10ldr x30, [sp], 176
0028ea14ret x30
0028ea18
0028ea18loc_28ea18:
0028ea18ldr x0, [sp+184]
0028ea1cldr x3, [sp+208]
0028ea20ldr x1, [sp+192]
0028ea24ldr x4, [sp+216]
0028ea28ldr x2, [sp+200]
0028ea2cldr x5, [sp+224]
0028ea30bl math/big.alias
0028ea34strb w0, [sp+87]
0028ea38tbnz w0, 0, 0x28ea40
0028ea3cb 0x28ea44
0028ea40
0028ea40loc_28ea40:
0028ea40b 0x28ea88
0028ea44
0028ea44loc_28ea44:
0028ea44ldr x0, [sp+184]
0028ea48ldr x3, [sp+208]
0028ea4cldr x1, [sp+192]
0028ea50ldr x4, [sp+216]
0028ea54ldr x2, [sp+200]
0028ea58ldr x5, [sp+224]
0028ea5cbl math/big.nat.set
0028ea60str x0, [sp+144]
0028ea64str x1, [sp+152]
0028ea68str x2, [sp+160]
0028ea6cstr x0, [sp+120]
0028ea70str x1, [sp+128]
0028ea74str x2, [sp+136]
0028ea78ldur x29, [sp-8]
0028ea7cldr x30, [sp], 176
0028ea80ret x30
0028ea84
0028ea84loc_28ea84:
0028ea84b 0x28ea88
0028ea88
0028ea88loc_28ea88:
0028ea88ldr x4, [sp+216]
0028ea8cstr x4, [sp+96]
0028ea90ldr x5, [sp+232]
0028ea94sub x3, x4, x5, lsr #6
0028ea98str x3, [sp+88]
0028ea9csubs xzr, x3, 0
0028eaa0b.le 0x28eaa8
0028eaa4b 0x28eae0
0028eaa8
0028eaa8loc_28eaa8:
0028eaa8ldr x0, [sp+184]
0028eaacldr x2, [sp+200]
0028eab0b 0x28eab4
0028eab4
0028eab4loc_28eab4:
0028eab4b 0x28eab8
0028eab8
0028eab8loc_28eab8:
0028eab8str x0, [sp+144]
0028eabcstr xzr, [sp+152]
0028eac0str x2, [sp+160]
0028eac4str x0, [sp+120]
0028eac8str xzr, [sp+128]
0028eaccstr x2, [sp+136]
0028ead0mov x1, xzr
0028ead4ldur x29, [sp-8]
0028ead8ldr x30, [sp], 176
0028eadcret x30
0028eae0
0028eae0loc_28eae0:
0028eae0ldr x0, [sp+184]
0028eae4ldr x1, [sp+192]
0028eae8ldr x2, [sp+200]
0028eaecbl math/big.nat.make
0028eaf0str x0, [sp+184]
0028eaf4str x1, [sp+192]
0028eaf8str x2, [sp+200]
0028eafcldr x4, [sp+88]
0028eb00ldr x5, [sp+96]
0028eb04sub x0, x5, x4
0028eb08str x0, [sp+112]
0028eb0cldr x1, [sp+216]
0028eb10ldr x6, [sp+208]
0028eb14ldr x7, [sp+224]
0028eb18b 0x28eb1c
0028eb1c
0028eb1cloc_28eb1c:
0028eb1csubs xzr, x1, x0
0028eb20b.hs 0x28eb28
0028eb24b 0x28ebc0
0028eb28
0028eb28loc_28eb28:
0028eb28add x2, x7, x4
0028eb2csub x2, x2, x5
0028eb30add x1, x1, x4
0028eb34sub x1, x1, x5
0028eb38sub x3, xzr, x2
0028eb3cubfm x0, x0, 61, 60
0028eb40and x0, x0, x3, asr #63
0028eb44add x0, x6, x0
0028eb48str x0, [sp+144]
0028eb4cstr x1, [sp+152]
0028eb50str x2, [sp+160]
0028eb54ldr x3, [sp+232]
0028eb58and x3, x3, 63
0028eb5cstr x3, [sp+104]
0028eb60ldr x4, [sp+184]
0028eb64ldr x5, [sp+192]
0028eb68ldr x6, [sp+200]
0028eb6cstr x4, [sp+8]
0028eb70str x5, [sp+16]
0028eb74str x6, [sp+24]
0028eb78str x0, [sp+32]
0028eb7cstr x1, [sp+40]
0028eb80str x2, [sp+48]
0028eb84str x3, [sp+56]
0028eb88bl math/big.shrVU.abi0
0028eb8cldr x0, [sp+184]
0028eb90ldr x1, [sp+192]
0028eb94ldr x2, [sp+200]
0028eb98bl math/big.nat.norm
0028eb9cstr x0, [sp+144]
0028eba0str x1, [sp+152]
0028eba4str x2, [sp+160]
0028eba8str x0, [sp+120]
0028ebacstr x1, [sp+128]
0028ebb0str x2, [sp+136]
0028ebb4ldur x29, [sp-8]
0028ebb8ldr x30, [sp], 176
0028ebbcret x30
0028ebc0
0028ebc0loc_28ebc0:
0028ebc0bl runtime.panicSliceB
0028ebc4hint
0028ebc8
0028ebc8loc_28ebc8:
0028ebc8stp x0, x1, [sp+8]
0028ebccstp x2, x3, [sp+24]
0028ebd0stp x4, x5, [sp+40]
0028ebd4str x6, [sp+56]
0028ebd8mov x3, x30
0028ebdcbl runtime.morestack_noctxt.abi0
0028ebe0ldp x0, x1, [sp+8]
0028ebe4ldp x2, x3, [sp+24]
0028ebe8ldp x4, x5, [sp+40]
0028ebecldr x6, [sp+56]
0028ebf0b 0x28e980
0028ebf4udf 0
0028ebf8udf 0
0028ebfcudf 0
0028e980
0028e980math/big.nat.shr: ; void math/big.nat.shr(math/big.nat z, math/big.nat x, uint s)
0028e980ldr x16, [x28+16]
0028e984sub x17, sp, 48
0028e988subs xzr, x17, x16
0028e98cb.ls 0x28ebc8
0028e990str x30, [sp-176]!
0028e994stur x29, [sp-8]
0028e998sub x29, sp, 8
0028e99cstr x0, [sp+184]
0028e9a0str x1, [sp+192]
0028e9a4str x2, [sp+200]
0028e9a8str x3, [sp+208]
0028e9acstr x4, [sp+216]
0028e9b0str x5, [sp+224]
0028e9b4str x6, [sp+232]
0028e9b8str xzr, [sp+120]
0028e9bcstp xzr, xzr, [sp+128]
0028e9c0ldr x6, [sp+232]
0028e9c4cbz x6, 0x28e9cc
0028e9c8b 0x28ea84
0028e9cc
0028e9ccloc_28e9cc:
0028e9ccldr x0, [sp+184]
0028e9d0ldr x3, [sp+208]
0028e9d4ldr x1, [sp+192]
0028e9d8ldr x4, [sp+216]
0028e9dcldr x2, [sp+200]
0028e9e0ldr x5, [sp+224]
0028e9e4bl math/big.same
0028e9e8strb w0, [sp+87]
0028e9ectbnz w0, 0, 0x28e9f4
0028e9f0b 0x28ea18
0028e9f4
0028e9f4loc_28e9f4:
0028e9f4ldr x0, [sp+184]
0028e9f8ldr x1, [sp+192]
0028e9fcldr x2, [sp+200]
0028ea00str x0, [sp+120]
0028ea04str x1, [sp+128]
0028ea08str x2, [sp+136]
0028ea0cldur x29, [sp-8]
0028ea10ldr x30, [sp], 176
0028ea14ret x30
0028ea18
0028ea18loc_28ea18:
0028ea18ldr x0, [sp+184]
0028ea1cldr x3, [sp+208]
0028ea20ldr x1, [sp+192]
0028ea24ldr x4, [sp+216]
0028ea28ldr x2, [sp+200]
0028ea2cldr x5, [sp+224]
0028ea30bl math/big.alias
0028ea34strb w0, [sp+87]
0028ea38tbnz w0, 0, 0x28ea40
0028ea3cb 0x28ea44
0028ea40
0028ea40loc_28ea40:
0028ea40b 0x28ea88
0028ea44
0028ea44loc_28ea44:
0028ea44ldr x0, [sp+184]
0028ea48ldr x3, [sp+208]
0028ea4cldr x1, [sp+192]
0028ea50ldr x4, [sp+216]
0028ea54ldr x2, [sp+200]
0028ea58ldr x5, [sp+224]
0028ea5cbl math/big.nat.set
0028ea60str x0, [sp+144]
0028ea64str x1, [sp+152]
0028ea68str x2, [sp+160]
0028ea6cstr x0, [sp+120]
0028ea70str x1, [sp+128]
0028ea74str x2, [sp+136]
0028ea78ldur x29, [sp-8]
0028ea7cldr x30, [sp], 176
0028ea80ret x30
0028ea84
0028ea84loc_28ea84:
0028ea84b 0x28ea88
0028ea88
0028ea88loc_28ea88:
0028ea88ldr x4, [sp+216]
0028ea8cstr x4, [sp+96]
0028ea90ldr x5, [sp+232]
0028ea94sub x3, x4, x5, lsr #6
0028ea98str x3, [sp+88]
0028ea9csubs xzr, x3, 0
0028eaa0b.le 0x28eaa8
0028eaa4b 0x28eae0
0028eaa8
0028eaa8loc_28eaa8:
0028eaa8ldr x0, [sp+184]
0028eaacldr x2, [sp+200]
0028eab0b 0x28eab4
0028eab4
0028eab4loc_28eab4:
0028eab4b 0x28eab8
0028eab8
0028eab8loc_28eab8:
0028eab8str x0, [sp+144]
0028eabcstr xzr, [sp+152]
0028eac0str x2, [sp+160]
0028eac4str x0, [sp+120]
0028eac8str xzr, [sp+128]
0028eaccstr x2, [sp+136]
0028ead0mov x1, xzr
0028ead4ldur x29, [sp-8]
0028ead8ldr x30, [sp], 176
0028eadcret x30
0028eae0
0028eae0loc_28eae0:
0028eae0ldr x0, [sp+184]
0028eae4ldr x1, [sp+192]
0028eae8ldr x2, [sp+200]
0028eaecbl math/big.nat.make
0028eaf0str x0, [sp+184]
0028eaf4str x1, [sp+192]
0028eaf8str x2, [sp+200]
0028eafcldr x4, [sp+88]
0028eb00ldr x5, [sp+96]
0028eb04sub x0, x5, x4
0028eb08str x0, [sp+112]
0028eb0cldr x1, [sp+216]
0028eb10ldr x6, [sp+208]
0028eb14ldr x7, [sp+224]
0028eb18b 0x28eb1c
0028eb1c
0028eb1cloc_28eb1c:
0028eb1csubs xzr, x1, x0
0028eb20b.hs 0x28eb28
0028eb24b 0x28ebc0
0028eb28
0028eb28loc_28eb28:
0028eb28add x2, x7, x4
0028eb2csub x2, x2, x5
0028eb30add x1, x1, x4
0028eb34sub x1, x1, x5
0028eb38sub x3, xzr, x2
0028eb3cubfm x0, x0, 61, 60
0028eb40and x0, x0, x3, asr #63
0028eb44add x0, x6, x0
0028eb48str x0, [sp+144]
0028eb4cstr x1, [sp+152]
0028eb50str x2, [sp+160]
0028eb54ldr x3, [sp+232]
0028eb58and x3, x3, 63
0028eb5cstr x3, [sp+104]
0028eb60ldr x4, [sp+184]
0028eb64ldr x5, [sp+192]
0028eb68ldr x6, [sp+200]
0028eb6cstr x4, [sp+8]
0028eb70str x5, [sp+16]
0028eb74str x6, [sp+24]
0028eb78str x0, [sp+32]
0028eb7cstr x1, [sp+40]
0028eb80str x2, [sp+48]
0028eb84str x3, [sp+56]
0028eb88bl math/big.shrVU.abi0
0028eb8cldr x0, [sp+184]
0028eb90ldr x1, [sp+192]
0028eb94ldr x2, [sp+200]
0028eb98bl math/big.nat.norm
0028eb9cstr x0, [sp+144]
0028eba0str x1, [sp+152]
0028eba4str x2, [sp+160]
0028eba8str x0, [sp+120]
0028ebacstr x1, [sp+128]
0028ebb0str x2, [sp+136]
0028ebb4ldur x29, [sp-8]
0028ebb8ldr x30, [sp], 176
0028ebbcret x30
0028ebc0
0028ebc0loc_28ebc0:
0028ebc0bl runtime.panicSliceB
0028ebc4hint
0028ebc8
0028ebc8loc_28ebc8:
0028ebc8stp x0, x1, [sp+8]
0028ebccstp x2, x3, [sp+24]
0028ebd0stp x4, x5, [sp+40]
0028ebd4str x6, [sp+56]
0028ebd8mov x3, x30
0028ebdcbl runtime.morestack_noctxt.abi0
0028ebe0ldp x0, x1, [sp+8]
0028ebe4ldp x2, x3, [sp+24]
0028ebe8ldp x4, x5, [sp+40]
0028ebecldr x6, [sp+56]
0028ebf0b 0x28e980
0028ebf4udf 0
0028ebf8udf 0
0028ebfcudf 0
0028e980
0028ec00
0028ec00math/big.nat.and: ; void math/big.nat.and(math/big.nat z, math/big.nat x, math/big.nat y)
0028ec00ldr x16, [x28+16]
0028ec04subs xzr, sp, x16
0028ec08b.ls 0x28ed5c
0028ec0cstr x30, [sp-128]!
0028ec10stur x29, [sp-8]
0028ec14sub x29, sp, 8
0028ec18str x0, [sp+136]
0028ec1cstr x1, [sp+144]
0028ec20str x2, [sp+152]
0028ec24str x3, [sp+160]
0028ec28str x4, [sp+168]
0028ec2cstr x5, [sp+176]
0028ec30str x6, [sp+184]
0028ec34str x7, [sp+192]
0028ec38str x8, [sp+200]
0028ec3cstr xzr, [sp+72]
0028ec40stp xzr, xzr, [sp+80]
0028ec44ldr x4, [sp+168]
0028ec48str x4, [sp+56]
0028ec4cldr x5, [sp+192]
0028ec50str x5, [sp+48]
0028ec54subs xzr, x5, x4
0028ec58b.lt 0x28ec60
0028ec5cb 0x28ec68
0028ec60
0028ec60loc_28ec60:
0028ec60str x5, [sp+56]
0028ec64b 0x28ec6c
0028ec68
0028ec68loc_28ec68:
0028ec68b 0x28ec6c
0028ec6c
0028ec6cloc_28ec6c:
0028ec6cldr x3, [sp+56]
0028ec70ldr x0, [sp+136]
0028ec74ldr x1, [sp+144]
0028ec78ldr x2, [sp+152]
0028ec7cbl math/big.nat.make
0028ec80str x0, [sp+136]
0028ec84str x1, [sp+144]
0028ec88str x2, [sp+152]
0028ec8cstr xzr, [sp+64]
0028ec90b 0x28ec94
0028ec94
0028ec94loc_28ec94:
0028ec94ldr x3, [sp+56]
0028ec98ldr x4, [sp+64]
0028ec9csubs xzr, x3, x4
0028eca0b.gt 0x28eca8
0028eca4b 0x28ed14
0028eca8
0028eca8loc_28eca8:
0028eca8ldr x0, [sp+64]
0028ecacldr x1, [sp+168]
0028ecb0ldr x3, [sp+160]
0028ecb4subs xzr, x1, x0
0028ecb8b.hi 0x28ecc0
0028ecbcb 0x28ed54
0028ecc0
0028ecc0loc_28ecc0:
0028ecc0ldr x3, [x3+3*x0]
0028ecc4ldr x0, [sp+64]
0028ecc8ldr x1, [sp+192]
0028ecccldr x4, [sp+184]
0028ecd0subs xzr, x1, x0
0028ecd4b.hi 0x28ecdc
0028ecd8b 0x28ed50
0028ecdc
0028ecdcloc_28ecdc:
0028ecdcldr x5, [sp+64]
0028ece0ldr x1, [sp+144]
0028ece4ldr x6, [sp+136]
0028ece8ldr x4, [x4+3*x0]
0028ececand x3, x3, x4
0028ecf0subs xzr, x1, x5
0028ecf4b.hi 0x28ecfc
0028ecf8b 0x28ed48
0028ecfc
0028ecfcloc_28ecfc:
0028ecfcstr x3, [x6+3*x5]
0028ed00b 0x28ed04
0028ed04
0028ed04loc_28ed04:
0028ed04ldr x3, [sp+64]
0028ed08add x3, x3, 1
0028ed0cstr x3, [sp+64]
0028ed10b 0x28ec94
0028ed14
0028ed14loc_28ed14:
0028ed14ldr x0, [sp+136]
0028ed18ldr x1, [sp+144]
0028ed1cldr x2, [sp+152]
0028ed20bl math/big.nat.norm
0028ed24str x0, [sp+96]
0028ed28str x1, [sp+104]
0028ed2cstr x2, [sp+112]
0028ed30str x0, [sp+72]
0028ed34str x1, [sp+80]
0028ed38str x2, [sp+88]
0028ed3cldur x29, [sp-8]
0028ed40ldr x30, [sp], 128
0028ed44ret x30
0028ed48
0028ed48loc_28ed48:
0028ed48mov x0, x5
0028ed4cbl runtime.panicIndex
0028ed50
0028ed50loc_28ed50:
0028ed50bl runtime.panicIndex
0028ed54
0028ed54loc_28ed54:
0028ed54bl runtime.panicIndex
0028ed58hint
0028ed5c
0028ed5cloc_28ed5c:
0028ed5cstp x0, x1, [sp+8]
0028ed60stp x2, x3, [sp+24]
0028ed64stp x4, x5, [sp+40]
0028ed68stp x6, x7, [sp+56]
0028ed6cstr x8, [sp+72]
0028ed70mov x3, x30
0028ed74bl runtime.morestack_noctxt.abi0
0028ed78ldp x0, x1, [sp+8]
0028ed7cldp x2, x3, [sp+24]
0028ed80ldp x4, x5, [sp+40]
0028ed84ldp x6, x7, [sp+56]
0028ed88ldr x8, [sp+72]
0028ed8cb 0x28ec00
0028ec00
0028ec00math/big.nat.and: ; void math/big.nat.and(math/big.nat z, math/big.nat x, math/big.nat y)
0028ec00ldr x16, [x28+16]
0028ec04subs xzr, sp, x16
0028ec08b.ls 0x28ed5c
0028ec0cstr x30, [sp-128]!
0028ec10stur x29, [sp-8]
0028ec14sub x29, sp, 8
0028ec18str x0, [sp+136]
0028ec1cstr x1, [sp+144]
0028ec20str x2, [sp+152]
0028ec24str x3, [sp+160]
0028ec28str x4, [sp+168]
0028ec2cstr x5, [sp+176]
0028ec30str x6, [sp+184]
0028ec34str x7, [sp+192]
0028ec38str x8, [sp+200]
0028ec3cstr xzr, [sp+72]
0028ec40stp xzr, xzr, [sp+80]
0028ec44ldr x4, [sp+168]
0028ec48str x4, [sp+56]
0028ec4cldr x5, [sp+192]
0028ec50str x5, [sp+48]
0028ec54subs xzr, x5, x4
0028ec58b.lt 0x28ec60
0028ec5cb 0x28ec68
0028ec60
0028ec60loc_28ec60:
0028ec60str x5, [sp+56]
0028ec64b 0x28ec6c
0028ec68
0028ec68loc_28ec68:
0028ec68b 0x28ec6c
0028ec6c
0028ec6cloc_28ec6c:
0028ec6cldr x3, [sp+56]
0028ec70ldr x0, [sp+136]
0028ec74ldr x1, [sp+144]
0028ec78ldr x2, [sp+152]
0028ec7cbl math/big.nat.make
0028ec80str x0, [sp+136]
0028ec84str x1, [sp+144]
0028ec88str x2, [sp+152]
0028ec8cstr xzr, [sp+64]
0028ec90b 0x28ec94
0028ec94
0028ec94loc_28ec94:
0028ec94ldr x3, [sp+56]
0028ec98ldr x4, [sp+64]
0028ec9csubs xzr, x3, x4
0028eca0b.gt 0x28eca8
0028eca4b 0x28ed14
0028eca8
0028eca8loc_28eca8:
0028eca8ldr x0, [sp+64]
0028ecacldr x1, [sp+168]
0028ecb0ldr x3, [sp+160]
0028ecb4subs xzr, x1, x0
0028ecb8b.hi 0x28ecc0
0028ecbcb 0x28ed54
0028ecc0
0028ecc0loc_28ecc0:
0028ecc0ldr x3, [x3+3*x0]
0028ecc4ldr x0, [sp+64]
0028ecc8ldr x1, [sp+192]
0028ecccldr x4, [sp+184]
0028ecd0subs xzr, x1, x0
0028ecd4b.hi 0x28ecdc
0028ecd8b 0x28ed50
0028ecdc
0028ecdcloc_28ecdc:
0028ecdcldr x5, [sp+64]
0028ece0ldr x1, [sp+144]
0028ece4ldr x6, [sp+136]
0028ece8ldr x4, [x4+3*x0]
0028ececand x3, x3, x4
0028ecf0subs xzr, x1, x5
0028ecf4b.hi 0x28ecfc
0028ecf8b 0x28ed48
0028ecfc
0028ecfcloc_28ecfc:
0028ecfcstr x3, [x6+3*x5]
0028ed00b 0x28ed04
0028ed04
0028ed04loc_28ed04:
0028ed04ldr x3, [sp+64]
0028ed08add x3, x3, 1
0028ed0cstr x3, [sp+64]
0028ed10b 0x28ec94
0028ed14
0028ed14loc_28ed14:
0028ed14ldr x0, [sp+136]
0028ed18ldr x1, [sp+144]
0028ed1cldr x2, [sp+152]
0028ed20bl math/big.nat.norm
0028ed24str x0, [sp+96]
0028ed28str x1, [sp+104]
0028ed2cstr x2, [sp+112]
0028ed30str x0, [sp+72]
0028ed34str x1, [sp+80]
0028ed38str x2, [sp+88]
0028ed3cldur x29, [sp-8]
0028ed40ldr x30, [sp], 128
0028ed44ret x30
0028ed48
0028ed48loc_28ed48:
0028ed48mov x0, x5
0028ed4cbl runtime.panicIndex
0028ed50
0028ed50loc_28ed50:
0028ed50bl runtime.panicIndex
0028ed54
0028ed54loc_28ed54:
0028ed54bl runtime.panicIndex
0028ed58hint
0028ed5c
0028ed5cloc_28ed5c:
0028ed5cstp x0, x1, [sp+8]
0028ed60stp x2, x3, [sp+24]
0028ed64stp x4, x5, [sp+40]
0028ed68stp x6, x7, [sp+56]
0028ed6cstr x8, [sp+72]
0028ed70mov x3, x30
0028ed74bl runtime.morestack_noctxt.abi0
0028ed78ldp x0, x1, [sp+8]
0028ed7cldp x2, x3, [sp+24]
0028ed80ldp x4, x5, [sp+40]
0028ed84ldp x6, x7, [sp+56]
0028ed88ldr x8, [sp+72]
0028ed8cb 0x28ec00
0028ec00
0028ed90
0028ed90math/big.nat.trunc: ; void math/big.nat.trunc(math/big.nat z, math/big.nat x, uint n)
0028ed90ldr x16, [x28+16]
0028ed94sub x17, sp, 80
0028ed98subs xzr, x17, x16
0028ed9cb.ls 0x28ef78
0028eda0str x30, [sp-208]!
0028eda4stur x29, [sp-8]
0028eda8sub x29, sp, 8
0028edacstr x0, [sp+216]
0028edb0str x1, [sp+224]
0028edb4str x2, [sp+232]
0028edb8str x3, [sp+240]
0028edbcstr x4, [sp+248]
0028edc0str x5, [sp+256]
0028edc4str x6, [sp+264]
0028edc8str xzr, [sp+104]
0028edccstp xzr, xzr, [sp+112]
0028edd0ldr x6, [sp+264]
0028edd4add x6, x6, 63
0028edd8ubfm x3, x6, 6, 63
0028eddcstr x3, [sp+64]
0028ede0ldr x7, [sp+248]
0028ede4str x7, [sp+80]
0028ede8subs xzr, x7, x6, lsr #6
0028edecb.lo 0x28edf4
0028edf0b 0x28ee34
0028edf4
0028edf4loc_28edf4:
0028edf4ldr x0, [sp+216]
0028edf8ldr x3, [sp+240]
0028edfcldr x1, [sp+224]
0028ee00ldr x4, [sp+248]
0028ee04ldr x2, [sp+232]
0028ee08ldr x5, [sp+256]
0028ee0cbl math/big.nat.set
0028ee10str x0, [sp+176]
0028ee14str x1, [sp+184]
0028ee18str x2, [sp+192]
0028ee1cstr x0, [sp+104]
0028ee20str x1, [sp+112]
0028ee24str x2, [sp+120]
0028ee28ldur x29, [sp-8]
0028ee2cldr x30, [sp], 208
0028ee30ret x30
0028ee34
0028ee34loc_28ee34:
0028ee34ldr x0, [sp+216]
0028ee38ldr x1, [sp+224]
0028ee3cldr x2, [sp+232]
0028ee40bl math/big.nat.make
0028ee44str x0, [sp+216]
0028ee48str x1, [sp+224]
0028ee4cstr x2, [sp+232]
0028ee50str x0, [sp+152]
0028ee54str x1, [sp+160]
0028ee58str x2, [sp+168]
0028ee5cldr x4, [sp+248]
0028ee60ldr x5, [sp+240]
0028ee64ldr x6, [sp+256]
0028ee68str x5, [sp+128]
0028ee6cstr x4, [sp+136]
0028ee70str x6, [sp+144]
0028ee74ldr x5, [sp+160]
0028ee78str x5, [sp+72]
0028ee7csubs xzr, x5, x4
0028ee80b.gt 0x28ee88
0028ee84b 0x28ee90
0028ee88
0028ee88loc_28ee88:
0028ee88str x4, [sp+72]
0028ee8cb 0x28ee94
0028ee90
0028ee90loc_28ee90:
0028ee90b 0x28ee94
0028ee94
0028ee94loc_28ee94:
0028ee94ldr x3, [sp+128]
0028ee98ldr x4, [sp+152]
0028ee9csubs xzr, x3, x4
0028eea0b.ne 0x28eea8
0028eea4b 0x28eec8
0028eea8
0028eea8loc_28eea8:
0028eea8ldr x3, [sp+72]
0028eeacstr x3, [sp+96]
0028eeb0ldr x3, [sp+96]
0028eeb4ubfm x2, x3, 61, 60
0028eeb8ldr x1, [sp+128]
0028eebcldr x0, [sp+152]
0028eec0bl runtime.memmove
0028eec4b 0x28eecc
0028eec8
0028eec8loc_28eec8:
0028eec8b 0x28eecc
0028eecc
0028eeccloc_28eecc:
0028eeccldr x3, [sp+264]
0028eed0ands xzr, x3, 63
0028eed4b.ne 0x28eedc
0028eed8b 0x28ef34
0028eedc
0028eedcloc_28eedc:
0028eedcldr x3, [sp+224]
0028eee0str x3, [sp+80]
0028eee4sub x0, x3, 1
0028eee8str x0, [sp+88]
0028eeecldr x1, [sp+224]
0028eef0ldr x3, [sp+216]
0028eef4subs xzr, x1, x0
0028eef8b.hi 0x28ef00
0028eefcb 0x28ef70
0028ef00
0028ef00loc_28ef00:
0028ef00ldr x3, [x3+3*x0]
0028ef04ldr x1, [sp+224]
0028ef08ldr x4, [sp+216]
0028ef0cldr x5, [sp+264]
0028ef10orr x6, xzr, 1
0028ef14lslv x5, x6, x5
0028ef18sub x5, x5, 1
0028ef1cand x3, x3, x5
0028ef20subs xzr, x1, x0
0028ef24b.hi 0x28ef2c
0028ef28b 0x28ef6c
0028ef2c
0028ef2cloc_28ef2c:
0028ef2cstr x3, [x4+3*x0]
0028ef30b 0x28ef38
0028ef34
0028ef34loc_28ef34:
0028ef34b 0x28ef38
0028ef38
0028ef38loc_28ef38:
0028ef38ldr x0, [sp+216]
0028ef3cldr x1, [sp+224]
0028ef40ldr x2, [sp+232]
0028ef44bl math/big.nat.norm
0028ef48str x0, [sp+176]
0028ef4cstr x1, [sp+184]
0028ef50str x2, [sp+192]
0028ef54str x0, [sp+104]
0028ef58str x1, [sp+112]
0028ef5cstr x2, [sp+120]
0028ef60ldur x29, [sp-8]
0028ef64ldr x30, [sp], 208
0028ef68ret x30
0028ef6c
0028ef6cloc_28ef6c:
0028ef6cbl runtime.panicIndex
0028ef70
0028ef70loc_28ef70:
0028ef70bl runtime.panicIndex
0028ef74hint
0028ef78
0028ef78loc_28ef78:
0028ef78stp x0, x1, [sp+8]
0028ef7cstp x2, x3, [sp+24]
0028ef80stp x4, x5, [sp+40]
0028ef84str x6, [sp+56]
0028ef88mov x3, x30
0028ef8cbl runtime.morestack_noctxt.abi0
0028ef90ldp x0, x1, [sp+8]
0028ef94ldp x2, x3, [sp+24]
0028ef98ldp x4, x5, [sp+40]
0028ef9cldr x6, [sp+56]
0028efa0b 0x28ed90
0028efa4udf 0
0028efa8udf 0
0028efacudf 0
0028ed90
0028ed90math/big.nat.trunc: ; void math/big.nat.trunc(math/big.nat z, math/big.nat x, uint n)
0028ed90ldr x16, [x28+16]
0028ed94sub x17, sp, 80
0028ed98subs xzr, x17, x16
0028ed9cb.ls 0x28ef78
0028eda0str x30, [sp-208]!
0028eda4stur x29, [sp-8]
0028eda8sub x29, sp, 8
0028edacstr x0, [sp+216]
0028edb0str x1, [sp+224]
0028edb4str x2, [sp+232]
0028edb8str x3, [sp+240]
0028edbcstr x4, [sp+248]
0028edc0str x5, [sp+256]
0028edc4str x6, [sp+264]
0028edc8str xzr, [sp+104]
0028edccstp xzr, xzr, [sp+112]
0028edd0ldr x6, [sp+264]
0028edd4add x6, x6, 63
0028edd8ubfm x3, x6, 6, 63
0028eddcstr x3, [sp+64]
0028ede0ldr x7, [sp+248]
0028ede4str x7, [sp+80]
0028ede8subs xzr, x7, x6, lsr #6
0028edecb.lo 0x28edf4
0028edf0b 0x28ee34
0028edf4
0028edf4loc_28edf4:
0028edf4ldr x0, [sp+216]
0028edf8ldr x3, [sp+240]
0028edfcldr x1, [sp+224]
0028ee00ldr x4, [sp+248]
0028ee04ldr x2, [sp+232]
0028ee08ldr x5, [sp+256]
0028ee0cbl math/big.nat.set
0028ee10str x0, [sp+176]
0028ee14str x1, [sp+184]
0028ee18str x2, [sp+192]
0028ee1cstr x0, [sp+104]
0028ee20str x1, [sp+112]
0028ee24str x2, [sp+120]
0028ee28ldur x29, [sp-8]
0028ee2cldr x30, [sp], 208
0028ee30ret x30
0028ee34
0028ee34loc_28ee34:
0028ee34ldr x0, [sp+216]
0028ee38ldr x1, [sp+224]
0028ee3cldr x2, [sp+232]
0028ee40bl math/big.nat.make
0028ee44str x0, [sp+216]
0028ee48str x1, [sp+224]
0028ee4cstr x2, [sp+232]
0028ee50str x0, [sp+152]
0028ee54str x1, [sp+160]
0028ee58str x2, [sp+168]
0028ee5cldr x4, [sp+248]
0028ee60ldr x5, [sp+240]
0028ee64ldr x6, [sp+256]
0028ee68str x5, [sp+128]
0028ee6cstr x4, [sp+136]
0028ee70str x6, [sp+144]
0028ee74ldr x5, [sp+160]
0028ee78str x5, [sp+72]
0028ee7csubs xzr, x5, x4
0028ee80b.gt 0x28ee88
0028ee84b 0x28ee90
0028ee88
0028ee88loc_28ee88:
0028ee88str x4, [sp+72]
0028ee8cb 0x28ee94
0028ee90
0028ee90loc_28ee90:
0028ee90b 0x28ee94
0028ee94
0028ee94loc_28ee94:
0028ee94ldr x3, [sp+128]
0028ee98ldr x4, [sp+152]
0028ee9csubs xzr, x3, x4
0028eea0b.ne 0x28eea8
0028eea4b 0x28eec8
0028eea8
0028eea8loc_28eea8:
0028eea8ldr x3, [sp+72]
0028eeacstr x3, [sp+96]
0028eeb0ldr x3, [sp+96]
0028eeb4ubfm x2, x3, 61, 60
0028eeb8ldr x1, [sp+128]
0028eebcldr x0, [sp+152]
0028eec0bl runtime.memmove
0028eec4b 0x28eecc
0028eec8
0028eec8loc_28eec8:
0028eec8b 0x28eecc
0028eecc
0028eeccloc_28eecc:
0028eeccldr x3, [sp+264]
0028eed0ands xzr, x3, 63
0028eed4b.ne 0x28eedc
0028eed8b 0x28ef34
0028eedc
0028eedcloc_28eedc:
0028eedcldr x3, [sp+224]
0028eee0str x3, [sp+80]
0028eee4sub x0, x3, 1
0028eee8str x0, [sp+88]
0028eeecldr x1, [sp+224]
0028eef0ldr x3, [sp+216]
0028eef4subs xzr, x1, x0
0028eef8b.hi 0x28ef00
0028eefcb 0x28ef70
0028ef00
0028ef00loc_28ef00:
0028ef00ldr x3, [x3+3*x0]
0028ef04ldr x1, [sp+224]
0028ef08ldr x4, [sp+216]
0028ef0cldr x5, [sp+264]
0028ef10orr x6, xzr, 1
0028ef14lslv x5, x6, x5
0028ef18sub x5, x5, 1
0028ef1cand x3, x3, x5
0028ef20subs xzr, x1, x0
0028ef24b.hi 0x28ef2c
0028ef28b 0x28ef6c
0028ef2c
0028ef2cloc_28ef2c:
0028ef2cstr x3, [x4+3*x0]
0028ef30b 0x28ef38
0028ef34
0028ef34loc_28ef34:
0028ef34b 0x28ef38
0028ef38
0028ef38loc_28ef38:
0028ef38ldr x0, [sp+216]
0028ef3cldr x1, [sp+224]
0028ef40ldr x2, [sp+232]
0028ef44bl math/big.nat.norm
0028ef48str x0, [sp+176]
0028ef4cstr x1, [sp+184]
0028ef50str x2, [sp+192]
0028ef54str x0, [sp+104]
0028ef58str x1, [sp+112]
0028ef5cstr x2, [sp+120]
0028ef60ldur x29, [sp-8]
0028ef64ldr x30, [sp], 208
0028ef68ret x30
0028ef6c
0028ef6cloc_28ef6c:
0028ef6cbl runtime.panicIndex
0028ef70
0028ef70loc_28ef70:
0028ef70bl runtime.panicIndex
0028ef74hint
0028ef78
0028ef78loc_28ef78:
0028ef78stp x0, x1, [sp+8]
0028ef7cstp x2, x3, [sp+24]
0028ef80stp x4, x5, [sp+40]
0028ef84str x6, [sp+56]
0028ef88mov x3, x30
0028ef8cbl runtime.morestack_noctxt.abi0
0028ef90ldp x0, x1, [sp+8]
0028ef94ldp x2, x3, [sp+24]
0028ef98ldp x4, x5, [sp+40]
0028ef9cldr x6, [sp+56]
0028efa0b 0x28ed90
0028efa4udf 0
0028efa8udf 0
0028efacudf 0
0028ed90
0028efb0
0028efb0math/big.nat.andNot: ; void math/big.nat.andNot(math/big.nat z, math/big.nat x, math/big.nat y)
0028efb0ldr x16, [x28+16]
0028efb4sub x17, sp, 80
0028efb8subs xzr, x17, x16
0028efbcb.ls 0x28f240
0028efc0str x30, [sp-208]!
0028efc4stur x29, [sp-8]
0028efc8sub x29, sp, 8
0028efccstr x0, [sp+216]
0028efd0str x1, [sp+224]
0028efd4str x2, [sp+232]
0028efd8str x3, [sp+240]
0028efdcstr x4, [sp+248]
0028efe0str x5, [sp+256]
0028efe4str x6, [sp+264]
0028efe8str x7, [sp+272]
0028efecstr x8, [sp+280]
0028eff0str xzr, [sp+80]
0028eff4stp xzr, xzr, [sp+88]
0028eff8ldr x4, [sp+248]
0028effcstr x4, [sp+48]
0028f000ldr x5, [sp+272]
0028f004str x5, [sp+40]
0028f008subs xzr, x5, x4
0028f00cb.gt 0x28f014
0028f010b 0x28f01c
0028f014
0028f014loc_28f014:
0028f014str x4, [sp+40]
0028f018b 0x28f020
0028f01c
0028f01cloc_28f01c:
0028f01cb 0x28f020
0028f020
0028f020loc_28f020:
0028f020ldr x3, [sp+48]
0028f024ldr x0, [sp+216]
0028f028ldr x1, [sp+224]
0028f02cldr x2, [sp+232]
0028f030bl math/big.nat.make
0028f034str x0, [sp+216]
0028f038str x1, [sp+224]
0028f03cstr x2, [sp+232]
0028f040str xzr, [sp+56]
0028f044b 0x28f048
0028f048
0028f048loc_28f048:
0028f048ldr x3, [sp+40]
0028f04cldr x4, [sp+56]
0028f050subs xzr, x3, x4
0028f054b.gt 0x28f05c
0028f058b 0x28f0c8
0028f05c
0028f05cloc_28f05c:
0028f05cldr x0, [sp+56]
0028f060ldr x1, [sp+248]
0028f064ldr x3, [sp+240]
0028f068subs xzr, x1, x0
0028f06cb.hi 0x28f074
0028f070b 0x28f238
0028f074
0028f074loc_28f074:
0028f074ldr x3, [x3+3*x0]
0028f078ldr x0, [sp+56]
0028f07cldr x1, [sp+272]
0028f080ldr x4, [sp+264]
0028f084subs xzr, x1, x0
0028f088b.hi 0x28f090
0028f08cb 0x28f234
0028f090
0028f090loc_28f090:
0028f090ldr x5, [sp+56]
0028f094ldr x1, [sp+224]
0028f098ldr x6, [sp+216]
0028f09cldr x4, [x4+3*x0]
0028f0a0bic x3, x3, x4
0028f0a4subs xzr, x1, x5
0028f0a8b.hi 0x28f0b0
0028f0acb 0x28f22c
0028f0b0
0028f0b0loc_28f0b0:
0028f0b0str x3, [x6+3*x5]
0028f0b4b 0x28f0b8
0028f0b8
0028f0b8loc_28f0b8:
0028f0b8ldr x3, [sp+56]
0028f0bcadd x3, x3, 1
0028f0c0str x3, [sp+56]
0028f0c4b 0x28f048
0028f0c8
0028f0c8loc_28f0c8:
0028f0c8ldr x1, [sp+48]
0028f0ccldr x0, [sp+40]
0028f0d0ldr x2, [sp+232]
0028f0d4ldr x3, [sp+216]
0028f0d8subs xzr, x2, x1
0028f0dcb.hs 0x28f0e4
0028f0e0b 0x28f228
0028f0e4
0028f0e4loc_28f0e4:
0028f0e4subs xzr, x1, x0
0028f0e8b.hs 0x28f0f0
0028f0ecb 0x28f224
0028f0f0
0028f0f0loc_28f0f0:
0028f0f0sub x4, x2, x0
0028f0f4sub x5, x1, x0
0028f0f8sub x6, xzr, x4
0028f0fcubfm x7, x0, 61, 60
0028f100and x6, x7, x6, asr #63
0028f104add x3, x3, x6
0028f108str x3, [sp+152]
0028f10cstr x5, [sp+160]
0028f110str x4, [sp+168]
0028f114ldr x0, [sp+40]
0028f118ldr x1, [sp+48]
0028f11cldr x2, [sp+256]
0028f120ldr x3, [sp+240]
0028f124subs xzr, x2, x1
0028f128b.hs 0x28f130
0028f12cb 0x28f220
0028f130
0028f130loc_28f130:
0028f130subs xzr, x1, x0
0028f134b.hs 0x28f13c
0028f138b 0x28f21c
0028f13c
0028f13cloc_28f13c:
0028f13csub x4, x2, x0
0028f140sub x5, x1, x0
0028f144sub x6, xzr, x4
0028f148ubfm x7, x0, 61, 60
0028f14cand x6, x7, x6, asr #63
0028f150add x3, x3, x6
0028f154str x3, [sp+128]
0028f158str x5, [sp+136]
0028f15cstr x4, [sp+144]
0028f160ldr x3, [sp+152]
0028f164ldr x4, [sp+160]
0028f168ldr x5, [sp+168]
0028f16cstr x3, [sp+104]
0028f170str x4, [sp+112]
0028f174str x5, [sp+120]
0028f178ldr x3, [sp+136]
0028f17cldr x4, [sp+128]
0028f180ldr x5, [sp+144]
0028f184str x4, [sp+176]
0028f188str x3, [sp+184]
0028f18cstr x5, [sp+192]
0028f190ldr x4, [sp+112]
0028f194str x4, [sp+72]
0028f198subs xzr, x4, x3
0028f19cb.gt 0x28f1a4
0028f1a0b 0x28f1ac
0028f1a4
0028f1a4loc_28f1a4:
0028f1a4str x3, [sp+72]
0028f1a8b 0x28f1b0
0028f1ac
0028f1acloc_28f1ac:
0028f1acb 0x28f1b0
0028f1b0
0028f1b0loc_28f1b0:
0028f1b0ldr x3, [sp+176]
0028f1b4ldr x4, [sp+104]
0028f1b8subs xzr, x3, x4
0028f1bcb.ne 0x28f1c4
0028f1c0b 0x28f1e4
0028f1c4
0028f1c4loc_28f1c4:
0028f1c4ldr x3, [sp+72]
0028f1c8str x3, [sp+64]
0028f1ccldr x3, [sp+64]
0028f1d0ubfm x2, x3, 61, 60
0028f1d4ldr x1, [sp+176]
0028f1d8ldr x0, [sp+104]
0028f1dcbl runtime.memmove
0028f1e0b 0x28f1e8
0028f1e4
0028f1e4loc_28f1e4:
0028f1e4b 0x28f1e8
0028f1e8
0028f1e8loc_28f1e8:
0028f1e8ldr x0, [sp+216]
0028f1ecldr x1, [sp+224]
0028f1f0ldr x2, [sp+232]
0028f1f4bl math/big.nat.norm
0028f1f8str x0, [sp+128]
0028f1fcstr x1, [sp+136]
0028f200str x2, [sp+144]
0028f204str x0, [sp+80]
0028f208str x1, [sp+88]
0028f20cstr x2, [sp+96]
0028f210ldur x29, [sp-8]
0028f214ldr x30, [sp], 208
0028f218ret x30
0028f21c
0028f21cloc_28f21c:
0028f21cbl runtime.panicSliceB
0028f220
0028f220loc_28f220:
0028f220bl runtime.panicSliceAcap
0028f224
0028f224loc_28f224:
0028f224bl runtime.panicSliceB
0028f228
0028f228loc_28f228:
0028f228bl runtime.panicSliceAcap
0028f22c
0028f22cloc_28f22c:
0028f22cmov x0, x5
0028f230bl runtime.panicIndex
0028f234
0028f234loc_28f234:
0028f234bl runtime.panicIndex
0028f238
0028f238loc_28f238:
0028f238bl runtime.panicIndex
0028f23chint
0028f240
0028f240loc_28f240:
0028f240stp x0, x1, [sp+8]
0028f244stp x2, x3, [sp+24]
0028f248stp x4, x5, [sp+40]
0028f24cstp x6, x7, [sp+56]
0028f250str x8, [sp+72]
0028f254mov x3, x30
0028f258bl runtime.morestack_noctxt.abi0
0028f25cldp x0, x1, [sp+8]
0028f260ldp x2, x3, [sp+24]
0028f264ldp x4, x5, [sp+40]
0028f268ldp x6, x7, [sp+56]
0028f26cldr x8, [sp+72]
0028f270b 0x28efb0
0028f274udf 0
0028f278udf 0
0028f27cudf 0
0028efb0
0028efb0math/big.nat.andNot: ; void math/big.nat.andNot(math/big.nat z, math/big.nat x, math/big.nat y)
0028efb0ldr x16, [x28+16]
0028efb4sub x17, sp, 80
0028efb8subs xzr, x17, x16
0028efbcb.ls 0x28f240
0028efc0str x30, [sp-208]!
0028efc4stur x29, [sp-8]
0028efc8sub x29, sp, 8
0028efccstr x0, [sp+216]
0028efd0str x1, [sp+224]
0028efd4str x2, [sp+232]
0028efd8str x3, [sp+240]
0028efdcstr x4, [sp+248]
0028efe0str x5, [sp+256]
0028efe4str x6, [sp+264]
0028efe8str x7, [sp+272]
0028efecstr x8, [sp+280]
0028eff0str xzr, [sp+80]
0028eff4stp xzr, xzr, [sp+88]
0028eff8ldr x4, [sp+248]
0028effcstr x4, [sp+48]
0028f000ldr x5, [sp+272]
0028f004str x5, [sp+40]
0028f008subs xzr, x5, x4
0028f00cb.gt 0x28f014
0028f010b 0x28f01c
0028f014
0028f014loc_28f014:
0028f014str x4, [sp+40]
0028f018b 0x28f020
0028f01c
0028f01cloc_28f01c:
0028f01cb 0x28f020
0028f020
0028f020loc_28f020:
0028f020ldr x3, [sp+48]
0028f024ldr x0, [sp+216]
0028f028ldr x1, [sp+224]
0028f02cldr x2, [sp+232]
0028f030bl math/big.nat.make
0028f034str x0, [sp+216]
0028f038str x1, [sp+224]
0028f03cstr x2, [sp+232]
0028f040str xzr, [sp+56]
0028f044b 0x28f048
0028f048
0028f048loc_28f048:
0028f048ldr x3, [sp+40]
0028f04cldr x4, [sp+56]
0028f050subs xzr, x3, x4
0028f054b.gt 0x28f05c
0028f058b 0x28f0c8
0028f05c
0028f05cloc_28f05c:
0028f05cldr x0, [sp+56]
0028f060ldr x1, [sp+248]
0028f064ldr x3, [sp+240]
0028f068subs xzr, x1, x0
0028f06cb.hi 0x28f074
0028f070b 0x28f238
0028f074
0028f074loc_28f074:
0028f074ldr x3, [x3+3*x0]
0028f078ldr x0, [sp+56]
0028f07cldr x1, [sp+272]
0028f080ldr x4, [sp+264]
0028f084subs xzr, x1, x0
0028f088b.hi 0x28f090
0028f08cb 0x28f234
0028f090
0028f090loc_28f090:
0028f090ldr x5, [sp+56]
0028f094ldr x1, [sp+224]
0028f098ldr x6, [sp+216]
0028f09cldr x4, [x4+3*x0]
0028f0a0bic x3, x3, x4
0028f0a4subs xzr, x1, x5
0028f0a8b.hi 0x28f0b0
0028f0acb 0x28f22c
0028f0b0
0028f0b0loc_28f0b0:
0028f0b0str x3, [x6+3*x5]
0028f0b4b 0x28f0b8
0028f0b8
0028f0b8loc_28f0b8:
0028f0b8ldr x3, [sp+56]
0028f0bcadd x3, x3, 1
0028f0c0str x3, [sp+56]
0028f0c4b 0x28f048
0028f0c8
0028f0c8loc_28f0c8:
0028f0c8ldr x1, [sp+48]
0028f0ccldr x0, [sp+40]
0028f0d0ldr x2, [sp+232]
0028f0d4ldr x3, [sp+216]
0028f0d8subs xzr, x2, x1
0028f0dcb.hs 0x28f0e4
0028f0e0b 0x28f228
0028f0e4
0028f0e4loc_28f0e4:
0028f0e4subs xzr, x1, x0
0028f0e8b.hs 0x28f0f0
0028f0ecb 0x28f224
0028f0f0
0028f0f0loc_28f0f0:
0028f0f0sub x4, x2, x0
0028f0f4sub x5, x1, x0
0028f0f8sub x6, xzr, x4
0028f0fcubfm x7, x0, 61, 60
0028f100and x6, x7, x6, asr #63
0028f104add x3, x3, x6
0028f108str x3, [sp+152]
0028f10cstr x5, [sp+160]
0028f110str x4, [sp+168]
0028f114ldr x0, [sp+40]
0028f118ldr x1, [sp+48]
0028f11cldr x2, [sp+256]
0028f120ldr x3, [sp+240]
0028f124subs xzr, x2, x1
0028f128b.hs 0x28f130
0028f12cb 0x28f220
0028f130
0028f130loc_28f130:
0028f130subs xzr, x1, x0
0028f134b.hs 0x28f13c
0028f138b 0x28f21c
0028f13c
0028f13cloc_28f13c:
0028f13csub x4, x2, x0
0028f140sub x5, x1, x0
0028f144sub x6, xzr, x4
0028f148ubfm x7, x0, 61, 60
0028f14cand x6, x7, x6, asr #63
0028f150add x3, x3, x6
0028f154str x3, [sp+128]
0028f158str x5, [sp+136]
0028f15cstr x4, [sp+144]
0028f160ldr x3, [sp+152]
0028f164ldr x4, [sp+160]
0028f168ldr x5, [sp+168]
0028f16cstr x3, [sp+104]
0028f170str x4, [sp+112]
0028f174str x5, [sp+120]
0028f178ldr x3, [sp+136]
0028f17cldr x4, [sp+128]
0028f180ldr x5, [sp+144]
0028f184str x4, [sp+176]
0028f188str x3, [sp+184]
0028f18cstr x5, [sp+192]
0028f190ldr x4, [sp+112]
0028f194str x4, [sp+72]
0028f198subs xzr, x4, x3
0028f19cb.gt 0x28f1a4
0028f1a0b 0x28f1ac
0028f1a4
0028f1a4loc_28f1a4:
0028f1a4str x3, [sp+72]
0028f1a8b 0x28f1b0
0028f1ac
0028f1acloc_28f1ac:
0028f1acb 0x28f1b0
0028f1b0
0028f1b0loc_28f1b0:
0028f1b0ldr x3, [sp+176]
0028f1b4ldr x4, [sp+104]
0028f1b8subs xzr, x3, x4
0028f1bcb.ne 0x28f1c4
0028f1c0b 0x28f1e4
0028f1c4
0028f1c4loc_28f1c4:
0028f1c4ldr x3, [sp+72]
0028f1c8str x3, [sp+64]
0028f1ccldr x3, [sp+64]
0028f1d0ubfm x2, x3, 61, 60
0028f1d4ldr x1, [sp+176]
0028f1d8ldr x0, [sp+104]
0028f1dcbl runtime.memmove
0028f1e0b 0x28f1e8
0028f1e4
0028f1e4loc_28f1e4:
0028f1e4b 0x28f1e8
0028f1e8
0028f1e8loc_28f1e8:
0028f1e8ldr x0, [sp+216]
0028f1ecldr x1, [sp+224]
0028f1f0ldr x2, [sp+232]
0028f1f4bl math/big.nat.norm
0028f1f8str x0, [sp+128]
0028f1fcstr x1, [sp+136]
0028f200str x2, [sp+144]
0028f204str x0, [sp+80]
0028f208str x1, [sp+88]
0028f20cstr x2, [sp+96]
0028f210ldur x29, [sp-8]
0028f214ldr x30, [sp], 208
0028f218ret x30
0028f21c
0028f21cloc_28f21c:
0028f21cbl runtime.panicSliceB
0028f220
0028f220loc_28f220:
0028f220bl runtime.panicSliceAcap
0028f224
0028f224loc_28f224:
0028f224bl runtime.panicSliceB
0028f228
0028f228loc_28f228:
0028f228bl runtime.panicSliceAcap
0028f22c
0028f22cloc_28f22c:
0028f22cmov x0, x5
0028f230bl runtime.panicIndex
0028f234
0028f234loc_28f234:
0028f234bl runtime.panicIndex
0028f238
0028f238loc_28f238:
0028f238bl runtime.panicIndex
0028f23chint
0028f240
0028f240loc_28f240:
0028f240stp x0, x1, [sp+8]
0028f244stp x2, x3, [sp+24]
0028f248stp x4, x5, [sp+40]
0028f24cstp x6, x7, [sp+56]
0028f250str x8, [sp+72]
0028f254mov x3, x30
0028f258bl runtime.morestack_noctxt.abi0
0028f25cldp x0, x1, [sp+8]
0028f260ldp x2, x3, [sp+24]
0028f264ldp x4, x5, [sp+40]
0028f268ldp x6, x7, [sp+56]
0028f26cldr x8, [sp+72]
0028f270b 0x28efb0
0028f274udf 0
0028f278udf 0
0028f27cudf 0
0028efb0
Loading..