File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    001dc840
    001dc840log10f:
    001dc840push rbp
    001dc841mov rbp, rsp
    001dc844movdqa x1, x0
    001dc848movd ecx, x0
    001dc84ccmp ecx, 0x7fffff
    001dc852jg 0x1dc88f
    001dc854xor edx, edx
    001dc856mov eax, ecx
    001dc858and eax, 0x7fffffff
    001dc85dsete dl
    001dc860lea rsi, [rip-0x149097]
    001dc867movd x0, [rsi+4*rdx]
    001dc86ctest ecx, ecx
    001dc86ejs 0x1dc99d
    001dc874test eax, eax
    001dc876je 0x1dc99d
    001dc87cmulss x1, [rip-0x149684]
    001dc884movd ecx, x1
    001dc888mov edx, -152
    001dc88djmp 0x1dc8b4
    001dc88f
    001dc88floc_1dc88f:
    001dc88fmovdqa x0, x1
    001dc893cmp ecx, 0x7f800000
    001dc899jae 0x1dc99d
    001dc89fmov edx, -127
    001dc8a4pxor x0, x0
    001dc8a8cmp ecx, 0x3f800000
    001dc8aeje 0x1dc99d
    001dc8b4
    001dc8b4loc_1dc8b4:
    001dc8b4add ecx, 0x4afb0d
    001dc8bamov eax, ecx
    001dc8bcshr eax, 23
    001dc8bfadd eax, edx
    001dc8c1and ecx, 0x7fffff
    001dc8c7add ecx, 0x3f3504f3
    001dc8cdmovd x1, ecx
    001dc8d1addss x1, [rip-0x1496d5]
    001dc8d9movss x2, [rip-0x1496d9]
    001dc8e1addss x2, x1
    001dc8e5movaps x0, x1
    001dc8e8divss x0, x2
    001dc8ecmovaps x2, x0
    001dc8efmulss x2, x0
    001dc8f3movaps x3, x2
    001dc8f6mulss x3, x2
    001dc8faunpcklps x2, x3
    001dc8fdshufps x3, x3, 0
    001dc901mulps x3, [rip-0x1489e8]
    001dc908addps x3, [rip-0x1489df]
    001dc90fmulps x3, x2
    001dc912movaps x4, x3
    001dc915shufps x4, x3, 85
    001dc919addss x4, x3
    001dc91dmovss x2, [rip-0x149719]
    001dc925mulss x2, x1
    001dc929mulss x2, x1
    001dc92dmovaps x5, x1
    001dc930subss x5, x2
    001dc934movss x3, [rip-0x14972c]
    001dc93candps x3, x5
    001dc93fsubss x1, x3
    001dc943subss x1, x2
    001dc947addss x2, x4
    001dc94bmulss x2, x0
    001dc94fxorps x0, x0
    001dc952cvtsi2ss x0, eax
    001dc956addss x2, x1
    001dc95amovss x1, [rip-0x14974e]
    001dc962mulss x1, x0
    001dc966movaps x4, x2
    001dc969addss x4, x3
    001dc96dmulss x4, [rip-0x14975d]
    001dc975addss x4, x1
    001dc979movss x1, [rip-0x149765]
    001dc981mulss x2, x1
    001dc985addss x2, x4
    001dc989mulss x3, x1
    001dc98daddss x3, x2
    001dc991mulss x0, [rip-0x149779]
    001dc999addss x0, x3
    001dc99d
    001dc99dloc_1dc99d:
    001dc99dpop rbp
    001dc99eret
    001dc840
    001dc99f
    001dc99f // align 0x10
    001dc9a0
    001dc9a0log10:
    001dc9a0push rbp
    001dc9a1mov rbp, rsp
    001dc9a4movdqa x1, x0
    001dc9a8movq rax, x0
    001dc9admov rcx, rax
    001dc9b0shr rcx, 32
    001dc9b4cmp ecx, 0x100000
    001dc9bajb 0x1dc9e7
    001dc9bctest rax, rax
    001dc9bfjs 0x1dc9e7
    001dc9c1movdqa x0, x1
    001dc9c5cmp ecx, 0x7ff00000
    001dc9cbjae 0x1dc9e5
    001dc9cdmov edx, eax
    001dc9cfmov esi, -1023
    001dc9d4cmp ecx, 0x3ff00000
    001dc9dajne 0x1dca27
    001dc9dcpxor x0, x0
    001dc9e0test rdx, rdx
    001dc9e3jne 0x1dca27
    001dc9e5
    001dc9e5loc_1dc9e5:
    001dc9e5pop rbp
    001dc9e6ret
    001dc9e7
    001dc9e7loc_1dc9e7:
    001dc9e7mov rcx, 0x7fffffffffffffff
    001dc9f1xor edx, edx
    001dc9f3and rcx, rax
    001dc9f6sete dl
    001dc9f9lea rsi, [rip-0x148ac0]
    001dca00movq x0, [rsi+8*rdx]
    001dca05test rax, rax
    001dca08js 0x1dc9e5
    001dca0atest rcx, rcx
    001dca0dje 0x1dc9e5
    001dca0fmulsd x1, [rip-0x14923f]
    001dca17movq rcx, x1
    001dca1cshr rcx, 32
    001dca20mov edx, eax
    001dca22mov esi, -1077
    001dca27
    001dca27loc_1dca27:
    001dca27add ecx, 0x95f62
    001dca2dmov eax, ecx
    001dca2fshr eax, 20
    001dca32add eax, esi
    001dca34and ecx, 0xfffff
    001dca3aadd ecx, 0x3fe6a09e
    001dca40shl rcx, 32
    001dca44or rcx, rdx
    001dca47movq x0, rcx
    001dca4caddsd x0, [rip-0x149274]
    001dca54movsd_xmm x1, [rip-0x14926c]
    001dca5caddsd x1, x0
    001dca60movapd x2, x0
    001dca64divsd x2, x1
    001dca68movapd x1, x2
    001dca6cmulsd x1, x2
    001dca70movapd x3, x1
    001dca74mulsd x3, x1
    001dca78movsd_xmm x4, [rip-0x149288]
    001dca80mulsd x4, x3
    001dca84addsd x4, [rip-0x14928c]
    001dca8cmovsd_xmm x5, [rip-0x1492ac]
    001dca94movapd x6, x3
    001dca98unpcklpd x6, x3
    001dca9cmovapd x7, [rip-0x148b54]
    001dcaa4unpcklpd x7, x4
    001dcaa8mulpd x7, x6
    001dcaacaddpd x7, [rip-0x148b54]
    001dcab4mulsd x5, x0
    001dcab8mulpd x7, x6
    001dcabcaddpd x7, [rip-0x148b54]
    001dcac4mulsd x5, x0
    001dcac8unpcklpd x3, x1
    001dcaccmulpd x3, x7
    001dcad0movapd x1, x3
    001dcad4unpckhpd x1, x3
    001dcad8addsd x1, x3
    001dcadcmovapd x4, x0
    001dcae0subsd x4, x5
    001dcae4movsd_xmm x3, [rip-0x1492e4]
    001dcaecandpd x3, x4
    001dcaf0subsd x0, x3
    001dcaf4subsd x0, x5
    001dcaf8addsd x1, x5
    001dcafcmulsd x1, x2
    001dcb00addsd x1, x0
    001dcb04movsd_xmm x2, [rip-0x1492fc]
    001dcb0cxorps x4, x4
    001dcb0fcvtsi2sd x4, eax
    001dcb13movsd_xmm x0, [rip-0x149303]
    001dcb1bmulsd x0, x4
    001dcb1fmulsd x4, [rip-0x149307]
    001dcb27movapd x5, x1
    001dcb2baddsd x5, x3
    001dcb2fmulsd x3, x2
    001dcb33mulsd x5, [rip-0x149313]
    001dcb3baddsd x5, x4
    001dcb3fmulsd x1, x2
    001dcb43addsd x1, x5
    001dcb47movapd x2, x0
    001dcb4baddsd x2, x3
    001dcb4fsubsd x0, x2
    001dcb53addsd x0, x3
    001dcb57addsd x0, x1
    001dcb5baddsd x0, x2
    001dcb5fpop rbp
    001dcb60ret
    001dc9a0
    001dcb61
    001dcb61 // align 0x10
    001dcb70
    001dcb70__log10x:
    001dcb70push rbp
    001dcb71mov rbp, rsp
    001dcb74push r15
    001dcb76push r14
    001dcb78push rbx
    001dcb79sub rsp, 56
    001dcb7dmov r15, 0x8000000000000000
    001dcb87mov eax, [rbp+24]
    001dcb8amov rdx, [rbp+16]
    001dcb8emov edi, eax
    001dcb90mov r14, 0x7fff000000000000
    001dcb9aand di, 32767
    001dcb9fjne 0x1dcbb1
    001dcba1xor esi, esi
    001dcba3mov ecx, 0
    001dcba8test rdx, rdx
    001dcbabje 0x1dcc35
    001dcbb1
    001dcbb1loc_1dcbb1:
    001dcbb1movzx ecx, di
    001dcbb4cmp ecx, 32767
    001dcbbajne 0x1dcbcf
    001dcbbcmov rsi, rdx
    001dcbbfshl rsi, 49
    001dcbc3shr rdx, 15
    001dcbc7or rdx, r14
    001dcbcamov rcx, rdx
    001dcbcdjmp 0x1dcc35
    001dcbcf
    001dcbcfloc_1dcbcf:
    001dcbcftest rdx, rdx
    001dcbd2js 0x1dcbe0
    001dcbd4je 0x1dcbfb
    001dcbd6bsr rsi, rdx
    001dcbdaxor rsi, 63
    001dcbdejmp 0x1dcc00
    001dcbe0
    001dcbe0loc_1dcbe0:
    001dcbe0lea rsi, [r15-1]
    001dcbe4and rdx, rsi
    001dcbe7mov rsi, rdx
    001dcbeashl rsi, 49
    001dcbeeshr rdx, 15
    001dcbf2shl rcx, 48
    001dcbf6or rcx, rdx
    001dcbf9jmp 0x1dcc35
    001dcbfb
    001dcbfbloc_1dcbfb:
    001dcbfbmov esi, 64
    001dcc00
    001dcc00loc_1dcc00:
    001dcc00mov ecx, esi
    001dcc02add cl, 50
    001dcc05xor edi, edi
    001dcc07shld rdi, rdx, cl
    001dcc0bshl rdx, cl
    001dcc0exor ebx, ebx
    001dcc10test cl, 64
    001dcc13cmovne rdi, rdx
    001dcc17cmovne rdx, rbx
    001dcc1bmov rbx, 0x1000000000000
    001dcc25xor rbx, rdi
    001dcc28lea ecx, [rsi+1]
    001dcc2bshl rcx, 48
    001dcc2for rcx, rbx
    001dcc32mov rsi, rdx
    001dcc35
    001dcc35loc_1dcc35:
    001dcc35and eax, 32768
    001dcc3ashl rax, 48
    001dcc3eor rax, rcx
    001dcc41mov [rbp-80], rsi
    001dcc45mov [rbp-72], rax
    001dcc49movaps x0, [rbp-80]
    001dcc4dcall log10q
    001dcc52movaps [rbp-64], x0
    001dcc56mov rdi, [rbp-64]
    001dcc5amov rax, [rbp-56]
    001dcc5emov rbx, 0x7fffffffffffffff
    001dcc68mov rsi, rax
    001dcc6bshld rsi, rdi, 15
    001dcc70and rbx, rax
    001dcc73mov rcx, rsi
    001dcc76or rcx, r15
    001dcc79mov rdx, rdi
    001dcc7cneg rdx
    001dcc7fsbb r14, rbx
    001dcc82mov dx, 32767
    001dcc86jb 0x1dccfa
    001dcc88shr rbx, 48
    001dcc8cmov edx, ebx
    001dcc8emov rbx, 0x1ffffffffffff
    001dcc98and rdi, rbx
    001dcc9bmov rbx, 0x1000000000001
    001dcca5cmp rdi, rbx
    001dcca8jb 0x1dccc4
    001dccaamov rsi, rcx
    001dccadadd rsi, 1
    001dccb1adc dx, 0
    001dccb5xor esi, esi
    001dccb7add rcx, 1
    001dccbbcmove rsi, r15
    001dccbfor rcx, rsi
    001dccc2jmp 0x1dccec
    001dccc4
    001dccc4loc_1dccc4:
    001dccc4mov rbx, 0x1000000000000
    001dcccecmp rdi, rbx
    001dccd1jne 0x1dccec
    001dccd3and esi, 1
    001dccd6mov rdi, rcx
    001dccd9add rdi, rsi
    001dccdcadc dx, 0
    001dcce0xor edi, edi
    001dcce2add rcx, rsi
    001dcce5cmovb rdi, r15
    001dcce9or rcx, rdi
    001dccec
    001dccecloc_1dccec:
    001dccecadd r15, -1
    001dccf0and r15, rcx
    001dccf3test dx, dx
    001dccf6cmove rcx, r15
    001dccfa
    001dccfaloc_1dccfa:
    001dccfashr rax, 48
    001dccfeand eax, 32768
    001dcd03or edx, eax
    001dcd05mov [rbp-48], rcx
    001dcd09mov [rbp-40], dx
    001dcd0dfld [rbp-48]
    001dcd10add rsp, 56
    001dcd14pop rbx
    001dcd15pop r14
    001dcd17pop r15
    001dcd19pop rbp
    001dcd1aret
    001dcb70
    001dcd1b
    001dcd1b // align 0x10
    001dcd20
    001dcd20log10q:
    001dcd20push rbp
    001dcd21mov rbp, rsp
    001dcd24push rbx
    001dcd25sub rsp, 40
    001dcd29movaps [rbp-48], x0
    001dcd2dmov rdi, [rbp-48]
    001dcd31mov rdx, [rbp-40]
    001dcd35mov rcx, 0x7fffffffffffffff
    001dcd3fand rcx, rdx
    001dcd42mov rax, 0xc3ff000000000000
    001dcd4cadd rax, rcx
    001dcd4fmov rsi, 0xbc01000000000000
    001dcd59add rsi, rcx
    001dcd5ccmp rax, rsi
    001dcd5fjae 0x1dcda0
    001dcd61mov rcx, 0x4000000000000000
    001dcd6bmov rax, rdx
    001dcd6eshld rax, rdi, 4
    001dcd73lea rsi, [rax+rcx]
    001dcd77mov rbx, 0xfffffffffffffff
    001dcd81and rbx, rdi
    001dcd84mov rdi, 0x800000000000000
    001dcd8ecmp rbx, rdi
    001dcd91jbe 0x1dcdd9
    001dcd93lea rsi, [rcx+rax]
    001dcd97add rsi, 1
    001dcd9bjmp 0x1dceb1
    001dcda0
    001dcda0loc_1dcda0:
    001dcda0mov rax, rdi
    001dcda3neg rax
    001dcda6mov rax, 0x7fff000000000000
    001dcdb0sbb rax, rcx
    001dcdb3jae 0x1dcdea
    001dcdb5shrd rdi, rdx, 60
    001dcdbamov rax, 0x7ffffffffffff
    001dcdc4and rax, rdi
    001dcdc7mov rsi, 0x7ff8000000000000
    001dcdd1or rsi, rax
    001dcdd4jmp 0x1dceb1
    001dcdd9
    001dcdd9loc_1dcdd9:
    001dcdd9jne 0x1dceb1
    001dcddf
    001dcddfloc_1dcddf:
    001dcddfand eax, 1
    001dcde2add rsi, rax
    001dcde5jmp 0x1dceb1
    001dcdea
    001dcdealoc_1dcdea:
    001dcdeashr rcx, 48
    001dcdeecmp ecx, 17406
    001dcdf4jbe 0x1dce09
    001dcdf6mov rsi, 0x7fefffffffffffff
    001dce00add rsi, 1
    001dce04jmp 0x1dceb1
    001dce09
    001dce09loc_1dce09:
    001dce09mov eax, 15361
    001dce0esub eax, ecx
    001dce10cmp eax, 112
    001dce13jbe 0x1dce1c
    001dce15xor esi, esi
    001dce17jmp 0x1dceb1
    001dce1c
    001dce1cloc_1dce1c:
    001dce1cmov rbx, 0xffffffffffff
    001dce26and rbx, rdx
    001dce29mov rsi, 0x1000000000000
    001dce33or rsi, rbx
    001dce36add cl, -1
    001dce39mov r8, rsi
    001dce3cshld r8, rdi, cl
    001dce40mov rbx, rdi
    001dce43shl rbx, cl
    001dce46xor r9l, r9l
    001dce49test cl, 64
    001dce4ccmovne r8, rbx
    001dce50cmovne rbx, r9
    001dce54xor r10l, r10l
    001dce57or rbx, r8
    001dce5asetne r10b
    001dce5emov ecx, eax
    001dce60shrd rdi, rsi, cl
    001dce64shr rsi, cl
    001dce67test al, 64
    001dce69cmovne rdi, rsi
    001dce6dcmovne rsi, r9
    001dce71shld rsi, rdi, 4
    001dce76mov rax, 0xfffffffffffffff
    001dce80and rax, rdi
    001dce83or rax, r10
    001dce86mov rcx, 0x800000000000001
    001dce90cmp rax, rcx
    001dce93jb 0x1dce9b
    001dce95add rsi, 1
    001dce99jmp 0x1dceb1
    001dce9b
    001dce9bloc_1dce9b:
    001dce9bmov rcx, 0x800000000000000
    001dcea5cmp rax, rcx
    001dcea8jne 0x1dceb1
    001dceaamov eax, esi
    001dceacjmp 0x1dcddf
    001dceb1
    001dceb1loc_1dceb1:
    001dceb1mov rbx, 0x8000000000000000
    001dcebband rdx, rbx
    001dcebeor rdx, rsi
    001dcec1movq x0, rdx
    001dcec6call log10
    001dcecbmovq rax, x0
    001dced0lea rdx, [rbx-1]
    001dced4and rdx, rax
    001dced7mov rcx, 0xfff0000000000000
    001dcee1add rcx, rdx
    001dcee4shr rcx, 53
    001dcee8cmp ecx, 1022
    001dceeeja 0x1dcf0a
    001dcef0mov rcx, rdx
    001dcef3shl rcx, 60
    001dcef7shr rdx, 4
    001dcefbmov rsi, 0x3c00000000000000
    001dcf05add rsi, rdx
    001dcf08jmp 0x1dcf87
    001dcf0a
    001dcf0aloc_1dcf0a:
    001dcf0amov rcx, rdx
    001dcf0dshr rcx, 52
    001dcf11cmp ecx, 2047
    001dcf17jb 0x1dcf36
    001dcf19mov rcx, rax
    001dcf1cshl rcx, 60
    001dcf20mov rdx, rax
    001dcf23shr rdx, 4
    001dcf27mov rsi, 0x7fff000000000000
    001dcf31or rsi, rdx
    001dcf34jmp 0x1dcf87
    001dcf36
    001dcf36loc_1dcf36:
    001dcf36test rdx, rdx
    001dcf39je 0x1dcf83
    001dcf3bbsr rcx, rdx
    001dcf3fxor rcx, 63
    001dcf43lea edi, [rcx+117]
    001dcf46add cl, 49
    001dcf49xor esi, esi
    001dcf4bshld rsi, rdx, cl
    001dcf4fand edi, 127
    001dcf52xor r8l, r8l
    001dcf55shl rdx, cl
    001dcf58test cl, 64
    001dcf5bcmovne rsi, rdx
    001dcf5fcmovne rdx, r8
    001dcf63mov rcx, 0x1000000000000
    001dcf6dxor rcx, rsi
    001dcf70mov esi, 15361
    001dcf75sub esi, edi
    001dcf77shl rsi, 48
    001dcf7bor rsi, rcx
    001dcf7emov rcx, rdx
    001dcf81jmp 0x1dcf87
    001dcf83
    001dcf83loc_1dcf83:
    001dcf83xor ecx, ecx
    001dcf85xor esi, esi
    001dcf87
    001dcf87loc_1dcf87:
    001dcf87and rax, rbx
    001dcf8aor rax, rsi
    001dcf8dmov [rbp-32], rcx
    001dcf91mov [rbp-24], rax
    001dcf95movaps x0, [rbp-32]
    001dcf99add rsp, 40
    001dcf9dpop rbx
    001dcf9epop rbp
    001dcf9fret
    001dcd20
    001dcfa0
    001dcfa0log10l:
    001dcfa0push rbp
    001dcfa1mov rbp, rsp
    001dcfa4pop rbp
    001dcfa5jmp 0x1dcb70
    001dcfa0
    001dcfaa
    001dcfaa // align 0x10
    001dcfb0
    001dcfb0log2f:
    001dcfb0push rbp
    001dcfb1mov rbp, rsp
    001dcfb4movd ecx, x0
    001dcfb8cmp ecx, 0x7fffff
    001dcfbejg 0x1dcffb
    001dcfc0xor edx, edx
    001dcfc2mov eax, ecx
    001dcfc4and eax, 0x7fffffff
    001dcfc9sete dl
    001dcfcclea rsi, [rip-0x14979b]
    001dcfd3movd x1, [rsi+4*rdx]
    001dcfd8test ecx, ecx
    001dcfdajs 0x1dd0f1
    001dcfe0test eax, eax
    001dcfe2je 0x1dd0f1
    001dcfe8mulss x0, [rip-0x149db0]
    001dcff0movd ecx, x0
    001dcff4mov edx, -152
    001dcff9jmp 0x1dd020
    001dcffb
    001dcffbloc_1dcffb:
    001dcffbmovdqa x1, x0
    001dcfffcmp ecx, 0x7f800000
    001dd005jae 0x1dd0f1
    001dd00bmov edx, -127
    001dd010pxor x1, x1
    001dd014cmp ecx, 0x3f800000
    001dd01aje 0x1dd0f1
    001dd020
    001dd020loc_1dd020:
    001dd020add ecx, 0x4afb0d
    001dd026mov eax, ecx
    001dd028shr eax, 23
    001dd02band ecx, 0x7fffff
    001dd031add ecx, 0x3f3504f3
    001dd037movd x0, ecx
    001dd03baddss x0, [rip-0x149dff]
    001dd043movss x2, [rip-0x149e03]
    001dd04baddss x2, x0
    001dd04fmovaps x1, x0
    001dd052divss x1, x2
    001dd056movaps x2, x1
    001dd059mulss x2, x1
    001dd05dmovaps x3, x2
    001dd060mulss x3, x2
    001dd064unpcklps x2, x3
    001dd067shufps x3, x3, 0
    001dd06bmulps x3, [rip-0x1490d2]
    001dd072add eax, edx
    001dd074addps x3, [rip-0x1490cb]
    001dd07bmulps x3, x2
    001dd07emovaps x2, x3
    001dd081shufps x2, x3, 85
    001dd085addss x2, x3
    001dd089movss x3, [rip-0x149e45]
    001dd091mulss x3, x0
    001dd095mulss x3, x0
    001dd099movaps x4, x0
    001dd09csubss x4, x3
    001dd0a0movss x5, [rip-0x149e58]
    001dd0a8andps x5, x4
    001dd0absubss x0, x5
    001dd0afsubss x0, x3
    001dd0b3addss x3, x2
    001dd0b7mulss x3, x1
    001dd0bbaddss x3, x0
    001dd0bfmovaps x0, x3
    001dd0c2addss x0, x5
    001dd0c6mulss x0, [rip-0x149e7a]
    001dd0cemovss x1, [rip-0x149e7e]
    001dd0d6mulss x3, x1
    001dd0daaddss x3, x0
    001dd0demulss x5, x1
    001dd0e2addss x5, x3
    001dd0e6xorps x1, x1
    001dd0e9cvtsi2ss x1, eax
    001dd0edaddss x1, x5
    001dd0f1
    001dd0f1loc_1dd0f1:
    001dd0f1movdqa x0, x1
    001dd0f5pop rbp
    001dd0f6ret
    001dcfb0
    001dd0f7
    001dd0f7 // align 0x10
    001dd100
    001dd100log2:
    001dd100push rbp
    001dd101mov rbp, rsp
    001dd104movq rax, x0
    001dd109mov rcx, rax
    001dd10cshr rcx, 32
    001dd110cmp ecx, 0x100000
    001dd116jb 0x1dd147
    001dd118test rax, rax
    001dd11bjs 0x1dd147
    001dd11dmovdqa x1, x0
    001dd121cmp ecx, 0x7ff00000
    001dd127jae 0x1dd141
    001dd129mov edx, eax
    001dd12bmov esi, -1023
    001dd130cmp ecx, 0x3ff00000
    001dd136jne 0x1dd187
    001dd138pxor x1, x1
    001dd13ctest rdx, rdx
    001dd13fjne 0x1dd187
    001dd141
    001dd141loc_1dd141:
    001dd141movdqa x0, x1
    001dd145pop rbp
    001dd146ret
    001dd147
    001dd147loc_1dd147:
    001dd147mov rcx, 0x7fffffffffffffff
    001dd151xor edx, edx
    001dd153and rcx, rax
    001dd156sete dl
    001dd159lea rsi, [rip-0x1491a0]
    001dd160movq x1, [rsi+8*rdx]
    001dd165test rax, rax
    001dd168js 0x1dd141
    001dd16atest rcx, rcx
    001dd16dje 0x1dd141
    001dd16fmulsd x0, [rip-0x149937]
    001dd177movq rcx, x0
    001dd17cshr rcx, 32
    001dd180mov edx, eax
    001dd182mov esi, -1077
    001dd187
    001dd187loc_1dd187:
    001dd187add ecx, 0x95f62
    001dd18dmov eax, ecx
    001dd18fshr eax, 20
    001dd192add eax, esi
    001dd194and ecx, 0xfffff
    001dd19aadd ecx, 0x3fe6a09e
    001dd1a0shl rcx, 32
    001dd1a4or rcx, rdx
    001dd1a7movq x0, rcx
    001dd1acaddsd x0, [rip-0x14996c]
    001dd1b4movsd_xmm x1, [rip-0x14996c]
    001dd1bcmovsd_xmm x3, [rip-0x14996c]
    001dd1c4addsd x3, x0
    001dd1c8movapd x2, x0
    001dd1ccdivsd x2, x3
    001dd1d0movapd x3, x2
    001dd1d4mulsd x3, x2
    001dd1d8movapd x4, x3
    001dd1dcmulsd x4, x3
    001dd1e0movsd_xmm x5, [rip-0x149988]
    001dd1e8mulsd x5, x4
    001dd1ecaddsd x5, [rip-0x14998c]
    001dd1f4mulsd x1, x0
    001dd1f8movapd x6, x4
    001dd1fcunpcklpd x6, x4
    001dd200movapd x7, [rip-0x149238]
    001dd208unpcklpd x7, x5
    001dd20cmulpd x7, x6
    001dd210addpd x7, [rip-0x149238]
    001dd218mulsd x1, x0
    001dd21cmulpd x7, x6
    001dd220addpd x7, [rip-0x149238]
    001dd228unpcklpd x4, x3
    001dd22cmulpd x4, x7
    001dd230movapd x3, x4
    001dd234unpckhpd x3, x4
    001dd238addsd x3, x4
    001dd23cmovapd x4, x0
    001dd240subsd x4, x1
    001dd244movsd_xmm x5, [rip-0x1499dc]
    001dd24candpd x5, x4
    001dd250subsd x0, x5
    001dd254subsd x0, x1
    001dd258addsd x3, x1
    001dd25cmulsd x3, x2
    001dd260addsd x3, x0
    001dd264movapd x0, x5
    001dd268addsd x0, x3
    001dd26cmulsd x3, [rip-0x1499fc]
    001dd274xorps x2, x2
    001dd277cvtsi2sd x2, eax
    001dd27bunpcklpd x5, x0
    001dd27fmulpd x5, [rip-0x149287]
    001dd287movapd x0, x2
    001dd28bunpcklpd x0, x3
    001dd28faddpd x0, x5
    001dd293subsd x2, x0
    001dd297addsd x2, x5
    001dd29bmovapd x1, x0
    001dd29funpckhpd x1, x0
    001dd2a3addsd x1, x2
    001dd2a7addsd x1, x0
    001dd2abmovapd x0, x1
    001dd2afpop rbp
    001dd2b0ret
    001dd100
    001dd2b1
    001dd2b1 // align 0x10
    001dd2c0
    001dd2c0__log2x:
    001dd2c0push rbp
    001dd2c1mov rbp, rsp
    001dd2c4push r15
    001dd2c6push r14
    001dd2c8push rbx
    001dd2c9sub rsp, 56
    001dd2cdmov r15, 0x8000000000000000
    001dd2d7mov eax, [rbp+24]
    001dd2damov rdx, [rbp+16]
    001dd2demov edi, eax
    001dd2e0mov r14, 0x7fff000000000000
    001dd2eaand di, 32767
    001dd2efjne 0x1dd301
    001dd2f1xor esi, esi
    001dd2f3mov ecx, 0
    001dd2f8test rdx, rdx
    001dd2fbje 0x1dd385
    001dd301
    001dd301loc_1dd301:
    001dd301movzx ecx, di
    001dd304cmp ecx, 32767
    001dd30ajne 0x1dd31f
    001dd30cmov rsi, rdx
    001dd30fshl rsi, 49
    001dd313shr rdx, 15
    001dd317or rdx, r14
    001dd31amov rcx, rdx
    001dd31djmp 0x1dd385
    001dd31f
    001dd31floc_1dd31f:
    001dd31ftest rdx, rdx
    001dd322js 0x1dd330
    001dd324je 0x1dd34b
    001dd326bsr rsi, rdx
    001dd32axor rsi, 63
    001dd32ejmp 0x1dd350
    001dd330
    001dd330loc_1dd330:
    001dd330lea rsi, [r15-1]
    001dd334and rdx, rsi
    001dd337mov rsi, rdx
    001dd33ashl rsi, 49
    001dd33eshr rdx, 15
    001dd342shl rcx, 48
    001dd346or rcx, rdx
    001dd349jmp 0x1dd385
    001dd34b
    001dd34bloc_1dd34b:
    001dd34bmov esi, 64
    001dd350
    001dd350loc_1dd350:
    001dd350mov ecx, esi
    001dd352add cl, 50
    001dd355xor edi, edi
    001dd357shld rdi, rdx, cl
    001dd35bshl rdx, cl
    001dd35exor ebx, ebx
    001dd360test cl, 64
    001dd363cmovne rdi, rdx
    001dd367cmovne rdx, rbx
    001dd36bmov rbx, 0x1000000000000
    001dd375xor rbx, rdi
    001dd378lea ecx, [rsi+1]
    001dd37bshl rcx, 48
    001dd37for rcx, rbx
    001dd382mov rsi, rdx
    001dd385
    001dd385loc_1dd385:
    001dd385and eax, 32768
    001dd38ashl rax, 48
    001dd38eor rax, rcx
    001dd391mov [rbp-80], rsi
    001dd395mov [rbp-72], rax
    001dd399movaps x0, [rbp-80]
    001dd39dcall log2q
    001dd3a2movaps [rbp-64], x0
    001dd3a6mov rdi, [rbp-64]
    001dd3aamov rax, [rbp-56]
    001dd3aemov rbx, 0x7fffffffffffffff
    001dd3b8mov rsi, rax
    001dd3bbshld rsi, rdi, 15
    001dd3c0and rbx, rax
    001dd3c3mov rcx, rsi
    001dd3c6or rcx, r15
    001dd3c9mov rdx, rdi
    001dd3ccneg rdx
    001dd3cfsbb r14, rbx
    001dd3d2mov dx, 32767
    001dd3d6jb 0x1dd44a
    001dd3d8shr rbx, 48
    001dd3dcmov edx, ebx
    001dd3demov rbx, 0x1ffffffffffff
    001dd3e8and rdi, rbx
    001dd3ebmov rbx, 0x1000000000001
    001dd3f5cmp rdi, rbx
    001dd3f8jb 0x1dd414
    001dd3famov rsi, rcx
    001dd3fdadd rsi, 1
    001dd401adc dx, 0
    001dd405xor esi, esi
    001dd407add rcx, 1
    001dd40bcmove rsi, r15
    001dd40for rcx, rsi
    001dd412jmp 0x1dd43c
    001dd414
    001dd414loc_1dd414:
    001dd414mov rbx, 0x1000000000000
    001dd41ecmp rdi, rbx
    001dd421jne 0x1dd43c
    001dd423and esi, 1
    001dd426mov rdi, rcx
    001dd429add rdi, rsi
    001dd42cadc dx, 0
    001dd430xor edi, edi
    001dd432add rcx, rsi
    001dd435cmovb rdi, r15
    001dd439or rcx, rdi
    001dd43c
    001dd43cloc_1dd43c:
    001dd43cadd r15, -1
    001dd440and r15, rcx
    001dd443test dx, dx
    001dd446cmove rcx, r15
    001dd44a
    001dd44aloc_1dd44a:
    001dd44ashr rax, 48
    001dd44eand eax, 32768
    001dd453or edx, eax
    001dd455mov [rbp-48], rcx
    001dd459mov [rbp-40], dx
    001dd45dfld [rbp-48]
    001dd460add rsp, 56
    001dd464pop rbx
    001dd465pop r14
    001dd467pop r15
    001dd469pop rbp
    001dd46aret
    001dd2c0
    001dd46b
    001dd46b // align 0x10
    001dd470
    001dd470log2q:
    001dd470push rbp
    001dd471mov rbp, rsp
    001dd474push rbx
    001dd475sub rsp, 40
    001dd479movaps [rbp-48], x0
    001dd47dmov rdi, [rbp-48]
    001dd481mov rdx, [rbp-40]
    001dd485mov rcx, 0x7fffffffffffffff
    001dd48fand rcx, rdx
    001dd492mov rax, 0xc3ff000000000000
    001dd49cadd rax, rcx
    001dd49fmov rsi, 0xbc01000000000000
    001dd4a9add rsi, rcx
    001dd4accmp rax, rsi
    001dd4afjae 0x1dd4f0
    001dd4b1mov rcx, 0x4000000000000000
    001dd4bbmov rax, rdx
    001dd4beshld rax, rdi, 4
    001dd4c3lea rsi, [rax+rcx]
    001dd4c7mov rbx, 0xfffffffffffffff
    001dd4d1and rbx, rdi
    001dd4d4mov rdi, 0x800000000000000
    001dd4decmp rbx, rdi
    001dd4e1jbe 0x1dd529
    001dd4e3lea rsi, [rcx+rax]
    001dd4e7add rsi, 1
    001dd4ebjmp 0x1dd601
    001dd4f0
    001dd4f0loc_1dd4f0:
    001dd4f0mov rax, rdi
    001dd4f3neg rax
    001dd4f6mov rax, 0x7fff000000000000
    001dd500sbb rax, rcx
    001dd503jae 0x1dd53a
    001dd505shrd rdi, rdx, 60
    001dd50amov rax, 0x7ffffffffffff
    001dd514and rax, rdi
    001dd517mov rsi, 0x7ff8000000000000
    001dd521or rsi, rax
    001dd524jmp 0x1dd601
    001dd529
    001dd529loc_1dd529:
    001dd529jne 0x1dd601
    001dd52f
    001dd52floc_1dd52f:
    001dd52fand eax, 1
    001dd532add rsi, rax
    001dd535jmp 0x1dd601
    001dd53a
    001dd53aloc_1dd53a:
    001dd53ashr rcx, 48
    001dd53ecmp ecx, 17406
    001dd544jbe 0x1dd559
    001dd546mov rsi, 0x7fefffffffffffff
    001dd550add rsi, 1
    001dd554jmp 0x1dd601
    001dd559
    001dd559loc_1dd559:
    001dd559mov eax, 15361
    001dd55esub eax, ecx
    001dd560cmp eax, 112
    001dd563jbe 0x1dd56c
    001dd565xor esi, esi
    001dd567jmp 0x1dd601
    001dd56c
    001dd56cloc_1dd56c:
    001dd56cmov rbx, 0xffffffffffff
    001dd576and rbx, rdx
    001dd579mov rsi, 0x1000000000000
    001dd583or rsi, rbx
    001dd586add cl, -1
    001dd589mov r8, rsi
    001dd58cshld r8, rdi, cl
    001dd590mov rbx, rdi
    001dd593shl rbx, cl
    001dd596xor r9l, r9l
    001dd599test cl, 64
    001dd59ccmovne r8, rbx
    001dd5a0cmovne rbx, r9
    001dd5a4xor r10l, r10l
    001dd5a7or rbx, r8
    001dd5aasetne r10b
    001dd5aemov ecx, eax
    001dd5b0shrd rdi, rsi, cl
    001dd5b4shr rsi, cl
    001dd5b7test al, 64
    001dd5b9cmovne rdi, rsi
    001dd5bdcmovne rsi, r9
    001dd5c1shld rsi, rdi, 4
    001dd5c6mov rax, 0xfffffffffffffff
    001dd5d0and rax, rdi
    001dd5d3or rax, r10
    001dd5d6mov rcx, 0x800000000000001
    001dd5e0cmp rax, rcx
    001dd5e3jb 0x1dd5eb
    001dd5e5add rsi, 1
    001dd5e9jmp 0x1dd601
    001dd5eb
    001dd5ebloc_1dd5eb:
    001dd5ebmov rcx, 0x800000000000000
    001dd5f5cmp rax, rcx
    001dd5f8jne 0x1dd601
    001dd5famov eax, esi
    001dd5fcjmp 0x1dd52f
    001dd601
    001dd601loc_1dd601:
    001dd601mov rbx, 0x8000000000000000
    001dd60band rdx, rbx
    001dd60eor rdx, rsi
    001dd611movq x0, rdx
    001dd616call log2
    001dd61bmovq rax, x0
    001dd620lea rdx, [rbx-1]
    001dd624and rdx, rax
    001dd627mov rcx, 0xfff0000000000000
    001dd631add rcx, rdx
    001dd634shr rcx, 53
    001dd638cmp ecx, 1022
    001dd63eja 0x1dd65a
    001dd640mov rcx, rdx
    001dd643shl rcx, 60
    001dd647shr rdx, 4
    001dd64bmov rsi, 0x3c00000000000000
    001dd655add rsi, rdx
    001dd658jmp 0x1dd6d7
    001dd65a
    001dd65aloc_1dd65a:
    001dd65amov rcx, rdx
    001dd65dshr rcx, 52
    001dd661cmp ecx, 2047
    001dd667jb 0x1dd686
    001dd669mov rcx, rax
    001dd66cshl rcx, 60
    001dd670mov rdx, rax
    001dd673shr rdx, 4
    001dd677mov rsi, 0x7fff000000000000
    001dd681or rsi, rdx
    001dd684jmp 0x1dd6d7
    001dd686
    001dd686loc_1dd686:
    001dd686test rdx, rdx
    001dd689je 0x1dd6d3
    001dd68bbsr rcx, rdx
    001dd68fxor rcx, 63
    001dd693lea edi, [rcx+117]
    001dd696add cl, 49
    001dd699xor esi, esi
    001dd69bshld rsi, rdx, cl
    001dd69fand edi, 127
    001dd6a2xor r8l, r8l
    001dd6a5shl rdx, cl
    001dd6a8test cl, 64
    001dd6abcmovne rsi, rdx
    001dd6afcmovne rdx, r8
    001dd6b3mov rcx, 0x1000000000000
    001dd6bdxor rcx, rsi
    001dd6c0mov esi, 15361
    001dd6c5sub esi, edi
    001dd6c7shl rsi, 48
    001dd6cbor rsi, rcx
    001dd6cemov rcx, rdx
    001dd6d1jmp 0x1dd6d7
    001dd6d3
    001dd6d3loc_1dd6d3:
    001dd6d3xor ecx, ecx
    001dd6d5xor esi, esi
    001dd6d7
    001dd6d7loc_1dd6d7:
    001dd6d7and rax, rbx
    001dd6daor rax, rsi
    001dd6ddmov [rbp-32], rcx
    001dd6e1mov [rbp-24], rax
    001dd6e5movaps x0, [rbp-32]
    001dd6e9add rsp, 40
    001dd6edpop rbx
    001dd6eepop rbp
    001dd6efret
    001dd470
    001dd6f0
    001dd6f0log2l:
    001dd6f0push rbp
    001dd6f1mov rbp, rsp
    001dd6f4pop rbp
    001dd6f5jmp 0x1dd2c0
    001dd6f0
    001dd6fa
    001dd6fa // align 0x10
    001dd700
    001dd700roundf:
    001dd700push rbp
    001dd701mov rbp, rsp
    001dd704movd eax, x0
    001dd708mov ecx, eax
    001dd70ashr ecx, 23
    001dd70dmovzx ecx, cl
    001dd710cmp ecx, 150
    001dd716jae 0x1dd781
    001dd718test eax, eax
    001dd71ajns 0x1dd724
    001dd71cpxor x0, [rip-0x149704]
    001dd724
    001dd724loc_1dd724:
    001dd724cmp ecx, 125
    001dd727ja 0x1dd72e
    001dd729xorps x0, x0
    001dd72cpop rbp
    001dd72dret
    001dd72e
    001dd72eloc_1dd72e:
    001dd72emovss x1, [rip-0x14a4c2]
    001dd736addss x1, x0
    001dd73aaddss x1, [rip-0x14a4ca]
    001dd742subss x1, x0
    001dd746ucomiss x1, [rip-0x14a4d1]
    001dd74djbe 0x1dd75d
    001dd74faddss x0, x1
    001dd753addss x0, [rip-0x14a4d3]
    001dd75bjmp 0x1dd776
    001dd75d
    001dd75dloc_1dd75d:
    001dd75dmovss x2, [rip-0x14a4e5]
    001dd765ucomiss x2, x1
    001dd768addss x0, x1
    001dd76cjb 0x1dd776
    001dd76eaddss x0, [rip-0x14a4f2]
    001dd776
    001dd776loc_1dd776:
    001dd776test eax, eax
    001dd778jns 0x1dd781
    001dd77axorps x0, [rip-0x149761]
    001dd781
    001dd781loc_1dd781:
    001dd781pop rbp
    001dd782ret
    001dd700
    001dd783
    001dd783 // align 0x10
    001dd790
    001dd790round:
    001dd790push rbp
    001dd791mov rbp, rsp
    001dd794movq rax, x0
    001dd799mov rcx, rax
    001dd79cshr rcx, 52
    001dd7a0and ecx, 2047
    001dd7a6cmp rcx, 1075
    001dd7adjae 0x1dd821
    001dd7aftest rax, rax
    001dd7b2jns 0x1dd7bc
    001dd7b4pxor x0, [rip-0x14978c]
    001dd7bc
    001dd7bcloc_1dd7bc:
    001dd7bccmp ecx, 1021
    001dd7c2ja 0x1dd7ca
    001dd7c4xorpd x0, x0
    001dd7c8pop rbp
    001dd7c9ret
    001dd7ca
    001dd7caloc_1dd7ca:
    001dd7camovsd_xmm x1, [rip-0x149f52]
    001dd7d2addsd x1, x0
    001dd7d6addsd x1, [rip-0x149f56]
    001dd7desubsd x1, x0
    001dd7e2ucomisd x1, [rip-0x149f5a]
    001dd7eajbe 0x1dd7fa
    001dd7ecaddsd x0, x1
    001dd7f0addsd x0, [rip-0x149f50]
    001dd7f8jmp 0x1dd814
    001dd7fa
    001dd7faloc_1dd7fa:
    001dd7famovsd_xmm x2, [rip-0x149f6a]
    001dd802ucomisd x2, x1
    001dd806addsd x0, x1
    001dd80ajb 0x1dd814
    001dd80caddsd x0, [rip-0x149f74]
    001dd814
    001dd814loc_1dd814:
    001dd814test rax, rax
    001dd817jns 0x1dd821
    001dd819xorpd x0, [rip-0x1497f1]
    001dd821
    001dd821loc_1dd821:
    001dd821pop rbp
    001dd822ret
    001dd790
    001dd823
    001dd823 // align 0x10
    001dd830
    001dd830__roundx:
    001dd830push rbp
    001dd831mov rbp, rsp
    001dd834push r15
    001dd836push r14
    001dd838push rbx
    001dd839sub rsp, 56
    001dd83dmov r15, 0x8000000000000000
    001dd847mov eax, [rbp+24]
    001dd84amov rdx, [rbp+16]
    001dd84emov edi, eax
    001dd850mov r14, 0x7fff000000000000
    001dd85aand di, 32767
    001dd85fjne 0x1dd871
    001dd861xor esi, esi
    001dd863mov ecx, 0
    001dd868test rdx, rdx
    001dd86bje 0x1dd8f5
    001dd871
    001dd871loc_1dd871:
    001dd871movzx ecx, di
    001dd874cmp ecx, 32767
    001dd87ajne 0x1dd88f
    001dd87cmov rsi, rdx
    001dd87fshl rsi, 49
    001dd883shr rdx, 15
    001dd887or rdx, r14
    001dd88amov rcx, rdx
    001dd88djmp 0x1dd8f5
    001dd88f
    001dd88floc_1dd88f:
    001dd88ftest rdx, rdx
    001dd892js 0x1dd8a0
    001dd894je 0x1dd8bb
    001dd896bsr rsi, rdx
    001dd89axor rsi, 63
    001dd89ejmp 0x1dd8c0
    001dd8a0
    001dd8a0loc_1dd8a0:
    001dd8a0lea rsi, [r15-1]
    001dd8a4and rdx, rsi
    001dd8a7mov rsi, rdx
    001dd8aashl rsi, 49
    001dd8aeshr rdx, 15
    001dd8b2shl rcx, 48
    001dd8b6or rcx, rdx
    001dd8b9jmp 0x1dd8f5
    001dd8bb
    001dd8bbloc_1dd8bb:
    001dd8bbmov esi, 64
    001dd8c0
    001dd8c0loc_1dd8c0:
    001dd8c0mov ecx, esi
    001dd8c2add cl, 50
    001dd8c5xor edi, edi
    001dd8c7shld rdi, rdx, cl
    001dd8cbshl rdx, cl
    001dd8cexor ebx, ebx
    001dd8d0test cl, 64
    001dd8d3cmovne rdi, rdx
    001dd8d7cmovne rdx, rbx
    001dd8dbmov rbx, 0x1000000000000
    001dd8e5xor rbx, rdi
    001dd8e8lea ecx, [rsi+1]
    001dd8ebshl rcx, 48
    001dd8efor rcx, rbx
    001dd8f2mov rsi, rdx
    001dd8f5
    001dd8f5loc_1dd8f5:
    001dd8f5and eax, 32768
    001dd8fashl rax, 48
    001dd8feor rax, rcx
    001dd901mov [rbp-80], rsi
    001dd905mov [rbp-72], rax
    001dd909movaps x0, [rbp-80]
    001dd90dcall roundq
    001dd912movaps [rbp-64], x0
    001dd916mov rdi, [rbp-64]
    001dd91amov rax, [rbp-56]
    001dd91emov rbx, 0x7fffffffffffffff
    001dd928mov rsi, rax
    001dd92bshld rsi, rdi, 15
    001dd930and rbx, rax
    001dd933mov rcx, rsi
    001dd936or rcx, r15
    001dd939mov rdx, rdi
    001dd93cneg rdx
    001dd93fsbb r14, rbx
    001dd942mov dx, 32767
    001dd946jb 0x1dd9ba
    001dd948shr rbx, 48
    001dd94cmov edx, ebx
    001dd94emov rbx, 0x1ffffffffffff
    001dd958and rdi, rbx
    001dd95bmov rbx, 0x1000000000001
    001dd965cmp rdi, rbx
    001dd968jb 0x1dd984
    001dd96amov rsi, rcx
    001dd96dadd rsi, 1
    001dd971adc dx, 0
    001dd975xor esi, esi
    001dd977add rcx, 1
    001dd97bcmove rsi, r15
    001dd97for rcx, rsi
    001dd982jmp 0x1dd9ac
    001dd984
    001dd984loc_1dd984:
    001dd984mov rbx, 0x1000000000000
    001dd98ecmp rdi, rbx
    001dd991jne 0x1dd9ac
    001dd993and esi, 1
    001dd996mov rdi, rcx
    001dd999add rdi, rsi
    001dd99cadc dx, 0
    001dd9a0xor edi, edi
    001dd9a2add rcx, rsi
    001dd9a5cmovb rdi, r15
    001dd9a9or rcx, rdi
    001dd9ac
    001dd9acloc_1dd9ac:
    001dd9acadd r15, -1
    001dd9b0and r15, rcx
    001dd9b3test dx, dx
    001dd9b6cmove rcx, r15
    001dd9ba
    001dd9baloc_1dd9ba:
    001dd9bashr rax, 48
    001dd9beand eax, 32768
    001dd9c3or edx, eax
    001dd9c5mov [rbp-48], rcx
    001dd9c9mov [rbp-40], dx
    001dd9cdfld [rbp-48]
    001dd9d0add rsp, 56
    001dd9d4pop rbx
    001dd9d5pop r14
    001dd9d7pop r15
    001dd9d9pop rbp
    001dd9daret
    001dd830
    001dd9db
    001dd9db // align 0x10
    001dd9e0
    001dd9e0roundq:
    001dd9e0push rbp
    001dd9e1mov rbp, rsp
    001dd9e4push r15
    001dd9e6push r14
    001dd9e8push rbx
    001dd9e9sub rsp, 200
    001dd9f0movaps [rbp-48], x0
    001dd9f4movaps x0, [rip-0x1499bb]
    001dd9fbmovaps x1, [rip-0x1499b2]
    001dda02call __divtf3
    001dda07movaps x1, x0
    001dda0amovaps x0, [rbp-48]
    001dda0emovaps [rbp-192], x0
    001dda15mov r15, [rbp-184]
    001dda1cmov rbx, r15
    001dda1fshr rbx, 48
    001dda23and ebx, 32767
    001dda29cmp rbx, 16495
    001dda30jae 0x1ddb7d
    001dda36mov rax, [rbp-192]
    001dda3dmov r14, 0x8000000000000000
    001dda47mov rcx, r15
    001dda4axor rcx, r14
    001dda4dmov [rbp-176], rax
    001dda54mov [rbp-168], rcx
    001dda5btest r15, r15
    001dda5ejns 0x1dda67
    001dda60movaps x0, [rbp-176]
    001dda67
    001dda67loc_1dda67:
    001dda67movaps [rbp-48], x0
    001dda6bmovaps [rbp-208], x1
    001dda72call __addtf3
    001dda77cmp ebx, 16381
    001dda7dja 0x1dda87
    001dda7fxorps x0, x0
    001dda82jmp 0x1ddb7d
    001dda87
    001dda87loc_1dda87:
    001dda87movaps x1, [rbp-208]
    001dda8emovaps [rbp-160], x1
    001dda95mov rax, [rbp-160]
    001dda9cmov rcx, [rbp-152]
    001ddaa3xor rcx, r14
    001ddaa6mov [rbp-136], rcx
    001ddaadmov [rbp-144], rax
    001ddab4movaps x1, [rbp-144]
    001ddabbcall __addtf3
    001ddac0movaps x1, [rbp-48]
    001ddac4movaps [rbp-128], x1
    001ddac8mov rax, [rbp-128]
    001ddaccmov rcx, [rbp-120]
    001ddad0xor rcx, r14
    001ddad3mov [rbp-104], rcx
    001ddad7mov [rbp-112], rax
    001ddadbmovaps x1, [rbp-112]
    001ddadfcall __addtf3
    001ddae4movaps [rbp-96], x0
    001ddae8mov rcx, [rbp-96]
    001ddaecmov rax, [rbp-88]
    001ddaf0mov rdx, 0x7fffffffffffffff
    001ddafaand rdx, rax
    001ddafdmov rsi, rcx
    001ddb00neg rsi
    001ddb03mov rsi, 0x7fff000000000000
    001ddb0dsbb rsi, rdx
    001ddb10jae 0x1ddb18
    001ddb12
    001ddb12loc_1ddb12:
    001ddb12movaps x1, [rbp-48]
    001ddb16jmp 0x1ddb5b
    001ddb18
    001ddb18loc_1ddb18:
    001ddb18movaps x1, [rbp-48]
    001ddb1ccmp rcx, 1
    001ddb20mov rcx, 0x3ffe000000000000
    001ddb2amov rdx, rax
    001ddb2dsbb rdx, rcx
    001ddb30jge 0x1ddb4f
    001ddb32shr rax, 49
    001ddb36cmp eax, 24575
    001ddb3bjb 0x1ddb12
    001ddb3dmovaps x1, [rbp-48]
    001ddb41call __addtf3
    001ddb46movaps x1, [rip-0x149b0d]
    001ddb4djmp 0x1ddb5b
    001ddb4f
    001ddb4floc_1ddb4f:
    001ddb4fcall __addtf3
    001ddb54movaps x1, [rip-0x149afb]
    001ddb5b
    001ddb5bloc_1ddb5b:
    001ddb5bcall __addtf3
    001ddb60test r15, r15
    001ddb63jns 0x1ddb7d
    001ddb65movaps [rbp-80], x0
    001ddb69xor r14, [rbp-72]
    001ddb6dmov rax, [rbp-80]
    001ddb71mov [rbp-56], r14
    001ddb75mov [rbp-64], rax
    001ddb79movaps x0, [rbp-64]
    001ddb7d
    001ddb7dloc_1ddb7d:
    001ddb7dadd rsp, 200
    001ddb84pop rbx
    001ddb85pop r14
    001ddb87pop r15
    001ddb89pop rbp
    001ddb8aret
    001dd9e0
    001ddb8b
    001ddb8b // align 0x10
    001ddb90
    001ddb90roundl:
    001ddb90push rbp
    001ddb91mov rbp, rsp
    001ddb94pop rbp
    001ddb95jmp 0x1dd830
    001ddb90
    001ddb9a
    001ddb9a // align 0x10
    001ddba0
    001ddba0sqrtf:
    001ddba0push rbp
    001ddba1mov rbp, rsp
    001ddba4push r15
    001ddba6push r14
    001ddba8push r12
    001ddbaapush rbx
    001ddbabmovd edx, x0
    001ddbafmov eax, edx
    001ddbb1not eax
    001ddbb3test eax, 0x7f800000
    001ddbb8jne 0x1ddbcb
    001ddbbamovdqa x1, x0
    001ddbbemulss x1, x0
    001ddbc2addss x0, x1
    001ddbc6jmp 0x1ddfc0
    001ddbcb
    001ddbcbloc_1ddbcb:
    001ddbcbtest edx, edx
    001ddbcdjle 0x1ddbf2
    001ddbcfcmp edx, 0x7fffff
    001ddbd5ja 0x1ddc0b
    001ddbd7mov eax, 1
    001ddbdcmov ecx, edx
    001ddbdenop
    001ddbe0
    001ddbe0loc_1ddbe0:
    001ddbe0lea edx, [rcx+rcx]
    001ddbe3add eax, -1
    001ddbe6test ecx, 0x400000
    001ddbecmov ecx, edx
    001ddbeeje 0x1ddbe0
    001ddbf0jmp 0x1ddc10
    001ddbf2
    001ddbf2loc_1ddbf2:
    001ddbf2test edx, 0x7fffffff
    001ddbf8je 0x1ddfc0
    001ddbfemovd x0, [rip-0x14a97a]
    001ddc06jmp 0x1ddfc0
    001ddc0b
    001ddc0bloc_1ddc0b:
    001ddc0bmov eax, edx
    001ddc0dshr eax, 23
    001ddc10
    001ddc10loc_1ddc10:
    001ddc10add eax, -127
    001ddc13and edx, 0x7fffff
    001ddc19or edx, 0x800000
    001ddc1fmov ecx, eax
    001ddc21and cl, 1
    001ddc24shl edx, cl
    001ddc26lea ecx, [4*rdx]
    001ddc2dlea edi, [4*rdx-0x2800000]
    001ddc34xor r9l, r9l
    001ddc37cmp edx, 0x1200000
    001ddc3dcmovb edi, ecx
    001ddc40setae r9b
    001ddc44mov esi, r9l
    001ddc47shl esi, 24
    001ddc4alea edx, [rsi+0x2000000]
    001ddc50lea ecx, [rdi+rdi]
    001ddc53add ecx, 0xfffffffffc000000
    001ddc59lea edi, [rsi+0x2400000]
    001ddc5for esi, 0x2800000
    001ddc65xor r8l, r8l
    001ddc68xor r10l, r10l
    001ddc6bcmp ecx, edi
    001ddc6dcmovl esi, edx
    001ddc70setge r10b
    001ddc74cmovl edi, r8l
    001ddc78sub ecx, edi
    001ddc7aadd ecx, ecx
    001ddc7clea edi, [rsi+0x200000]
    001ddc82lea ebx, [rsi+0x400000]
    001ddc88xor r14l, r14l
    001ddc8bcmp ecx, edi
    001ddc8dsetge r14b
    001ddc91cmovl ebx, esi
    001ddc94cmovl edi, r8l
    001ddc98sub ecx, edi
    001ddc9aadd ecx, ecx
    001ddc9clea esi, [rbx+0x100000]
    001ddca2lea edx, [rbx+0x200000]
    001ddca8xor edi, edi
    001ddcaacmp ecx, esi
    001ddcaccmovl edx, ebx
    001ddcafcmovl esi, r8l
    001ddcb3setge dil
    001ddcb7sub ecx, esi
    001ddcb9add ecx, ecx
    001ddcbblea ebx, [rdx+0x80000]
    001ddcc1cmp ecx, ebx
    001ddcc3mov r15l, ebx
    001ddcc6cmovl r15l, r8l
    001ddccalea r11l, [rdx+0x100000]
    001ddcd1xor r12l, r12l
    001ddcd4cmp ecx, ebx
    001ddcd6setge r12b
    001ddcdacmovl r11l, edx
    001ddcdeshl r9l, 23
    001ddce2shl r10l, 22
    001ddce6or r10l, r9l
    001ddce9shl r14l, 21
    001ddcedor r14l, r10l
    001ddcf0shl edi, 20
    001ddcf3or edi, r14l
    001ddcf6shl r12l, 19
    001ddcfaor r12l, edi
    001ddcfdsub ecx, r15l
    001ddd00add ecx, ecx
    001ddd02lea edx, [r11+0x40000]
    001ddd09lea esi, [r11+0x80000]
    001ddd10xor ebx, ebx
    001ddd12cmp ecx, edx
    001ddd14cmovl esi, r11l
    001ddd18setge bl
    001ddd1bcmovl edx, r8l
    001ddd1fshl ebx, 18
    001ddd22lea r9l, [rbx+r12]
    001ddd26add r9l, 0x1000000
    001ddd2dsub ecx, edx
    001ddd2fadd ecx, ecx
    001ddd31lea ebx, [rsi+0x20000]
    001ddd37lea edi, [rsi+0x40000]
    001ddd3dxor edx, edx
    001ddd3fcmp ecx, ebx
    001ddd41setge dl
    001ddd44cmovl edi, esi
    001ddd47cmovl ebx, r8l
    001ddd4bshl edx, 17
    001ddd4eor edx, r9l
    001ddd51sub ecx, ebx
    001ddd53add ecx, ecx
    001ddd55lea ebx, [rdi+0x10000]
    001ddd5blea r9l, [rdi+0x20000]
    001ddd62xor esi, esi
    001ddd64cmp ecx, ebx
    001ddd66cmovl r9l, edi
    001ddd6acmovl ebx, r8l
    001ddd6esetge sil
    001ddd72shl esi, 16
    001ddd75add esi, edx
    001ddd77sub ecx, ebx
    001ddd79add ecx, ecx
    001ddd7blea edi, [r9+32768]
    001ddd82lea ebx, [r9+0x10000]
    001ddd89xor edx, edx
    001ddd8bcmp ecx, edi
    001ddd8dsetge dl
    001ddd90cmovl ebx, r9l
    001ddd94cmovl edi, r8l
    001ddd98shl edx, 15
    001ddd9badd edx, esi
    001ddd9dsub ecx, edi
    001ddd9fadd ecx, ecx
    001ddda1lea edi, [rbx+16384]
    001ddda7lea r9l, [rbx+32768]
    001dddaexor esi, esi
    001dddb0cmp ecx, edi
    001dddb2cmovl r9l, ebx
    001dddb6setge sil
    001dddbacmovl edi, r8l
    001dddbeshl esi, 14
    001dddc1add esi, edx
    001dddc3sub ecx, edi
    001dddc5add ecx, ecx
    001dddc7lea edi, [r9+8192]
    001dddcelea ebx, [r9+16384]
    001dddd5xor edx, edx
    001dddd7cmp ecx, edi
    001dddd9setge dl
    001ddddccmovl ebx, r9l
    001ddde0cmovl edi, r8l
    001ddde4shl edx, 13
    001ddde7add edx, esi
    001ddde9sub ecx, edi
    001dddebadd ecx, ecx
    001dddedlea edi, [rbx+4096]
    001dddf3lea r9l, [rbx+8192]
    001dddfaxor esi, esi
    001dddfccmp ecx, edi
    001dddfecmovl r9l, ebx
    001dde02cmovl edi, r8l
    001dde06setge sil
    001dde0ashl esi, 12
    001dde0dadd esi, edx
    001dde0fsub ecx, edi
    001dde11add ecx, ecx
    001dde13lea edi, [r9+2048]
    001dde1alea ebx, [r9+4096]
    001dde21xor edx, edx
    001dde23cmp ecx, edi
    001dde25setge dl
    001dde28cmovl ebx, r9l
    001dde2ccmovl edi, r8l
    001dde30shl edx, 11
    001dde33add edx, esi
    001dde35sub ecx, edi
    001dde37add ecx, ecx
    001dde39lea edi, [rbx+1024]
    001dde3flea r9l, [rbx+2048]
    001dde46xor esi, esi
    001dde48cmp ecx, edi
    001dde4acmovl r9l, ebx
    001dde4esetge sil
    001dde52cmovl edi, r8l
    001dde56shl esi, 10
    001dde59add esi, edx
    001dde5bsub ecx, edi
    001dde5dadd ecx, ecx
    001dde5flea edi, [r9+512]
    001dde66lea ebx, [r9+1024]
    001dde6dxor edx, edx
    001dde6fcmp ecx, edi
    001dde71setge dl
    001dde74cmovl ebx, r9l
    001dde78cmovl edi, r8l
    001dde7cshl edx, 9
    001dde7fadd edx, esi
    001dde81sub ecx, edi
    001dde83add ecx, ecx
    001dde85lea edi, [rbx+256]
    001dde8blea r9l, [rbx+512]
    001dde92xor esi, esi
    001dde94cmp ecx, edi
    001dde96cmovl r9l, ebx
    001dde9acmovl edi, r8l
    001dde9esetge sil
    001ddea2shl esi, 8
    001ddea5add esi, edx
    001ddea7sub ecx, edi
    001ddea9add ecx, ecx
    001ddeablea edi, [r9+128]
    001ddeb2lea ebx, [r9+256]
    001ddeb9xor edx, edx
    001ddebbcmp ecx, edi
    001ddebdsetge dl
    001ddec0cmovl ebx, r9l
    001ddec4cmovl edi, r8l
    001ddec8shl edx, 7
    001ddecbadd edx, esi
    001ddecdsub ecx, edi
    001ddecfadd ecx, ecx
    001dded1lea edi, [rbx+64]
    001dded4lea r9l, [rbx+128]
    001ddedbxor esi, esi
    001ddeddcmp ecx, edi
    001ddedfcmovl r9l, ebx
    001ddee3setge sil
    001ddee7cmovl edi, r8l
    001ddeebshl esi, 6
    001ddeeeadd esi, edx
    001ddef0sub ecx, edi
    001ddef2add ecx, ecx
    001ddef4lea edi, [r9+32]
    001ddef8lea ebx, [r9+64]
    001ddefcxor edx, edx
    001ddefecmp ecx, edi
    001ddf00setge dl
    001ddf03cmovl ebx, r9l
    001ddf07cmovl edi, r8l
    001ddf0bshl edx, 5
    001ddf0eadd edx, esi
    001ddf10sub ecx, edi
    001ddf12add ecx, ecx
    001ddf14lea esi, [rbx+16]
    001ddf17lea r9l, [rbx+32]
    001ddf1bxor edi, edi
    001ddf1dcmp ecx, esi
    001ddf1fcmovl r9l, ebx
    001ddf23cmovl esi, r8l
    001ddf27setge dil
    001ddf2bshl edi, 4
    001ddf2eadd edi, edx
    001ddf30sub ecx, esi
    001ddf32add ecx, ecx
    001ddf34lea esi, [r9+8]
    001ddf38lea edx, [r9+16]
    001ddf3cxor ebx, ebx
    001ddf3ecmp ecx, esi
    001ddf40setge bl
    001ddf43cmovl edx, r9l
    001ddf47lea r9l, [rdi+8*rbx]
    001ddf4bcmovl esi, r8l
    001ddf4fsub ecx, esi
    001ddf51add ecx, ecx
    001ddf53lea ebx, [rdx+4]
    001ddf56lea esi, [rdx+8]
    001ddf59xor edi, edi
    001ddf5bcmp ecx, ebx
    001ddf5dsetge dil
    001ddf61cmovl esi, edx
    001ddf64lea r9l, [r9+4*rdi]
    001ddf68cmovl ebx, r8l
    001ddf6csub ecx, ebx
    001ddf6eadd ecx, ecx
    001ddf70lea ebx, [rsi+2]
    001ddf73lea edx, [rsi+4]
    001ddf76xor edi, edi
    001ddf78cmp ecx, ebx
    001ddf7asetge dil
    001ddf7ecmovl edx, esi
    001ddf81lea esi, [r9+2*rdi]
    001ddf85cmovl ebx, r8l
    001ddf89sub ecx, ebx
    001ddf8badd ecx, ecx
    001ddf8dxor edi, edi
    001ddf8fcmp ecx, edx
    001ddf91not edx
    001ddf93setg dil
    001ddf97cmovle edx, r8l
    001ddf9badd edi, esi
    001ddf9dadd edx, ecx
    001ddf9fsetne cl
    001ddfa2mov edx, edi
    001ddfa4and dl, cl
    001ddfa6movzx ecx, dl
    001ddfa9add ecx, edi
    001ddfabshr ecx, 1
    001ddfadshl eax, 22
    001ddfb0add eax, 0x3f000000
    001ddfb5and eax, 0xffffffffff800000
    001ddfbaadd eax, ecx
    001ddfbcmovd x0, eax
    001ddfc0
    001ddfc0loc_1ddfc0:
    001ddfc0pop rbx
    001ddfc1pop r12
    001ddfc3pop r14
    001ddfc5pop r15
    001ddfc7pop rbp
    001ddfc8ret
    001ddba0
    001ddfc9
    001ddfc9 // align 0x10
    001ddfd0
    001ddfd0sqrt:
    001ddfd0push rbp
    001ddfd1mov rbp, rsp
    001ddfd4push r14
    001ddfd6push rbx
    001ddfd7movq r14, x0
    001ddfdcmov rdi, r14
    001ddfdfshr rdi, 32
    001ddfe3mov eax, edi
    001ddfe5not eax
    001ddfe7test eax, 0x7ff00000
    001ddfecjne 0x1ddfff
    001ddfeemovapd x1, x0
    001ddff2mulsd x1, x0
    001ddff6addsd x0, x1
    001ddffa
    001ddffaloc_1ddffa:
    001ddffapop rbx
    001ddffbpop r14
    001ddffdpop rbp
    001ddfferet
    001ddfff
    001ddfffloc_1ddfff:
    001ddfffxorpd x1, x1
    001de003ucomisd x0, x1
    001de007jne 0x1de00b
    001de009jnp 0x1ddffa
    001de00b
    001de00bloc_1de00b:
    001de00btest r14, r14
    001de00ejs 0x1de072
    001de010cmp edi, 0xfffff
    001de016ja 0x1de07f
    001de018mov r8l, 1
    001de01etest edi, edi
    001de020jne 0x1de046
    001de022mov r8l, 1
    001de028nop [rax+rax]
    001de030
    001de030loc_1de030:
    001de030mov edi, r14l
    001de033shl r14l, 21
    001de037add r8l, -21
    001de03bcmp edi, 2048
    001de041jb 0x1de030
    001de043shr edi, 11
    001de046
    001de046loc_1de046:
    001de046xor eax, eax
    001de048test edi, 0x100000
    001de04ejne 0x1de088
    001de050xor eax, eax
    001de052nop [rax+rax]
    001de05cnop [rax]
    001de060
    001de060loc_1de060:
    001de060lea edx, [rdi+rdi]
    001de063add eax, 1
    001de066test edi, 0x80000
    001de06cmov edi, edx
    001de06eje 0x1de060
    001de070jmp 0x1de08a
    001de072
    001de072loc_1de072:
    001de072movsd_xmm x0, [rip-0x14a7ca]
    001de07apop rbx
    001de07bpop r14
    001de07dpop rbp
    001de07eret
    001de07f
    001de07floc_1de07f:
    001de07fmov r8l, edi
    001de082shr r8l, 20
    001de086jmp 0x1de09d
    001de088
    001de088loc_1de088:
    001de088mov edx, edi
    001de08a
    001de08aloc_1de08a:
    001de08asub r8l, eax
    001de08dmov ecx, eax
    001de08fneg cl
    001de091mov edi, r14l
    001de094shr edi, cl
    001de096or edi, edx
    001de098mov ecx, eax
    001de09ashl r14l, cl
    001de09d
    001de09dloc_1de09d:
    001de09dadd r8l, -1023
    001de0a4and edi, 0xfffff
    001de0aaor edi, 0x100000
    001de0b0test r8b, 1
    001de0b4je 0x1de0be
    001de0b6shld edi, r14l, 1
    001de0bbadd r14l, r14l
    001de0be
    001de0beloc_1de0be:
    001de0beshld edi, r14l, 1
    001de0c3add r14l, r14l
    001de0c6xor r9l, r9l
    001de0c9mov ecx, 0x200000
    001de0cexor r11l, r11l
    001de0d1xor edx, edx
    001de0d3nop [rax+rax]
    001de0ddnop [rax]
    001de0e0
    001de0e0loc_1de0e0:
    001de0e0mov eax, edx
    001de0e2lea esi, [rcx+rax]
    001de0e5lea edx, [rsi+rcx]
    001de0e8cmp edi, esi
    001de0eacmovb edx, eax
    001de0edmov eax, ecx
    001de0efcmovb eax, r9l
    001de0f3cmovb esi, r9l
    001de0f7add r11l, eax
    001de0fasub edi, esi
    001de0fcshld edi, r14l, 1
    001de101mov eax, ecx
    001de103shr eax, 1
    001de105add r14l, r14l
    001de108cmp ecx, 1
    001de10bmov ecx, eax
    001de10dja 0x1de0e0
    001de10fxor r9l, r9l
    001de112mov ecx, 0xffffffff80000000
    001de117xor r10l, r10l
    001de11ajmp 0x1de154
    001de11c
    001de11c 0f 1f 40 00 ..@.
    001de120
    001de120loc_1de120:
    001de120test eax, eax
    001de122sets sil
    001de126mov r10l, eax
    001de129add r10l, ecx
    001de12csetns bl
    001de12fand bl, sil
    001de132movzx esi, bl
    001de135add esi, edx
    001de137sub r14l, eax
    001de13asbb edi, edx
    001de13cadd r9l, ecx
    001de13fmov edx, esi
    001de141
    001de141loc_1de141:
    001de141shld edi, r14l, 1
    001de146add r14l, r14l
    001de149mov eax, ecx
    001de14bshr eax, 1
    001de14dcmp ecx, 1
    001de150mov ecx, eax
    001de152jbe 0x1de165
    001de154
    001de154loc_1de154:
    001de154lea eax, [rcx+r10]
    001de158cmp edi, edx
    001de15aja 0x1de120
    001de15cjne 0x1de141
    001de15ecmp r14l, eax
    001de161jae 0x1de120
    001de163jmp 0x1de141
    001de165
    001de165loc_1de165:
    001de165or edi, r14l
    001de168je 0x1de185
    001de16acmp r9l, -1
    001de16eje 0x1de17e
    001de170mov eax, r9l
    001de173and eax, 1
    001de176add eax, r9l
    001de179mov r9l, eax
    001de17cjmp 0x1de185
    001de17e
    001de17eloc_1de17e:
    001de17eadd r11l, 1
    001de182xor r9l, r9l
    001de185
    001de185loc_1de185:
    001de185mov eax, r11l
    001de188shrd r9l, r11l, 1
    001de18dshr eax, 1
    001de18fshl r8l, 19
    001de193add r8l, 0x3fe00000
    001de19aand r8l, 0xfffffffffff00000
    001de1a1add r8l, eax
    001de1a4shl r8, 32
    001de1a8or r9, r8
    001de1abmovq x0, r9
    001de1b0pop rbx
    001de1b1pop r14
    001de1b3pop rbp
    001de1b4ret
    001ddfd0
    001de1b5
    001de1b5 // align 0x10
    001de1c0
    001de1c0__sqrtx:
    001de1c0push rbp
    001de1c1mov rbp, rsp
    001de1c4push r15
    001de1c6push r14
    001de1c8push rbx
    001de1c9sub rsp, 56
    001de1cdmov r15, 0x8000000000000000
    001de1d7mov eax, [rbp+24]
    001de1damov rdx, [rbp+16]
    001de1demov edi, eax
    001de1e0mov r14, 0x7fff000000000000
    001de1eaand di, 32767
    001de1efjne 0x1de201
    001de1f1xor esi, esi
    001de1f3mov ecx, 0
    001de1f8test rdx, rdx
    001de1fbje 0x1de285
    001de201
    001de201loc_1de201:
    001de201movzx ecx, di
    001de204cmp ecx, 32767
    001de20ajne 0x1de21f
    001de20cmov rsi, rdx
    001de20fshl rsi, 49
    001de213shr rdx, 15
    001de217or rdx, r14
    001de21amov rcx, rdx
    001de21djmp 0x1de285
    001de21f
    001de21floc_1de21f:
    001de21ftest rdx, rdx
    001de222js 0x1de230
    001de224je 0x1de24b
    001de226bsr rsi, rdx
    001de22axor rsi, 63
    001de22ejmp 0x1de250
    001de230
    001de230loc_1de230:
    001de230lea rsi, [r15-1]
    001de234and rdx, rsi
    001de237mov rsi, rdx
    001de23ashl rsi, 49
    001de23eshr rdx, 15
    001de242shl rcx, 48
    001de246or rcx, rdx
    001de249jmp 0x1de285
    001de24b
    001de24bloc_1de24b:
    001de24bmov esi, 64
    001de250
    001de250loc_1de250:
    001de250mov ecx, esi
    001de252add cl, 50
    001de255xor edi, edi
    001de257shld rdi, rdx, cl
    001de25bshl rdx, cl
    001de25exor ebx, ebx
    001de260test cl, 64
    001de263cmovne rdi, rdx
    001de267cmovne rdx, rbx
    001de26bmov rbx, 0x1000000000000
    001de275xor rbx, rdi
    001de278lea ecx, [rsi+1]
    001de27bshl rcx, 48
    001de27for rcx, rbx
    001de282mov rsi, rdx
    001de285
    001de285loc_1de285:
    001de285and eax, 32768
    001de28ashl rax, 48
    001de28eor rax, rcx
    001de291mov [rbp-80], rsi
    001de295mov [rbp-72], rax
    001de299movaps x0, [rbp-80]
    001de29dcall sqrtq
    001de2a2movaps [rbp-64], x0
    001de2a6mov rdi, [rbp-64]
    001de2aamov rax, [rbp-56]
    001de2aemov rbx, 0x7fffffffffffffff
    001de2b8mov rsi, rax
    001de2bbshld rsi, rdi, 15
    001de2c0and rbx, rax
    001de2c3mov rcx, rsi
    001de2c6or rcx, r15
    001de2c9mov rdx, rdi
    001de2ccneg rdx
    001de2cfsbb r14, rbx
    001de2d2mov dx, 32767
    001de2d6jb 0x1de34a
    001de2d8shr rbx, 48
    001de2dcmov edx, ebx
    001de2demov rbx, 0x1ffffffffffff
    001de2e8and rdi, rbx
    001de2ebmov rbx, 0x1000000000001
    001de2f5cmp rdi, rbx
    001de2f8jb 0x1de314
    001de2famov rsi, rcx
    001de2fdadd rsi, 1
    001de301adc dx, 0
    001de305xor esi, esi
    001de307add rcx, 1
    001de30bcmove rsi, r15
    001de30for rcx, rsi
    001de312jmp 0x1de33c
    001de314
    001de314loc_1de314:
    001de314mov rbx, 0x1000000000000
    001de31ecmp rdi, rbx
    001de321jne 0x1de33c
    001de323and esi, 1
    001de326mov rdi, rcx
    001de329add rdi, rsi
    001de32cadc dx, 0
    001de330xor edi, edi
    001de332add rcx, rsi
    001de335cmovb rdi, r15
    001de339or rcx, rdi
    001de33c
    001de33cloc_1de33c:
    001de33cadd r15, -1
    001de340and r15, rcx
    001de343test dx, dx
    001de346cmove rcx, r15
    001de34a
    001de34aloc_1de34a:
    001de34ashr rax, 48
    001de34eand eax, 32768
    001de353or edx, eax
    001de355mov [rbp-48], rcx
    001de359mov [rbp-40], dx
    001de35dfld [rbp-48]
    001de360add rsp, 56
    001de364pop rbx
    001de365pop r14
    001de367pop r15
    001de369pop rbp
    001de36aret
    001de1c0
    001de36b
    001de36b // align 0x10
    001de370
    001de370sqrtq:
    001de370push rbp
    001de371mov rbp, rsp
    001de374push rbx
    001de375sub rsp, 40
    001de379movaps [rbp-48], x0
    001de37dmov rdi, [rbp-48]
    001de381mov rdx, [rbp-40]
    001de385mov rcx, 0x7fffffffffffffff
    001de38fand rcx, rdx
    001de392mov rax, 0xc3ff000000000000
    001de39cadd rax, rcx
    001de39fmov rsi, 0xbc01000000000000
    001de3a9add rsi, rcx
    001de3accmp rax, rsi
    001de3afjae 0x1de3f0
    001de3b1mov rcx, 0x4000000000000000
    001de3bbmov rax, rdx
    001de3beshld rax, rdi, 4
    001de3c3lea rsi, [rax+rcx]
    001de3c7mov rbx, 0xfffffffffffffff
    001de3d1and rbx, rdi
    001de3d4mov rdi, 0x800000000000000
    001de3decmp rbx, rdi
    001de3e1jbe 0x1de429
    001de3e3lea rsi, [rcx+rax]
    001de3e7add rsi, 1
    001de3ebjmp 0x1de501
    001de3f0
    001de3f0loc_1de3f0:
    001de3f0mov rax, rdi
    001de3f3neg rax
    001de3f6mov rax, 0x7fff000000000000
    001de400sbb rax, rcx
    001de403jae 0x1de43a
    001de405shrd rdi, rdx, 60
    001de40amov rax, 0x7ffffffffffff
    001de414and rax, rdi
    001de417mov rsi, 0x7ff8000000000000
    001de421or rsi, rax
    001de424jmp 0x1de501
    001de429
    001de429loc_1de429:
    001de429jne 0x1de501
    001de42f
    001de42floc_1de42f:
    001de42fand eax, 1
    001de432add rsi, rax
    001de435jmp 0x1de501
    001de43a
    001de43aloc_1de43a:
    001de43ashr rcx, 48
    001de43ecmp ecx, 17406
    001de444jbe 0x1de459
    001de446mov rsi, 0x7fefffffffffffff
    001de450add rsi, 1
    001de454jmp 0x1de501
    001de459
    001de459loc_1de459:
    001de459mov eax, 15361
    001de45esub eax, ecx
    001de460cmp eax, 112
    001de463jbe 0x1de46c
    001de465xor esi, esi
    001de467jmp 0x1de501
    001de46c
    001de46cloc_1de46c:
    001de46cmov rbx, 0xffffffffffff
    001de476and rbx, rdx
    001de479mov rsi, 0x1000000000000
    001de483or rsi, rbx
    001de486add cl, -1
    001de489mov r8, rsi
    001de48cshld r8, rdi, cl
    001de490mov rbx, rdi
    001de493shl rbx, cl
    001de496xor r9l, r9l
    001de499test cl, 64
    001de49ccmovne r8, rbx
    001de4a0cmovne rbx, r9
    001de4a4xor r10l, r10l
    001de4a7or rbx, r8
    001de4aasetne r10b
    001de4aemov ecx, eax
    001de4b0shrd rdi, rsi, cl
    001de4b4shr rsi, cl
    001de4b7test al, 64
    001de4b9cmovne rdi, rsi
    001de4bdcmovne rsi, r9
    001de4c1shld rsi, rdi, 4
    001de4c6mov rax, 0xfffffffffffffff
    001de4d0and rax, rdi
    001de4d3or rax, r10
    001de4d6mov rcx, 0x800000000000001
    001de4e0cmp rax, rcx
    001de4e3jb 0x1de4eb
    001de4e5add rsi, 1
    001de4e9jmp 0x1de501
    001de4eb
    001de4ebloc_1de4eb:
    001de4ebmov rcx, 0x800000000000000
    001de4f5cmp rax, rcx
    001de4f8jne 0x1de501
    001de4famov eax, esi
    001de4fcjmp 0x1de42f
    001de501
    001de501loc_1de501:
    001de501mov rbx, 0x8000000000000000
    001de50band rdx, rbx
    001de50eor rdx, rsi
    001de511movq x0, rdx
    001de516call sqrt
    001de51bmovq rax, x0
    001de520lea rdx, [rbx-1]
    001de524and rdx, rax
    001de527mov rcx, 0xfff0000000000000
    001de531add rcx, rdx
    001de534shr rcx, 53
    001de538cmp ecx, 1022
    001de53eja 0x1de55a
    001de540mov rcx, rdx
    001de543shl rcx, 60
    001de547shr rdx, 4
    001de54bmov rsi, 0x3c00000000000000
    001de555add rsi, rdx
    001de558jmp 0x1de5d7
    001de55a
    001de55aloc_1de55a:
    001de55amov rcx, rdx
    001de55dshr rcx, 52
    001de561cmp ecx, 2047
    001de567jb 0x1de586
    001de569mov rcx, rax
    001de56cshl rcx, 60
    001de570mov rdx, rax
    001de573shr rdx, 4
    001de577mov rsi, 0x7fff000000000000
    001de581or rsi, rdx
    001de584jmp 0x1de5d7
    001de586
    001de586loc_1de586:
    001de586test rdx, rdx
    001de589je 0x1de5d3
    001de58bbsr rcx, rdx
    001de58fxor rcx, 63
    001de593lea edi, [rcx+117]
    001de596add cl, 49
    001de599xor esi, esi
    001de59bshld rsi, rdx, cl
    001de59fand edi, 127
    001de5a2xor r8l, r8l
    001de5a5shl rdx, cl
    001de5a8test cl, 64
    001de5abcmovne rsi, rdx
    001de5afcmovne rdx, r8
    001de5b3mov rcx, 0x1000000000000
    001de5bdxor rcx, rsi
    001de5c0mov esi, 15361
    001de5c5sub esi, edi
    001de5c7shl rsi, 48
    001de5cbor rsi, rcx
    001de5cemov rcx, rdx
    001de5d1jmp 0x1de5d7
    001de5d3
    001de5d3loc_1de5d3:
    001de5d3xor ecx, ecx
    001de5d5xor esi, esi
    001de5d7
    001de5d7loc_1de5d7:
    001de5d7and rax, rbx
    001de5daor rax, rsi
    001de5ddmov [rbp-32], rcx
    001de5e1mov [rbp-24], rax
    001de5e5movaps x0, [rbp-32]
    001de5e9add rsp, 40
    001de5edpop rbx
    001de5eepop rbp
    001de5efret
    001de370
    001de5f0
    001de5f0sqrtl:
    001de5f0push rbp
    001de5f1mov rbp, rsp
    001de5f4pop rbp
    001de5f5jmp 0x1de1c0
    001de5f0
    001de5fa
    001de5fa // align 0x10
    001de600
    001de600tanf:
    001de600push rbp
    001de601mov rbp, rsp
    001de604push rbx
    001de605sub rsp, 24
    001de609movd ebx, x0
    001de60dmov eax, ebx
    001de60fand eax, 0x7fffffff
    001de614cmp eax, 0x3f490fda
    001de619ja 0x1de66e
    001de61bcmp eax, 0x39800000
    001de620jb 0x1de738
    001de626cvtss2sd x0, x0
    001de62amovaps x1, x0
    001de62dmulsd x1, x0
    001de631movapd x2, x1
    001de635unpcklpd x2, x1
    001de639mulpd x2, [rip-0x14a5c1]
    001de641addpd x2, [rip-0x14a5b9]
    001de649movapd x3, x1
    001de64dmulsd x3, x1
    001de651movapd x4, x1
    001de655mulsd x1, [rip-0x14ad5d]
    001de65daddsd x1, [rip-0x14ad5d]
    001de665mulsd x4, x0
    001de669jmp 0x1de7b8
    001de66e
    001de66eloc_1de66e:
    001de66ecmp eax, 0x407b53d1
    001de673ja 0x1de694
    001de675cvtss2sd x0, x0
    001de679cmp eax, 0x4016cbe3
    001de67eja 0x1de73f
    001de684xor eax, eax
    001de686test ebx, ebx
    001de688setns al
    001de68blea rcx, [rip-0x14a5c2]
    001de692jmp 0x1de6bc
    001de694
    001de694loc_1de694:
    001de694cmp eax, 0x40e231d5
    001de699ja 0x1de74f
    001de69fcvtss2sd x0, x0
    001de6a3cmp eax, 0x40afeddf
    001de6a8ja 0x1de765
    001de6aexor eax, eax
    001de6b0test ebx, ebx
    001de6b2setns al
    001de6b5lea rcx, [rip-0x14a60c]
    001de6bc
    001de6bcloc_1de6bc:
    001de6bcaddsd x0, [rcx+8*rax]
    001de6c1movapd x1, x0
    001de6c5mulsd x1, x0
    001de6c9movapd x2, x1
    001de6cdunpcklpd x2, x1
    001de6d1mulpd x2, [rip-0x14a659]
    001de6d9addpd x2, [rip-0x14a651]
    001de6e1movapd x3, x1
    001de6e5movapd x4, x0
    001de6e9mulsd x4, x1
    001de6edmulsd x1, [rip-0x14adf5]
    001de6f5mulsd x3, x3
    001de6f9addsd x1, [rip-0x14adf9]
    001de701mulsd x1, x4
    001de705addsd x1, x0
    001de709mulsd x4, x3
    001de70dmovapd x0, x2
    001de711unpckhpd x0, x2
    001de715mulsd x0, x3
    001de719addsd x0, x2
    001de71dmulsd x0, x4
    001de721addsd x0, x1
    001de725movsd_xmm x1, [rip-0x14ae35]
    001de72ddivsd x1, x0
    001de731xorps x0, x0
    001de734cvtsd2ss x0, x1
    001de738
    001de738loc_1de738:
    001de738add rsp, 24
    001de73cpop rbx
    001de73dpop rbp
    001de73eret
    001de73f
    001de73floc_1de73f:
    001de73fxor eax, eax
    001de741test ebx, ebx
    001de743setns al
    001de746lea rcx, [rip-0x14a68d]
    001de74djmp 0x1de773
    001de74f
    001de74floc_1de74f:
    001de74fcmp eax, 0x7f800000
    001de754jb 0x1de7e7
    001de75asubss x0, x0
    001de75eadd rsp, 24
    001de762pop rbx
    001de763pop rbp
    001de764ret
    001de765
    001de765loc_1de765:
    001de765xor eax, eax
    001de767test ebx, ebx
    001de769setns al
    001de76clea rcx, [rip-0x14a6d3]
    001de773
    001de773loc_1de773:
    001de773addsd x0, [rcx+8*rax]
    001de778movapd x1, x0
    001de77cmulsd x1, x0
    001de780movapd x2, x1
    001de784unpcklpd x2, x1
    001de788mulpd x2, [rip-0x14a710]
    001de790addpd x2, [rip-0x14a708]
    001de798movapd x3, x1
    001de79cmovapd x4, x0
    001de7a0mulsd x4, x1
    001de7a4mulsd x1, [rip-0x14aeac]
    001de7acaddsd x1, [rip-0x14aeac]
    001de7b4mulsd x3, x3
    001de7b8
    001de7b8loc_1de7b8:
    001de7b8mulsd x1, x4
    001de7bcaddsd x1, x0
    001de7c0mulsd x4, x3
    001de7c4movapd x0, x2
    001de7c8unpckhpd x0, x2
    001de7ccmulsd x0, x3
    001de7d0addsd x0, x2
    001de7d4mulsd x0, x4
    001de7d8addsd x0, x1
    001de7dc
    001de7dcloc_1de7dc:
    001de7dccvtsd2ss x0, x0
    001de7e0add rsp, 24
    001de7e4pop rbx
    001de7e5pop rbp
    001de7e6ret
    001de7e7
    001de7e7loc_1de7e7:
    001de7e7cmp eax, 0x4dc90fda
    001de7ecja 0x1de84d
    001de7eecvtss2sd x2, x0
    001de7f2movsd_xmm x1, [rip-0x14af42]
    001de7famulsd x1, x2
    001de7feaddsd x1, [rip-0x14af46]
    001de806addsd x1, [rip-0x14af46]
    001de80ecvttsd2si eax, x1
    001de812movsd_xmm x3, [rip-0x14af4a]
    001de81amulsd x3, x1
    001de81eaddsd x3, x2
    001de822movsd_xmm x0, [rip-0x14af52]
    001de82amulsd x0, x1
    001de82eaddsd x0, x3
    001de832movsd_xmm x3, [rip-0x14af5a]
    001de83aucomisd x3, x0
    001de83ejbe 0x1de896
    001de840addsd x1, [rip-0x14af50]
    001de848add eax, -1
    001de84bjmp 0x1de8ab
    001de84d
    001de84dloc_1de84d:
    001de84dmov edx, eax
    001de84fshr edx, 23
    001de852add edx, -150
    001de858mov ecx, edx
    001de85ashl ecx, 23
    001de85dsub eax, ecx
    001de85fmovd x0, eax
    001de863cvtss2sd x0, x0
    001de867movsd_xmm [rbp-16], x0
    001de86clea rdi, [rbp-16]
    001de870lea rsi, [rbp-24]
    001de874mov ecx, 1
    001de879xor r8l, r8l
    001de87ccall compiler_rt.rem_pio2_large.rem_pio2_large
    001de881movsd_xmm x0, [rbp-24]
    001de886test ebx, ebx
    001de888jns 0x1de8cb
    001de88axorpd x0, [rip-0x14a822]
    001de892neg eax
    001de894jmp 0x1de8cb
    001de896
    001de896loc_1de896:
    001de896ucomisd x0, [rip-0x14afb6]
    001de89ejbe 0x1de8cb
    001de8a0addsd x1, [rip-0x14afb8]
    001de8a8add eax, 1
    001de8ab
    001de8abloc_1de8ab:
    001de8abmovsd_xmm x0, [rip-0x14afe3]
    001de8b3mulsd x0, x1
    001de8b7addsd x2, x0
    001de8bbmulsd x1, [rip-0x14afeb]
    001de8c3addsd x1, x2
    001de8c7movapd x0, x1
    001de8cb
    001de8cbloc_1de8cb:
    001de8cbmovapd x1, x0
    001de8cfmulsd x1, x0
    001de8d3movapd x2, x1
    001de8d7unpcklpd x2, x1
    001de8dbmulpd x2, [rip-0x14a863]
    001de8e3addpd x2, [rip-0x14a85b]
    001de8ebmovapd x3, x1
    001de8efmulsd x3, x1
    001de8f3movapd x4, x0
    001de8f7mulsd x4, x1
    001de8fbmulsd x1, [rip-0x14b003]
    001de903addsd x1, [rip-0x14b003]
    001de90bmulsd x1, x4
    001de90faddsd x1, x0
    001de913mulsd x4, x3
    001de917movapd x0, x2
    001de91bunpckhpd x0, x2
    001de91fmulsd x0, x3
    001de923addsd x0, x2
    001de927mulsd x0, x4
    001de92baddsd x0, x1
    001de92ftest al, 1
    001de931je 0x1de7dc
    001de937movsd_xmm x1, [rip-0x14b047]
    001de93fdivsd x1, x0
    001de943movapd x0, x1
    001de947jmp 0x1de7dc
    001de600