File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    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
    001de94c
    001de94c // align 0x10
    001de950
    001de950tan:
    001de950push rbp
    001de951mov rbp, rsp
    001de954push rbx
    001de955sub rsp, 40
    001de959movq rsi, x0
    001de95emov rax, rsi
    001de961shr rax, 32
    001de965and eax, 0x7fffffff
    001de96acmp rax, 0x3fe921fb
    001de970ja 0x1de9ca
    001de972cmp eax, 0x3e400000
    001de977jb 0x1de9d5
    001de979mov rcx, 0x3fe5942700000000
    001de983mov rdx, 0x7ffffff800000000
    001de98dand rdx, rsi
    001de990cmp rdx, rcx
    001de993jbe 0x1dea6a
    001de999mov rax, rsi
    001de99cshr rax, 63
    001de9a0test rsi, rsi
    001de9a3jns 0x1de9ad
    001de9a5xorpd x0, [rip-0x14a8cd]
    001de9ad
    001de9adloc_1de9ad:
    001de9admovsd_xmm x1, [rip-0x14b02d]
    001de9b5subsd x1, x0
    001de9b9addsd x1, [rip-0x14b031]
    001de9c1movapd x0, x1
    001de9c5jmp 0x1dea6e
    001de9ca
    001de9caloc_1de9ca:
    001de9cacmp eax, 0x7ff00000
    001de9cfjb 0x1de9dc
    001de9d1subsd x0, x0
    001de9d5
    001de9d5loc_1de9d5:
    001de9d5add rsp, 40
    001de9d9pop rbx
    001de9dapop rbp
    001de9dbret
    001de9dc
    001de9dcloc_1de9dc:
    001de9dcmov rbx, 0x3fe5942700000000
    001de9e6lea rdi, [rbp-32]
    001de9eacall compiler_rt.rem_pio2.rem_pio2
    001de9efmovdqa x1, [rbp-32]
    001de9f4movq rcx, x1
    001de9f9mov rdx, 0x7ffffff800000000
    001dea03and rdx, rcx
    001dea06cmp rdx, rbx
    001dea09jbe 0x1deb58
    001dea0fmovdqa x0, [rip-0x14a937]
    001dea17pxor x0, x1
    001dea1bmovq x2, rcx
    001dea20shr rcx, 63
    001dea24pshufd x2, x2, 68
    001dea29psrlq x2, 63
    001dea2epsllq x2, 63
    001dea33psrad x2, 31
    001dea38pshufd x2, x2, -11
    001dea3dpand x0, x2
    001dea41pandn x2, x1
    001dea45por x2, x0
    001dea49movapd x0, [rip-0x14a961]
    001dea51subpd x0, x2
    001dea55movapd x1, x0
    001dea59unpckhpd x1, x0
    001dea5daddsd x1, x0
    001dea61xorpd x0, x0
    001dea65jmp 0x1deb60
    001dea6a
    001dea6aloc_1dea6a:
    001dea6amovapd x1, x0
    001dea6e
    001dea6eloc_1dea6e:
    001dea6emovapd x2, x1
    001dea72mulsd x2, x1
    001dea76movapd x4, x2
    001dea7amulsd x4, x2
    001dea7eunpcklpd x4, x4
    001dea82movapd x3, [rip-0x14a97a]
    001dea8amulpd x3, x4
    001dea8emovsd_xmm x5, [rip-0x14b17e]
    001dea96subpd x5, x3
    001dea9aaddpd x3, [rip-0x14a982]
    001deaa2movsd_xmm x3, x5
    001deaa6mulpd x3, x4
    001deaaaaddpd x3, [rip-0x14a982]
    001deab2mulpd x3, x4
    001deab6addpd x3, [rip-0x14a97e]
    001deabemulpd x3, x4
    001deac2addpd x3, [rip-0x14a97a]
    001deacamulpd x3, x4
    001deaceaddpd x3, [rip-0x14a976]
    001dead6movapd x5, x3
    001deadaunpckhpd x5, x3
    001deademulsd x5, x2
    001deae2movapd x4, x1
    001deae6mulsd x4, x2
    001deaeaaddsd x5, x3
    001deaeemulsd x5, x4
    001deaf2xorpd x3, x3
    001deaf6addsd x5, x3
    001deafamulsd x5, x2
    001deafemulsd x4, [rip-0x14b196]
    001deb06addsd x5, x3
    001deb0aaddsd x4, x5
    001deb0eaddsd x0, x4
    001deb12cmp rdx, rcx
    001deb15jbe 0x1de9d5
    001deb1bmovapd x3, x0
    001deb1fmulsd x3, x0
    001deb23movsd_xmm x2, [rip-0x14b1ab]
    001deb2baddsd x0, x2
    001deb2fdivsd x3, x0
    001deb33subsd x4, x3
    001deb37addsd x1, x4
    001deb3baddsd x1, x1
    001deb3fsubsd x2, x1
    001deb43test al, 1
    001deb45je 0x1decd2
    001deb4bxorpd x2, [rip-0x14aa73]
    001deb53jmp 0x1decd2
    001deb58
    001deb58loc_1deb58:
    001deb58movdqa x0, x1
    001deb5cpunpckhqdq x0, x1
    001deb60
    001deb60loc_1deb60:
    001deb60movapd x3, x1
    001deb64mulsd x3, x1
    001deb68movapd x4, x3
    001deb6cmulsd x4, x3
    001deb70movsd_xmm x2, [rip-0x14b268]
    001deb78mulsd x2, x4
    001deb7caddsd x2, [rip-0x14b26c]
    001deb84mulsd x2, x4
    001deb88addsd x2, [rip-0x14b270]
    001deb90mulsd x2, x4
    001deb94addsd x2, [rip-0x14b274]
    001deb9cmulsd x2, x4
    001deba0addsd x2, [rip-0x14b278]
    001deba8mulsd x2, x4
    001debacaddsd x2, [rip-0x14b27c]
    001debb4movsd_xmm x5, [rip-0x14b27c]
    001debbcmulsd x5, x4
    001debc0addsd x5, [rip-0x14b280]
    001debc8mulsd x5, x4
    001debccaddsd x5, [rip-0x14b284]
    001debd4mulsd x5, x4
    001debd8addsd x5, [rip-0x14b288]
    001debe0mulsd x5, x4
    001debe4addsd x5, [rip-0x14b28c]
    001debecmulsd x5, x4
    001debf0addsd x5, [rip-0x14b290]
    001debf8mulsd x5, x3
    001debfcaddsd x5, x2
    001dec00movapd x2, x1
    001dec04mulsd x2, x3
    001dec08mulsd x5, x2
    001dec0caddsd x5, x0
    001dec10mulsd x5, x3
    001dec14addsd x5, x0
    001dec18mulsd x2, [rip-0x14b2b0]
    001dec20addsd x2, x5
    001dec24movapd x0, x1
    001dec28addsd x0, x2
    001dec2ccmp rdx, rbx
    001dec2fjbe 0x1dec85
    001dec31movsd_xmm x3, [rip-0x14b2b9]
    001dec39movapd x4, x3
    001dec3dtest al, 1
    001dec3fjne 0x1dec45
    001dec41xorpd x4, x4
    001dec45
    001dec45loc_1dec45:
    001dec45addsd x4, x4
    001dec49subsd x3, x4
    001dec4dmovapd x4, x3
    001dec51addsd x4, x0
    001dec55mulsd x0, x0
    001dec59divsd x0, x4
    001dec5dsubsd x2, x0
    001dec61addsd x1, x2
    001dec65addsd x1, x1
    001dec69subsd x3, x1
    001dec6dtest cl, 1
    001dec70je 0x1dec7a
    001dec72xorpd x3, [rip-0x14ab9a]
    001dec7a
    001dec7aloc_1dec7a:
    001dec7amovapd x0, x3
    001dec7eadd rsp, 40
    001dec82pop rbx
    001dec83pop rbp
    001dec84ret
    001dec85
    001dec85loc_1dec85:
    001dec85test al, 1
    001dec87je 0x1de9d5
    001dec8dmovsd_xmm x3, [rip-0x14b31d]
    001dec95divsd x3, x0
    001dec99unpcklpd x0, x3
    001dec9dandpd x0, [rip-0x14aba5]
    001deca5movapd x4, x0
    001deca9subsd x4, x1
    001decadsubsd x2, x4
    001decb1pshufd x1, x0, -18
    001decb6mulsd x0, x1
    001decbaaddsd x0, [rip-0x14b342]
    001decc2mulsd x2, x1
    001decc6addsd x2, x0
    001deccamulsd x2, x3
    001decceaddsd x2, x1
    001decd2
    001decd2loc_1decd2:
    001decd2movapd x0, x2
    001decd6add rsp, 40
    001decdapop rbx
    001decdbpop rbp
    001decdcret
    001de950
    001decdd
    001decdd // align 0x10
    001dece0
    001dece0__tanx:
    001dece0push rbp
    001dece1mov rbp, rsp
    001dece4push r15
    001dece6push r14
    001dece8push rbx
    001dece9sub rsp, 56
    001decedmov r15, 0x8000000000000000
    001decf7mov eax, [rbp+24]
    001decfamov rdx, [rbp+16]
    001decfemov edi, eax
    001ded00mov r14, 0x7fff000000000000
    001ded0aand di, 32767
    001ded0fjne 0x1ded21
    001ded11xor esi, esi
    001ded13mov ecx, 0
    001ded18test rdx, rdx
    001ded1bje 0x1deda5
    001ded21
    001ded21loc_1ded21:
    001ded21movzx ecx, di
    001ded24cmp ecx, 32767
    001ded2ajne 0x1ded3f
    001ded2cmov rsi, rdx
    001ded2fshl rsi, 49
    001ded33shr rdx, 15
    001ded37or rdx, r14
    001ded3amov rcx, rdx
    001ded3djmp 0x1deda5
    001ded3f
    001ded3floc_1ded3f:
    001ded3ftest rdx, rdx
    001ded42js 0x1ded50
    001ded44je 0x1ded6b
    001ded46bsr rsi, rdx
    001ded4axor rsi, 63
    001ded4ejmp 0x1ded70
    001ded50
    001ded50loc_1ded50:
    001ded50lea rsi, [r15-1]
    001ded54and rdx, rsi
    001ded57mov rsi, rdx
    001ded5ashl rsi, 49
    001ded5eshr rdx, 15
    001ded62shl rcx, 48
    001ded66or rcx, rdx
    001ded69jmp 0x1deda5
    001ded6b
    001ded6bloc_1ded6b:
    001ded6bmov esi, 64
    001ded70
    001ded70loc_1ded70:
    001ded70mov ecx, esi
    001ded72add cl, 50
    001ded75xor edi, edi
    001ded77shld rdi, rdx, cl
    001ded7bshl rdx, cl
    001ded7exor ebx, ebx
    001ded80test cl, 64
    001ded83cmovne rdi, rdx
    001ded87cmovne rdx, rbx
    001ded8bmov rbx, 0x1000000000000
    001ded95xor rbx, rdi
    001ded98lea ecx, [rsi+1]
    001ded9bshl rcx, 48
    001ded9for rcx, rbx
    001deda2mov rsi, rdx
    001deda5
    001deda5loc_1deda5:
    001deda5and eax, 32768
    001dedaashl rax, 48
    001dedaeor rax, rcx
    001dedb1mov [rbp-80], rsi
    001dedb5mov [rbp-72], rax
    001dedb9movaps x0, [rbp-80]
    001dedbdcall tanq
    001dedc2movaps [rbp-64], x0
    001dedc6mov rdi, [rbp-64]
    001dedcamov rax, [rbp-56]
    001dedcemov rbx, 0x7fffffffffffffff
    001dedd8mov rsi, rax
    001deddbshld rsi, rdi, 15
    001dede0and rbx, rax
    001dede3mov rcx, rsi
    001dede6or rcx, r15
    001dede9mov rdx, rdi
    001dedecneg rdx
    001dedefsbb r14, rbx
    001dedf2mov dx, 32767
    001dedf6jb 0x1dee6a
    001dedf8shr rbx, 48
    001dedfcmov edx, ebx
    001dedfemov rbx, 0x1ffffffffffff
    001dee08and rdi, rbx
    001dee0bmov rbx, 0x1000000000001
    001dee15cmp rdi, rbx
    001dee18jb 0x1dee34
    001dee1amov rsi, rcx
    001dee1dadd rsi, 1
    001dee21adc dx, 0
    001dee25xor esi, esi
    001dee27add rcx, 1
    001dee2bcmove rsi, r15
    001dee2for rcx, rsi
    001dee32jmp 0x1dee5c
    001dee34
    001dee34loc_1dee34:
    001dee34mov rbx, 0x1000000000000
    001dee3ecmp rdi, rbx
    001dee41jne 0x1dee5c
    001dee43and esi, 1
    001dee46mov rdi, rcx
    001dee49add rdi, rsi
    001dee4cadc dx, 0
    001dee50xor edi, edi
    001dee52add rcx, rsi
    001dee55cmovb rdi, r15
    001dee59or rcx, rdi
    001dee5c
    001dee5cloc_1dee5c:
    001dee5cadd r15, -1
    001dee60and r15, rcx
    001dee63test dx, dx
    001dee66cmove rcx, r15
    001dee6a
    001dee6aloc_1dee6a:
    001dee6ashr rax, 48
    001dee6eand eax, 32768
    001dee73or edx, eax
    001dee75mov [rbp-48], rcx
    001dee79mov [rbp-40], dx
    001dee7dfld [rbp-48]
    001dee80add rsp, 56
    001dee84pop rbx
    001dee85pop r14
    001dee87pop r15
    001dee89pop rbp
    001dee8aret
    001dece0
    001dee8b
    001dee8b // align 0x10
    001dee90
    001dee90tanq:
    001dee90push rbp
    001dee91mov rbp, rsp
    001dee94push rbx
    001dee95sub rsp, 40
    001dee99movaps [rbp-48], x0
    001dee9dmov rdi, [rbp-48]
    001deea1mov rdx, [rbp-40]
    001deea5mov rcx, 0x7fffffffffffffff
    001deeafand rcx, rdx
    001deeb2mov rax, 0xc3ff000000000000
    001deebcadd rax, rcx
    001deebfmov rsi, 0xbc01000000000000
    001deec9add rsi, rcx
    001deecccmp rax, rsi
    001deecfjae 0x1def10
    001deed1mov rcx, 0x4000000000000000
    001deedbmov rax, rdx
    001deedeshld rax, rdi, 4
    001deee3lea rsi, [rax+rcx]
    001deee7mov rbx, 0xfffffffffffffff
    001deef1and rbx, rdi
    001deef4mov rdi, 0x800000000000000
    001deefecmp rbx, rdi
    001def01jbe 0x1def49
    001def03lea rsi, [rcx+rax]
    001def07add rsi, 1
    001def0bjmp 0x1df021
    001def10
    001def10loc_1def10:
    001def10mov rax, rdi
    001def13neg rax
    001def16mov rax, 0x7fff000000000000
    001def20sbb rax, rcx
    001def23jae 0x1def5a
    001def25shrd rdi, rdx, 60
    001def2amov rax, 0x7ffffffffffff
    001def34and rax, rdi
    001def37mov rsi, 0x7ff8000000000000
    001def41or rsi, rax
    001def44jmp 0x1df021
    001def49
    001def49loc_1def49:
    001def49jne 0x1df021
    001def4f
    001def4floc_1def4f:
    001def4fand eax, 1
    001def52add rsi, rax
    001def55jmp 0x1df021
    001def5a
    001def5aloc_1def5a:
    001def5ashr rcx, 48
    001def5ecmp ecx, 17406
    001def64jbe 0x1def79
    001def66mov rsi, 0x7fefffffffffffff
    001def70add rsi, 1
    001def74jmp 0x1df021
    001def79
    001def79loc_1def79:
    001def79mov eax, 15361
    001def7esub eax, ecx
    001def80cmp eax, 112
    001def83jbe 0x1def8c
    001def85xor esi, esi
    001def87jmp 0x1df021
    001def8c
    001def8cloc_1def8c:
    001def8cmov rbx, 0xffffffffffff
    001def96and rbx, rdx
    001def99mov rsi, 0x1000000000000
    001defa3or rsi, rbx
    001defa6add cl, -1
    001defa9mov r8, rsi
    001defacshld r8, rdi, cl
    001defb0mov rbx, rdi
    001defb3shl rbx, cl
    001defb6xor r9l, r9l
    001defb9test cl, 64
    001defbccmovne r8, rbx
    001defc0cmovne rbx, r9
    001defc4xor r10l, r10l
    001defc7or rbx, r8
    001defcasetne r10b
    001defcemov ecx, eax
    001defd0shrd rdi, rsi, cl
    001defd4shr rsi, cl
    001defd7test al, 64
    001defd9cmovne rdi, rsi
    001defddcmovne rsi, r9
    001defe1shld rsi, rdi, 4
    001defe6mov rax, 0xfffffffffffffff
    001deff0and rax, rdi
    001deff3or rax, r10
    001deff6mov rcx, 0x800000000000001
    001df000cmp rax, rcx
    001df003jb 0x1df00b
    001df005add rsi, 1
    001df009jmp 0x1df021
    001df00b
    001df00bloc_1df00b:
    001df00bmov rcx, 0x800000000000000
    001df015cmp rax, rcx
    001df018jne 0x1df021
    001df01amov eax, esi
    001df01cjmp 0x1def4f
    001df021
    001df021loc_1df021:
    001df021mov rbx, 0x8000000000000000
    001df02band rdx, rbx
    001df02eor rdx, rsi
    001df031movq x0, rdx
    001df036call tan
    001df03bmovq rax, x0
    001df040lea rdx, [rbx-1]
    001df044and rdx, rax
    001df047mov rcx, 0xfff0000000000000
    001df051add rcx, rdx
    001df054shr rcx, 53
    001df058cmp ecx, 1022
    001df05eja 0x1df07a
    001df060mov rcx, rdx
    001df063shl rcx, 60
    001df067shr rdx, 4
    001df06bmov rsi, 0x3c00000000000000
    001df075add rsi, rdx
    001df078jmp 0x1df0f7
    001df07a
    001df07aloc_1df07a:
    001df07amov rcx, rdx
    001df07dshr rcx, 52
    001df081cmp ecx, 2047
    001df087jb 0x1df0a6
    001df089mov rcx, rax
    001df08cshl rcx, 60
    001df090mov rdx, rax
    001df093shr rdx, 4
    001df097mov rsi, 0x7fff000000000000
    001df0a1or rsi, rdx
    001df0a4jmp 0x1df0f7
    001df0a6
    001df0a6loc_1df0a6:
    001df0a6test rdx, rdx
    001df0a9je 0x1df0f3
    001df0abbsr rcx, rdx
    001df0afxor rcx, 63
    001df0b3lea edi, [rcx+117]
    001df0b6add cl, 49
    001df0b9xor esi, esi
    001df0bbshld rsi, rdx, cl
    001df0bfand edi, 127
    001df0c2xor r8l, r8l
    001df0c5shl rdx, cl
    001df0c8test cl, 64
    001df0cbcmovne rsi, rdx
    001df0cfcmovne rdx, r8
    001df0d3mov rcx, 0x1000000000000
    001df0ddxor rcx, rsi
    001df0e0mov esi, 15361
    001df0e5sub esi, edi
    001df0e7shl rsi, 48
    001df0ebor rsi, rcx
    001df0eemov rcx, rdx
    001df0f1jmp 0x1df0f7
    001df0f3
    001df0f3loc_1df0f3:
    001df0f3xor ecx, ecx
    001df0f5xor esi, esi
    001df0f7
    001df0f7loc_1df0f7:
    001df0f7and rax, rbx
    001df0faor rax, rsi
    001df0fdmov [rbp-32], rcx
    001df101mov [rbp-24], rax
    001df105movaps x0, [rbp-32]
    001df109add rsp, 40
    001df10dpop rbx
    001df10epop rbp
    001df10fret
    001dee90
    001df110
    001df110tanl:
    001df110push rbp
    001df111mov rbp, rsp
    001df114pop rbp
    001df115jmp 0x1dece0
    001df110
    001df11a
    001df11a // align 0x10
    001df120
    001df120truncf:
    001df120push rbp
    001df121mov rbp, rsp
    001df124movd eax, x0
    001df128mov ecx, eax
    001df12ashr ecx, 23
    001df12dmovzx edx, cl
    001df130cmp edx, 150
    001df136jae 0x1df159
    001df138add cl, 10
    001df13bmov esi, -1
    001df140shr esi, cl
    001df142cmp edx, 127
    001df145mov ecx, 0x7fffffff
    001df14acmovae ecx, esi
    001df14dtest ecx, eax
    001df14fje 0x1df159
    001df151not ecx
    001df153and ecx, eax
    001df155movd x0, ecx
    001df159
    001df159loc_1df159:
    001df159pop rbp
    001df15aret
    001df120
    001df15b
    001df15b // align 0x10
    001df160
    001df160trunc:
    001df160push rbp
    001df161mov rbp, rsp
    001df164movq rax, x0
    001df169mov rcx, rax
    001df16cshr rcx, 52
    001df170mov edx, ecx
    001df172and edx, 2047
    001df178cmp edx, 1075
    001df17ejae 0x1df1b1
    001df180add cl, 13
    001df183mov rsi, -1
    001df18ashr rsi, cl
    001df18dcmp edx, 1023
    001df193mov rcx, 0x7fffffffffffffff
    001df19dcmovae rcx, rsi
    001df1a1test rcx, rax
    001df1a4je 0x1df1b1
    001df1a6not rcx
    001df1a9and rcx, rax
    001df1acmovq x0, rcx
    001df1b1
    001df1b1loc_1df1b1:
    001df1b1pop rbp
    001df1b2ret
    001df160
    001df1b3
    001df1b3 // align 0x10
    001df1c0
    001df1c0__truncx:
    001df1c0push rbp
    001df1c1mov rbp, rsp
    001df1c4push r15
    001df1c6push r14
    001df1c8push r13
    001df1capush r12
    001df1ccpush rbx
    001df1cdsub rsp, 56
    001df1d1mov r14, 0x8000000000000000
    001df1dbmov ebx, [rbp+24]
    001df1demov rax, [rbp+16]
    001df1e2mov edx, ebx
    001df1e4mov rdi, 0x7fff000000000000
    001df1eeand dx, 32767
    001df1f3jne 0x1df206
    001df1f5xor r12l, r12l
    001df1f8mov ecx, 0
    001df1fdtest rax, rax
    001df200je 0x1df28e
    001df206
    001df206loc_1df206:
    001df206movzx ecx, dx
    001df209cmp ecx, 32767
    001df20fjne 0x1df224
    001df211mov r12, rax
    001df214shl r12, 49
    001df218shr rax, 15
    001df21cor rax, rdi
    001df21fmov rcx, rax
    001df222jmp 0x1df28e
    001df224
    001df224loc_1df224:
    001df224test rax, rax
    001df227js 0x1df235
    001df229je 0x1df250
    001df22bbsr r9, rax
    001df22fxor r9, 63
    001df233jmp 0x1df256
    001df235
    001df235loc_1df235:
    001df235lea rdx, [r14-1]
    001df239and rax, rdx
    001df23cmov r12, rax
    001df23fshl r12, 49
    001df243shr rax, 15
    001df247shl rcx, 48
    001df24bor rcx, rax
    001df24ejmp 0x1df28e
    001df250
    001df250loc_1df250:
    001df250mov r9l, 64
    001df256
    001df256loc_1df256:
    001df256mov ecx, r9l
    001df259add cl, 50
    001df25cxor esi, esi
    001df25eshld rsi, rax, cl
    001df262shl rax, cl
    001df265xor r8l, r8l
    001df268test cl, 64
    001df26bcmovne rsi, rax
    001df26fcmovne rax, r8
    001df273mov rdx, 0x1000000000000
    001df27dxor rdx, rsi
    001df280lea ecx, [r9+1]
    001df284shl rcx, 48
    001df288or rcx, rdx
    001df28bmov r12, rax
    001df28e
    001df28eloc_1df28e:
    001df28eand ebx, 32768
    001df294shl rbx, 48
    001df298or rbx, rcx
    001df29bmov [rbp-80], r12
    001df29fmov [rbp-72], rbx
    001df2a3mov rax, rbx
    001df2a6shr rax, 48
    001df2aamov ecx, eax
    001df2acand ecx, 32767
    001df2b2cmp ecx, 16494
    001df2b8ja 0x1df325
    001df2baadd al, 17
    001df2bcand al, 127
    001df2becmp ecx, 16383
    001df2c4movzx eax, al
    001df2c7mov ecx, 1
    001df2cccmovae ecx, eax
    001df2cfmov r13, -1
    001df2d6mov rax, -1
    001df2ddshr rax, cl
    001df2e0xor r15l, r15l
    001df2e3test cl, 64
    001df2e6cmovne r13, rax
    001df2eacmove r15, rax
    001df2eemov rax, r15
    001df2f1and rax, rbx
    001df2f4mov rcx, r13
    001df2f7and rcx, r12
    001df2faor rcx, rax
    001df2fdje 0x1df325
    001df2ffmovaps x0, [rbp-80]
    001df303movaps x1, [rip-0x14b19a]
    001df30acall __addtf3
    001df30fmov rdi, 0x7fff000000000000
    001df319not r15
    001df31cnot r13
    001df31fand r12, r13
    001df322and rbx, r15
    001df325
    001df325loc_1df325:
    001df325mov rsi, 0x7fffffffffffffff
    001df32fmov rdx, rbx
    001df332shld rdx, r12, 15
    001df337and rsi, rbx
    001df33amov rax, rdx
    001df33dor rax, r14
    001df340mov rcx, r12
    001df343neg rcx
    001df346sbb rdi, rsi
    001df349mov cx, 32767
    001df34djb 0x1df3c1
    001df34fshr rsi, 48
    001df353mov ecx, esi
    001df355mov rsi, 0x1ffffffffffff
    001df35fand r12, rsi
    001df362mov rsi, 0x1000000000001
    001df36ccmp r12, rsi
    001df36fjb 0x1df38b
    001df371mov rdx, rax
    001df374add rdx, 1
    001df378adc cx, 0
    001df37cxor edx, edx
    001df37eadd rax, 1
    001df382cmove rdx, r14
    001df386or rax, rdx
    001df389jmp 0x1df3b3
    001df38b
    001df38bloc_1df38b:
    001df38bmov rsi, 0x1000000000000
    001df395cmp r12, rsi
    001df398jne 0x1df3b3
    001df39aand edx, 1
    001df39dmov rsi, rax
    001df3a0add rsi, rdx
    001df3a3adc cx, 0
    001df3a7xor esi, esi
    001df3a9add rax, rdx
    001df3accmovb rsi, r14
    001df3b0or rax, rsi
    001df3b3
    001df3b3loc_1df3b3:
    001df3b3add r14, -1
    001df3b7and r14, rax
    001df3batest cx, cx
    001df3bdcmove rax, r14
    001df3c1
    001df3c1loc_1df3c1:
    001df3c1shr rbx, 48
    001df3c5and ebx, 32768
    001df3cbor ecx, ebx
    001df3cdmov [rbp-64], rax
    001df3d1mov [rbp-56], cx
    001df3d5fld [rbp-64]
    001df3d8add rsp, 56
    001df3dcpop rbx
    001df3ddpop r12
    001df3dfpop r13
    001df3e1pop r14
    001df3e3pop r15
    001df3e5pop rbp
    001df3e6ret
    001df1c0
    001df3e7
    001df3e7 // align 0x10
    001df3f0
    001df3f0truncl:
    001df3f0push rbp
    001df3f1mov rbp, rsp
    001df3f4pop rbp
    001df3f5jmp 0x1df1c0
    001df3f0
    001df3fa
    001df3fa // align 0x10
    001df400
    001df400memcpy:
    001df400push rbp
    001df401mov rbp, rsp
    001df404mov rax, rdi
    001df407test rdx, rdx
    001df40aje 0x1df564
    001df410movzx ecx, [rsi]
    001df413mov [rax], cl
    001df415add rdx, -1
    001df419je 0x1df564
    001df41fcmp rdx, 8
    001df423jae 0x1df433
    001df425mov r8, rdx
    001df428mov r9, rax
    001df42b
    001df42bloc_1df42b:
    001df42bmov r11, rsi
    001df42ejmp 0x1df548
    001df433
    001df433loc_1df433:
    001df433cmp rdx, 32
    001df437jae 0x1df440
    001df439xor ecx, ecx
    001df43bjmp 0x1df519
    001df440
    001df440loc_1df440:
    001df440mov rcx, rdx
    001df443and rcx, -32
    001df447lea rdi, [rcx-32]
    001df44bmov r9, rdi
    001df44eshr r9, 5
    001df452add r9, 1
    001df456mov r8l, r9l
    001df459and r8l, 3
    001df45dcmp rdi, 96
    001df461jae 0x1df467
    001df463xor edi, edi
    001df465jmp 0x1df4ca
    001df467
    001df467loc_1df467:
    001df467and r9, -4
    001df46bxor edi, edi
    001df46dnop [rax]
    001df470
    001df470loc_1df470:
    001df470movups x0, [rsi+rdi+1]
    001df475movups x1, [rsi+rdi+17]
    001df47amovups [rax+rdi+1], x0
    001df47fmovups [rax+rdi+17], x1
    001df484movups x0, [rsi+rdi+33]
    001df489movups x1, [rsi+rdi+49]
    001df48emovups [rax+rdi+33], x0
    001df493movups [rax+rdi+49], x1
    001df498movups x0, [rsi+rdi+65]
    001df49dmovups x1, [rsi+rdi+81]
    001df4a2movups [rax+rdi+65], x0
    001df4a7movups [rax+rdi+81], x1
    001df4acmovups x0, [rsi+rdi+97]
    001df4b1movups x1, [rsi+rdi+113]
    001df4b6movups [rax+rdi+97], x0
    001df4bbmovups [rax+rdi+113], x1
    001df4c0sub rdi, -128
    001df4c4add r9, -4
    001df4c8jne 0x1df470
    001df4ca
    001df4caloc_1df4ca:
    001df4catest r8, r8
    001df4cdje 0x1df50f
    001df4cflea r9, [rsi+rdi]
    001df4d3add r9, 17
    001df4d7lea r10, [rax+rdi]
    001df4dbadd r10, 17
    001df4dfshl r8, 5
    001df4e3xor edi, edi
    001df4e5nop [rax+rax]
    001df4efnop
    001df4f0
    001df4f0loc_1df4f0:
    001df4f0movups x0, [r9+rdi-16]
    001df4f6movups x1, [r9+rdi]
    001df4fbmovups [r10+rdi-16], x0
    001df501movups [r10+rdi], x1
    001df506add rdi, 32
    001df50acmp r8, rdi
    001df50djne 0x1df4f0
    001df50f
    001df50floc_1df50f:
    001df50fcmp rdx, rcx
    001df512je 0x1df564
    001df514test dl, 24
    001df517je 0x1df566
    001df519
    001df519loc_1df519:
    001df519mov r10, rdx
    001df51cand r10, -8
    001df520mov r8l, edx
    001df523and r8l, 7
    001df527lea r9, [rax+r10]
    001df52blea r11, [rsi+r10]
    001df52fnop
    001df530
    001df530loc_1df530:
    001df530mov rdi, [rsi+rcx+1]
    001df535mov [rax+rcx+1], rdi
    001df53aadd rcx, 8
    001df53ecmp r10, rcx
    001df541jne 0x1df530
    001df543cmp rdx, r10
    001df546je 0x1df564
    001df548
    001df548loc_1df548:
    001df548xor ecx, ecx
    001df54anop [rax+rax]
    001df550
    001df550loc_1df550:
    001df550movzx edx, [r11+rcx+1]
    001df556mov [r9+rcx+1], dl
    001df55badd rcx, 1
    001df55fcmp r8, rcx
    001df562jne 0x1df550
    001df564
    001df564loc_1df564:
    001df564pop rbp
    001df565ret
    001df566
    001df566loc_1df566:
    001df566add rsi, rcx
    001df569add rcx, rax
    001df56cand edx, 31
    001df56fmov r8, rdx
    001df572mov r9, rcx
    001df575jmp 0x1df42b
    001df400
    001df57a
    001df57a // align 0x10
    001df580
    001df580memset:
    001df580push rbp
    001df581mov rbp, rsp
    001df584mov rax, rdi
    001df587test rdx, rdx
    001df58aje 0x1df6cd
    001df590cmp rdx, 8
    001df594jae 0x1df5a1
    001df596mov r9, rdx
    001df599mov rdi, rax
    001df59cjmp 0x1df6b1
    001df5a1
    001df5a1loc_1df5a1:
    001df5a1movzx r8l, sil
    001df5a5cmp rdx, 32
    001df5a9jae 0x1df5b2
    001df5abxor ecx, ecx
    001df5adjmp 0x1df670
    001df5b2
    001df5b2loc_1df5b2:
    001df5b2mov rcx, rdx
    001df5b5and rcx, -32
    001df5b9movd x0, r8l
    001df5bepunpcklbw x0, x0
    001df5c2pshuflw x0, x0, 0
    001df5c7pshufd x0, x0, 0
    001df5cclea rdi, [rcx-32]
    001df5d0mov r10, rdi
    001df5d3shr r10, 5
    001df5d7add r10, 1
    001df5dbmov r9l, r10l
    001df5deand r9l, 3
    001df5e2cmp rdi, 96
    001df5e6jae 0x1df5ec
    001df5e8xor edi, edi
    001df5eajmp 0x1df639
    001df5ec
    001df5ecloc_1df5ec:
    001df5ecand r10, -4
    001df5f0xor edi, edi
    001df5f2nop [rax+rax]
    001df5fcnop [rax]
    001df600
    001df600loc_1df600:
    001df600movdqu [rax+rdi], x0
    001df605movdqu [rax+rdi+16], x0
    001df60bmovdqu [rax+rdi+32], x0
    001df611movdqu [rax+rdi+48], x0
    001df617movdqu [rax+rdi+64], x0
    001df61dmovdqu [rax+rdi+80], x0
    001df623movdqu [rax+rdi+96], x0
    001df629movdqu [rax+rdi+112], x0
    001df62fsub rdi, -128
    001df633add r10, -4
    001df637jne 0x1df600
    001df639
    001df639loc_1df639:
    001df639test r9, r9
    001df63cje 0x1df666
    001df63elea r10, [rdi+rax]
    001df642add r10, 16
    001df646shl r9, 5
    001df64axor edi, edi
    001df64cnop [rax]
    001df650
    001df650loc_1df650:
    001df650movdqu [r10+rdi-16], x0
    001df657movdqu [r10+rdi], x0
    001df65dadd rdi, 32
    001df661cmp r9, rdi
    001df664jne 0x1df650
    001df666
    001df666loc_1df666:
    001df666cmp rcx, rdx
    001df669je 0x1df6cd
    001df66btest dl, 24
    001df66eje 0x1df6a5
    001df670
    001df670loc_1df670:
    001df670mov r10, rdx
    001df673and r10, -8
    001df677mov r9l, edx
    001df67aand r9l, 7
    001df67elea rdi, [rax+r10]
    001df682movd x0, r8l
    001df687punpcklbw x0, x0
    001df68bpshuflw x0, x0, 0
    001df690
    001df690loc_1df690:
    001df690movq [rax+rcx], x0
    001df695add rcx, 8
    001df699cmp r10, rcx
    001df69cjne 0x1df690
    001df69ecmp r10, rdx
    001df6a1jne 0x1df6b1
    001df6a3jmp 0x1df6cd
    001df6a5
    001df6a5loc_1df6a5:
    001df6a5add rcx, rax
    001df6a8and edx, 31
    001df6abmov r9, rdx
    001df6aemov rdi, rcx
    001df6b1
    001df6b1loc_1df6b1:
    001df6b1xor ecx, ecx
    001df6b3nop [rax+rax]
    001df6bdnop [rax]
    001df6c0
    001df6c0loc_1df6c0:
    001df6c0mov [rdi+rcx], sil
    001df6c4add rcx, 1
    001df6c8cmp r9, rcx
    001df6cbjne 0x1df6c0
    001df6cd
    001df6cdloc_1df6cd:
    001df6cdpop rbp
    001df6ceret
    001df580
    001df6cf
    001df6cf // align 0x10
    001df6d0
    001df6d0memmove:
    001df6d0push rbp
    001df6d1mov rbp, rsp
    001df6d4push rbx
    001df6d5mov rax, rdi
    001df6d8sub rdi, rsi
    001df6dbjae 0x1df70d
    001df6ddtest rdx, rdx
    001df6e0je 0x1df92b
    001df6e6xor ecx, ecx
    001df6e8cmp rdx, 8
    001df6ecjb 0x1df8c6
    001df6f2cmp rdi, 32
    001df6f6jb 0x1df8c6
    001df6fccmp rdx, 32
    001df700jae 0x1df7b2
    001df706xor ecx, ecx
    001df708jmp 0x1df89d
    001df70d
    001df70dloc_1df70d:
    001df70dtest rdx, rdx
    001df710je 0x1df92b
    001df716cmp rdx, 4
    001df71ajb 0x1df730
    001df71clea rcx, [rsi+rdx]
    001df720sub rcx, rax
    001df723sub rcx, rdx
    001df726cmp rcx, 16
    001df72ajae 0x1df7d9
    001df730
    001df730loc_1df730:
    001df730mov r9, rdx
    001df733
    001df733loc_1df733:
    001df733lea rdx, [r9-1]
    001df737mov rdi, r9
    001df73aand rdi, 3
    001df73eje 0x1df763
    001df740
    001df740loc_1df740:
    001df740lea rcx, [r9-1]
    001df744movzx ebx, [rsi+r9-1]
    001df74amov [rax+r9-1], bl
    001df74fmov r9, rcx
    001df752add rdi, -1
    001df756jne 0x1df740
    001df758cmp rdx, 3
    001df75cjae 0x1df770
    001df75ejmp 0x1df92b
    001df763
    001df763loc_1df763:
    001df763mov rcx, r9
    001df766cmp rdx, 3
    001df76ajb 0x1df92b
    001df770
    001df770loc_1df770:
    001df770mov rdx, rcx
    001df773nop [rax+rax]
    001df77dnop [rax]
    001df780
    001df780loc_1df780:
    001df780movzx ebx, [rsi+rcx-1]
    001df785mov [rax+rcx-1], bl
    001df789movzx ebx, [rsi+rcx-2]
    001df78emov [rax+rcx-2], bl
    001df792movzx ebx, [rsi+rcx-3]
    001df797mov [rax+rcx-3], bl
    001df79bmovzx ebx, [rsi+rcx-4]
    001df7a0mov [rax+rcx-4], bl
    001df7a4add rdx, -4
    001df7a8mov rcx, rdx
    001df7abjne 0x1df780
    001df7adjmp 0x1df92b
    001df7b2
    001df7b2loc_1df7b2:
    001df7b2mov rcx, rdx
    001df7b5and rcx, -32
    001df7b9lea rdi, [rcx-32]
    001df7bdmov r9, rdi
    001df7c0shr r9, 5
    001df7c4add r9, 1
    001df7c8mov r8l, r9l
    001df7cband r8l, 3
    001df7cfcmp rdi, 96
    001df7d3jae 0x1df7ea
    001df7d5xor edi, edi
    001df7d7jmp 0x1df848
    001df7d9
    001df7d9loc_1df7d9:
    001df7d9cmp rdx, 16
    001df7ddjae 0x1df92e
    001df7e3xor ebx, ebx
    001df7e5jmp 0x1df9f4
    001df7ea
    001df7ealoc_1df7ea:
    001df7eaand r9, -4
    001df7eexor edi, edi
    001df7f0
    001df7f0loc_1df7f0:
    001df7f0movups x0, [rsi+rdi]
    001df7f4movups x1, [rsi+rdi+16]
    001df7f9movups [rax+rdi], x0
    001df7fdmovups [rax+rdi+16], x1
    001df802movups x0, [rsi+rdi+32]
    001df807movups x1, [rsi+rdi+48]
    001df80cmovups [rax+rdi+32], x0
    001df811movups [rax+rdi+48], x1
    001df816movups x0, [rsi+rdi+64]
    001df81bmovups x1, [rsi+rdi+80]
    001df820movups [rax+rdi+64], x0
    001df825movups [rax+rdi+80], x1
    001df82amovups x0, [rsi+rdi+96]
    001df82fmovups x1, [rsi+rdi+112]
    001df834movups [rax+rdi+96], x0
    001df839movups [rax+rdi+112], x1
    001df83esub rdi, -128
    001df842add r9, -4
    001df846jne 0x1df7f0
    001df848
    001df848loc_1df848:
    001df848test r8, r8
    001df84bje 0x1df88f
    001df84dlea r9, [rsi+rdi]
    001df851add r9, 16
    001df855lea r10, [rax+rdi]
    001df859add r10, 16
    001df85dshl r8, 5
    001df861xor edi, edi
    001df863nop [rax+rax]
    001df86dnop [rax]
    001df870
    001df870loc_1df870:
    001df870movups x0, [r9+rdi-16]
    001df876movups x1, [r9+rdi]
    001df87bmovups [r10+rdi-16], x0
    001df881movups [r10+rdi], x1
    001df886add rdi, 32
    001df88acmp r8, rdi
    001df88djne 0x1df870
    001df88f
    001df88floc_1df88f:
    001df88fcmp rcx, rdx
    001df892je 0x1df92b
    001df898test dl, 24
    001df89bje 0x1df8c6
    001df89d
    001df89dloc_1df89d:
    001df89dmov rdi, rcx
    001df8a0mov rcx, rdx
    001df8a3and rcx, -8
    001df8a7nop [rax+rax]
    001df8b0
    001df8b0loc_1df8b0:
    001df8b0mov rbx, [rsi+rdi]
    001df8b4mov [rax+rdi], rbx
    001df8b8add rdi, 8
    001df8bccmp rcx, rdi
    001df8bfjne 0x1df8b0
    001df8c1cmp rcx, rdx
    001df8c4je 0x1df92b
    001df8c6
    001df8c6loc_1df8c6:
    001df8c6mov r8, rcx
    001df8c9not r8
    001df8ccadd r8, rdx
    001df8cfmov rdi, rdx
    001df8d2and rdi, 3
    001df8d6je 0x1df8f1
    001df8d8nop [rax+rax]
    001df8e0
    001df8e0loc_1df8e0:
    001df8e0movzx ebx, [rsi+rcx]
    001df8e4mov [rax+rcx], bl
    001df8e7add rcx, 1
    001df8ebadd rdi, -1
    001df8efjne 0x1df8e0
    001df8f1
    001df8f1loc_1df8f1:
    001df8f1cmp r8, 3
    001df8f5jb 0x1df92b
    001df8f7nop [rax+rax]
    001df900
    001df900loc_1df900:
    001df900movzx ebx, [rsi+rcx]
    001df904mov [rax+rcx], bl
    001df907movzx ebx, [rsi+rcx+1]
    001df90cmov [rax+rcx+1], bl
    001df910movzx ebx, [rsi+rcx+2]
    001df915mov [rax+rcx+2], bl
    001df919movzx ebx, [rsi+rcx+3]
    001df91emov [rax+rcx+3], bl
    001df922add rcx, 4
    001df926cmp rdx, rcx
    001df929jne 0x1df900
    001df92b
    001df92bloc_1df92b:
    001df92bpop rbx
    001df92cpop rbp
    001df92dret
    001df92e
    001df92eloc_1df92e:
    001df92emov rbx, rdx
    001df931and rbx, -16
    001df935lea rdi, [rbx-16]
    001df939mov r9, rdi
    001df93cshr r9, 4
    001df940add r9, 1
    001df944mov r8l, r9l
    001df947and r8l, 3
    001df94bcmp rdi, 48
    001df94fjae 0x1df955
    001df951xor edi, edi
    001df953jmp 0x1df9ab
    001df955
    001df955loc_1df955:
    001df955and r9, -4
    001df959lea r10, [rax+rdx]
    001df95dadd r10, -16
    001df961lea r11, [rsi+rdx]
    001df965add r11, -16
    001df969xor edi, edi
    001df96bnop [rax+rax]
    001df970
    001df970loc_1df970:
    001df970movups x0, [r11+rdi]
    001df975movups [r10+rdi], x0
    001df97amovups x0, [r11+rdi-16]
    001df980movups [r10+rdi-16], x0
    001df986movups x0, [r11+rdi-32]
    001df98cmovups [r10+rdi-32], x0
    001df992movups x0, [r11+rdi-48]
    001df998movups [r10+rdi-48], x0
    001df99eadd rdi, -64
    001df9a2add r9, -4
    001df9a6jne 0x1df970
    001df9a8neg rdi
    001df9ab
    001df9abloc_1df9ab:
    001df9abtest r8, r8
    001df9aeje 0x1df9e6
    001df9b0mov r10, rdx
    001df9b3sub r10, rdi
    001df9b6lea r9, [rax+r10]
    001df9baadd r9, -16
    001df9beadd r10, rsi
    001df9c1add r10, -16
    001df9c5shl r8, 4
    001df9c9xor edi, edi
    001df9cbnop [rax+rax]
    001df9d0
    001df9d0loc_1df9d0:
    001df9d0movups x0, [r10+rdi]
    001df9d5movups [r9+rdi], x0
    001df9daadd rdi, -16
    001df9demov rcx, r8
    001df9e1add rcx, rdi
    001df9e4jne 0x1df9d0
    001df9e6
    001df9e6loc_1df9e6:
    001df9e6cmp rbx, rdx
    001df9e9je 0x1df92b
    001df9eftest dl, 12
    001df9f2je 0x1dfa3f
    001df9f4
    001df9f4loc_1df9f4:
    001df9f4mov r8, rdx
    001df9f7and r8, -4
    001df9fbmov r9l, edx
    001df9feand r9l, 3
    001dfa02lea r10, [rax+rdx]
    001dfa06add r10, -4
    001dfa0aneg rbx
    001dfa0dlea r11, [rsi+rdx]
    001dfa11add r11, -4
    001dfa15mov rdi, r8
    001dfa18neg rdi
    001dfa1bnop [rax+rax]
    001dfa20
    001dfa20loc_1dfa20:
    001dfa20mov ecx, [r11+rbx]
    001dfa24mov [r10+rbx], ecx
    001dfa28add rbx, -4
    001dfa2ccmp rdi, rbx
    001dfa2fjne 0x1dfa20
    001dfa31cmp r8, rdx
    001dfa34jne 0x1df733
    001dfa3ajmp 0x1df92b
    001dfa3f
    001dfa3floc_1dfa3f:
    001dfa3fand edx, 15
    001dfa42jmp 0x1df730
    001df6d0
    001dfa47
    001dfa47 // align 0x10
    001dfa50
    001dfa50memcmp:
    001dfa50push rbp
    001dfa51mov rbp, rsp
    001dfa54test rdx, rdx
    001dfa57je 0x1dfa77
    001dfa59xor r8l, r8l
    001dfa5cnop [rax]
    001dfa60
    001dfa60loc_1dfa60:
    001dfa60movzx eax, [rdi+r8]
    001dfa65movzx ecx, [rsi+r8]
    001dfa6asub eax, ecx
    001dfa6cjne 0x1dfa79
    001dfa6eadd r8, 1
    001dfa72cmp rdx, r8
    001dfa75jne 0x1dfa60
    001dfa77
    001dfa77loc_1dfa77:
    001dfa77xor eax, eax
    001dfa79
    001dfa79loc_1dfa79:
    001dfa79pop rbp
    001dfa7aret
    001dfa50
    001dfa7b
    001dfa7b // align 0x10
    001dfa80
    001dfa80bcmp:
    001dfa80push rbp
    001dfa81mov rbp, rsp
    001dfa84test rdx, rdx
    001dfa87je 0x1dfaa2
    001dfa89xor eax, eax
    001dfa8bnop [rax+rax]
    001dfa90
    001dfa90loc_1dfa90:
    001dfa90movzx ecx, [rdi+rax]
    001dfa94cmp cl, [rsi+rax]
    001dfa97jne 0x1dfaa6
    001dfa99add rax, 1
    001dfa9dcmp rdx, rax
    001dfaa0jne 0x1dfa90
    001dfaa2
    001dfaa2loc_1dfaa2:
    001dfaa2xor eax, eax
    001dfaa4pop rbp
    001dfaa5ret
    001dfaa6
    001dfaa6loc_1dfaa6:
    001dfaa6mov eax, 1
    001dfaabpop rbp
    001dfaacret
    001dfa80
    001dfaad
    001dfaad // align 0x10
    001dfab0
    001dfab0compiler_rt.rem_pio2_large.rem_pio2_large:
    001dfab0push rbp
    001dfab1mov rbp, rsp
    001dfab4push r15
    001dfab6push r14
    001dfab8push r13
    001dfabapush r12
    001dfabcpush rbx
    001dfabdsub rsp, 2680
    001dfac4mov [rbp-96], rdi
    001dfac8lea rax, [rip-0x14b90f]
    001dfacfmov [rbp-288], r8
    001dfad6mov r12l, [rax+4*r8]
    001dfadalea eax, [rdx-3]
    001dfaddcdqe
    001dfadfimul r14, rax, 0x2aaaaaab
    001dfae6mov rbx, r14
    001dfae9shr rbx, 63
    001dfaedsar r14, 34
    001dfaf1imul eax, eax, 0xffffffffaaaaaaab
    001dfaf7add eax, 0x2aaaaaa8
    001dfafcror eax, 3
    001dfaffadd r14l, ebx
    001dfb02cmp eax, 0xaaaaaab
    001dfb07setae al
    001dfb0acmp edx, 3
    001dfb0dsetl bl
    001dfb10and bl, al
    001dfb12movzx eax, bl
    001dfb15sub r14l, eax
    001dfb18xor edi, edi
    001dfb1atest r14l, r14l
    001dfb1dcmovle r14l, edi
    001dfb21lea ebx, [rcx-1]
    001dfb24lea eax, [8*r14]
    001dfb2clea r10l, [rax+2*rax]
    001dfb30mov r11l, r10l
    001dfb33neg r11l
    001dfb36mov r8l, edx
    001dfb39mov eax, r12l
    001dfb3cmov [rbp-112], rbx
    001dfb40add eax, ebx
    001dfb42mov [rbp-72], rcx
    001dfb46mov [rbp-88], r14
    001dfb4ajs 0x1dfc30
    001dfb50mov [rbp-232], rdx
    001dfb57mov eax, r14l
    001dfb5asub eax, [rbp-112]
    001dfb5dlea r9l, [r12+rcx]
    001dfb61cmp r9l, 1
    001dfb65jne 0x1dfb80
    001dfb67xor r13l, r13l
    001dfb6atest r9b, 1
    001dfb6emov rdx, [rbp-232]
    001dfb75jne 0x1dfc0b
    001dfb7bjmp 0x1dfc30
    001dfb80
    001dfb80loc_1dfb80:
    001dfb80lea rdx, [rbp-1432]
    001dfb87mov ebx, r14l
    001dfb8asub ebx, ecx
    001dfb8cadd ebx, 2
    001dfb8fmov r15l, r9l
    001dfb92and r15l, -2
    001dfb96neg r15
    001dfb99xor r13l, r13l
    001dfb9clea r14, [rip-0x14a94b]
    001dfba3jmp 0x1dfbc7
    001dfba5
    001dfba5 66 2e 0f 1f 84 00 00 00 00 00 90 f..........
    001dfbb0
    001dfbb0loc_1dfbb0:
    001dfbb0movsd_xmm [rdx], x0
    001dfbb4add eax, 2
    001dfbb7add rdx, 16
    001dfbbbadd r13, -2
    001dfbbfadd ebx, 2
    001dfbc2cmp r15, r13
    001dfbc5je 0x1dfbf5
    001dfbc7
    001dfbc7loc_1dfbc7:
    001dfbc7xorpd x0, x0
    001dfbcbxorpd x1, x1
    001dfbcftest eax, eax
    001dfbd1js 0x1dfbde
    001dfbd3mov ecx, eax
    001dfbd5xorps x1, x1
    001dfbd8cvtsi2sd x1, [r14+4*rcx]
    001dfbde
    001dfbdeloc_1dfbde:
    001dfbdemovsd_xmm [rdx-8], x1
    001dfbe3cmp eax, -1
    001dfbe6jl 0x1dfbb0
    001dfbe8mov ecx, ebx
    001dfbeaxorps x0, x0
    001dfbedcvtsi2sd x0, [r14+4*rcx]
    001dfbf3jmp 0x1dfbb0
    001dfbf5
    001dfbf5loc_1dfbf5:
    001dfbf5neg r13
    001dfbf8mov rcx, [rbp-72]
    001dfbfcxor edi, edi
    001dfbfetest r9b, 1
    001dfc02mov rdx, [rbp-232]
    001dfc09je 0x1dfc30
    001dfc0b
    001dfc0bloc_1dfc0b:
    001dfc0btest eax, eax
    001dfc0djs 0x1dfc22
    001dfc0fmov eax, eax
    001dfc11lea rbx, [rip-0x14a9c0]
    001dfc18xorps x0, x0
    001dfc1bcvtsi2sd x0, [rbx+4*rax]
    001dfc20jmp 0x1dfc26
    001dfc22
    001dfc22loc_1dfc22:
    001dfc22xorpd x0, x0
    001dfc26
    001dfc26loc_1dfc26:
    001dfc26movsd_xmm [rbp+8*r13-1440], x0
    001dfc30
    001dfc30loc_1dfc30:
    001dfc30mov [rbp-264], rsi
    001dfc37sub edx, r10l
    001dfc3amov [rbp-232], rdx
    001dfc41lea eax, [r8+r11]
    001dfc45add eax, -24
    001dfc48mov [rbp-272], rax
    001dfc4ftest r12l, r12l
    001dfc52mov [rbp-104], r12
    001dfc56cmovg edi, r12l
    001dfc5amov eax, ecx
    001dfc5ctest ecx, ecx
    001dfc5emov [rbp-120], rax
    001dfc62jle 0x1dfdc7
    001dfc68add edi, 1
    001dfc6band eax, -2
    001dfc6emov [rbp-144], rax
    001dfc75lea eax, [rcx-2]
    001dfc78xor ebx, ebx
    001dfc7alea r14, [rbp-1440]
    001dfc81mov [rbp-80], rdi
    001dfc85mov r15, [rbp-96]
    001dfc89jmp 0x1dfcb3
    001dfc8b
    001dfc8b 0f 1f 44 00 00 ..D..
    001dfc90
    001dfc90loc_1dfc90:
    001dfc90movsd_xmm [rbp+8*rbx-1120], x0
    001dfc99add rbx, 1
    001dfc9dmov eax, [rbp-136]
    001dfca3add eax, 1
    001dfca6mov rdi, [rbp-80]
    001dfcaacmp rbx, rdi
    001dfcadje 0x1dfddf
    001dfcb3
    001dfcb3loc_1dfcb3:
    001dfcb3mov [rbp-128], rbx
    001dfcb7cmp [rbp-72], 1
    001dfcbbmov [rbp-136], eax
    001dfcc1xorpd x0, x0
    001dfcc5jne 0x1dfcd0
    001dfcc7xor r13l, r13l
    001dfccajmp 0x1dfd67
    001dfccf
    001dfccf 90 .
    001dfcd0
    001dfcd0loc_1dfcd0:
    001dfcd0mov r12l, eax
    001dfcd3xor r13l, r13l
    001dfcd6lea rbx, [rbp-1600]
    001dfcddnop [rax]
    001dfce0
    001dfce0loc_1dfce0:
    001dfce0movsd_xmm [rbp-64], x0
    001dfce5movsd_xmm x1, [r15+8*r13]
    001dfcebmovsd_xmm [rbp-48], x1
    001dfcf0mov edx, 160
    001dfcf5mov rdi, rbx
    001dfcf8mov rsi, r14
    001dfcfbcall memcpy
    001dfd00lea eax, [r12+1]
    001dfd05cdqe
    001dfd07movsd_xmm x0, [rbp-48]
    001dfd0cmulsd x0, [rbp+8*rax-1600]
    001dfd15addsd x0, [rbp-64]
    001dfd1amovsd_xmm [rbp-48], x0
    001dfd1fmovsd_xmm x0, [r15+8*r13+8]
    001dfd26movsd_xmm [rbp-64], x0
    001dfd2bmov edx, 160
    001dfd30mov rdi, rbx
    001dfd33mov rsi, r14
    001dfd36call memcpy
    001dfd3bmovsd_xmm x0, [rbp-64]
    001dfd40movsxd r12, r12l
    001dfd43mulsd x0, [rbp+8*r12-1600]
    001dfd4daddsd x0, [rbp-48]
    001dfd52add r13, 2
    001dfd56add r12l, -2
    001dfd5acmp [rbp-144], r13
    001dfd61jne 0x1dfce0
    001dfd67
    001dfd67loc_1dfd67:
    001dfd67test [rbp-120], 1
    001dfd6bmov rbx, [rbp-128]
    001dfd6fje 0x1dfc90
    001dfd75mov rax, [rbp-112]
    001dfd79lea r12l, [rax+rbx]
    001dfd7dmov rax, [rbp-96]
    001dfd81movsd_xmm x1, [rax+8*r13]
    001dfd87movsd_xmm [rbp-48], x1
    001dfd8cmov edx, 160
    001dfd91lea rdi, [rbp-1600]
    001dfd98mov rsi, r14
    001dfd9bmovsd_xmm [rbp-64], x0
    001dfda0call memcpy
    001dfda5movsd_xmm x0, [rbp-64]
    001dfdaasub r12l, r13l
    001dfdadmovsxd rax, r12l
    001dfdb0movsd_xmm x1, [rbp-48]
    001dfdb5mulsd x1, [rbp+8*rax-1600]
    001dfdbeaddsd x0, x1
    001dfdc2jmp 0x1dfc90
    001dfdc7
    001dfdc7loc_1dfdc7:
    001dfdc7mov eax, edi
    001dfdc9lea rdx, [8*rax+8]
    001dfdd1lea rdi, [rbp-1120]
    001dfdd8xor esi, esi
    001dfddacall memset
    001dfddf
    001dfddfloc_1dfddf:
    001dfddfmov r8, 0x3ff0000000000000
    001dfde9mov rsi, 0x10000000000000
    001dfdf3mov r15, [rbp-272]
    001dfdfacmp r15l, 1
    001dfdfesete r9b
    001dfe02mov edi, 24
    001dfe07mov r11, [rbp-232]
    001dfe0esub edi, r11l
    001dfe11mov ecx, -998
    001dfe16sub ecx, r11l
    001dfe19cmp edi, ecx
    001dfe1bcmovl ecx, edi
    001dfe1eadd cl, -1
    001dfe21mov eax, ecx
    001dfe23and al, 63
    001dfe25xor edx, edx
    001dfe27cmp al, 52
    001dfe29sete r10b
    001dfe2dshr rsi, cl
    001dfe30cmp r15l, 1024
    001dfe37jae 0x1dfe4a
    001dfe39mov rcx, r15
    001dfe3cshl rcx, 52
    001dfe40add rcx, r8
    001dfe43movq x0, rcx
    001dfe48jmp 0x1dfe52
    001dfe4a
    001dfe4aloc_1dfe4a:
    001dfe4amovq x0, [rip-0x14c4ba]
    001dfe52
    001dfe52loc_1dfe52:
    001dfe52mov rbx, [rbp-104]
    001dfe56mov rax, [rbp-88]
    001dfe5axorpd x1, x1
    001dfe5emovsd_xmm [rbp-240], x1
    001dfe66cmp r15l, -1075
    001dfe6djb 0x1dfe86
    001dfe6fmov dl, r10b
    001dfe72add rsi, 1
    001dfe76shr rsi, 1
    001dfe79not rdx
    001dfe7cand rdx, rsi
    001dfe7fmov [rbp-240], rdx
    001dfe86
    001dfe86loc_1dfe86:
    001dfe86mov r10, 0xfff0000000000000
    001dfe90mov esi, 16
    001dfe95mov edx, 15
    001dfe9acmp r15l, -1022
    001dfea1jb 0x1dfeb4
    001dfea3mov rcx, rdi
    001dfea6imul rcx, r10
    001dfeaaadd rcx, r8
    001dfeadmov [rbp-240], rcx
    001dfeb4
    001dfeb4loc_1dfeb4:
    001dfeb4mov [rbp-280], rdi
    001dfebbsub esi, r11l
    001dfebesub edx, r11l
    001dfec1mov eax, eax
    001dfec3mov [rbp-136], rax
    001dfecamovsxd rcx, ebx
    001dfecdtest r15l, r15l
    001dfed0js 0x1dfeda
    001dfed2movq [rbp-240], x0
    001dfeda
    001dfedaloc_1dfeda:
    001dfedaand esi, 31
    001dfeddmov [rbp-252], esi
    001dfee3and edx, 31
    001dfee6mov [rbp-248], edx
    001dfeecmov rax, rcx
    001dfeefnot rax
    001dfef2mov [rbp-296], rax
    001dfef9xor eax, eax
    001dfefbmov al, r9b
    001dfefeshl eax, 22
    001dff01or eax, 0x3fffff
    001dff06mov [rbp-244], eax
    001dff0cmov [rbp-304], rcx
    001dff13lea rax, [4*rcx-884]
    001dff1badd rax, rbp
    001dff1emov [rbp-312], rax
    001dff25mov rax, [rbp-96]
    001dff29add rax, 8
    001dff2dmov [rbp-320], rax
    001dff34mov rax, [rbp-120]
    001dff38and eax, -2
    001dff3bneg rax
    001dff3emov [rbp-144], rax
    001dff45lea rsi, [rbp-1120]
    001dff4clea r14, [rbp-2400]
    001dff53mov r12l, ebx
    001dff56jmp 0x1dff75
    001dff58
    001dff58 0f 1f 84 00 00 00 00 00 ........
    001dff60
    001dff60loc_1dff60:
    001dff60mov r12l, [rbp-256]
    001dff67lea rsi, [rbp-1120]
    001dff6elea r14, [rbp-2400]
    001dff75
    001dff75loc_1dff75:
    001dff75mov edx, 160
    001dff7alea rdi, [rbp-2720]
    001dff81call memcpy
    001dff86movsxd rax, r12l
    001dff89movsd_xmm x2, [rbp+8*rax-2720]
    001dff92test eax, eax
    001dff94mov [rbp-80], rax
    001dff98jle 0x1e0020
    001dff9emov r15l, r12l
    001dffa1add r15, -1
    001dffa5lea rbx, [rbp-224]
    001dffacmov r13, r14
    001dffaflea r14, [rbp-1120]
    001dffb6nop [rax+rax]
    001dffc0
    001dffc0loc_1dffc0:
    001dffc0movapd x1, x2
    001dffc4mulsd x1, [rip-0x14c62c]
    001dffcccvttpd2dq x1, x1
    001dffd0cvtdq2pd x1, x1
    001dffd4movapd [rbp-64], x1
    001dffd9mulsd x1, [rip-0x14c639]
    001dffe1addsd x1, x2
    001dffe5cvttsd2si eax, x1
    001dffe9mov [rbx], eax
    001dffebmov edx, 160
    001dfff0mov rdi, r13
    001dfff3mov rsi, r14
    001dfff6call memcpy
    001dfffbmovapd x0, [rbp-64]
    001e0000mov eax, r15l
    001e0003addsd x0, [rbp+8*rax-2400]
    001e000cadd rbx, 4
    001e0010movapd x2, x0
    001e0014add r15, -1
    001e0018jb 0x1dffc0
    001e001ajmp 0x1e0024
    001e001c
    001e001c 0f 1f 40 00 ..@.
    001e0020
    001e0020loc_1e0020:
    001e0020movapd x0, x2
    001e0024
    001e0024loc_1e0024:
    001e0024mov rbx, [rbp-272]
    001e002bmov edi, ebx
    001e002dcall math.ldexp.ldexp__anon_3550
    001e0032movsd_xmm [rbp-64], x0
    001e0037mulsd x0, [rip-0x14c68f]
    001e003fcall floor
    001e0044mulsd x0, [rip-0x14c694]
    001e004caddsd x0, [rbp-64]
    001e0051cvttsd2si r15l, x0
    001e0056cvttpd2dq x1, x0
    001e005acvtdq2pd x1, x1
    001e005esubsd x0, x1
    001e0062test ebx, ebx
    001e0064jle 0x1e01f0
    001e006amovups x1, [rbp-160]
    001e0071movaps [rbp-496], x1
    001e0078movups x1, [rbp-224]
    001e007fmovups x2, [rbp-208]
    001e0086movups x3, [rbp-192]
    001e008dmovups x4, [rbp-176]
    001e0094movaps [rbp-512], x4
    001e009bmovaps [rbp-528], x3
    001e00a2movaps [rbp-544], x2
    001e00a9movaps [rbp-560], x1
    001e00b0movsxd rax, r12l
    001e00b3mov edx, [rbp+4*rax-564]
    001e00bamov ecx, [rbp-252]
    001e00c0sar edx, cl
    001e00c2add r15l, edx
    001e00c5shl edx, cl
    001e00c7sub [rbp+4*rax-228], edx
    001e00cemovups x1, [rbp-224]
    001e00d5movupd x2, [rbp-208]
    001e00ddmovups x3, [rbp-192]
    001e00e4movups x4, [rbp-176]
    001e00ebmovaps [rbp-640], x1
    001e00f2movapd [rbp-624], x2
    001e00famovaps [rbp-608], x3
    001e0101movaps [rbp-592], x4
    001e0108movupd x1, [rbp-160]
    001e0110movapd [rbp-576], x1
    001e0118lea rax, [4*rax-644]
    001e0120add rax, rbp
    001e0123mov ecx, [rbp-248]
    001e0129
    001e0129loc_1e0129:
    001e0129movsd_xmm x7, [rip-0x14c791]
    001e0131mov r13l, [rax]
    001e0134sar r13l, cl
    001e0137test r13l, r13l
    001e013ajle 0x1e026a
    001e0140
    001e0140loc_1e0140:
    001e0140test r12l, r12l
    001e0143jle 0x1e0220
    001e0149mov eax, r12l
    001e014cxor edx, edx
    001e014exor ecx, ecx
    001e0150jmp 0x1e017b
    001e0152
    001e0152 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 f...........@.
    001e0160
    001e0160loc_1e0160:
    001e0160sub edi, esi
    001e0162mov [rbp+4*rdx-224], edi
    001e0169mov ecx, 1
    001e016eadd rdx, 1
    001e0172cmp rax, rdx
    001e0175je 0x1e0222
    001e017b
    001e017bloc_1e017b:
    001e017bmovups x1, [rbp-160]
    001e0182movaps [rbp-736], x1
    001e0189movupd x1, [rbp-224]
    001e0191movupd x2, [rbp-208]
    001e0199movups x3, [rbp-192]
    001e01a0movups x4, [rbp-176]
    001e01a7movaps [rbp-752], x4
    001e01aemovaps [rbp-768], x3
    001e01b5movapd [rbp-784], x2
    001e01bdmovapd [rbp-800], x1
    001e01c5mov esi, [rbp+4*rdx-800]
    001e01ccmov edi, 0xffffff
    001e01d1test ecx, ecx
    001e01d3jne 0x1e0160
    001e01d5mov edi, 0x1000000
    001e01datest esi, esi
    001e01dcjne 0x1e0160
    001e01dexor ecx, ecx
    001e01e0add rdx, 1
    001e01e4cmp rax, rdx
    001e01e7jne 0x1e017b
    001e01e9jmp 0x1e0222
    001e01eb
    001e01eb 0f 1f 44 00 00 ..D..
    001e01f0
    001e01f0loc_1e01f0:
    001e01f0je 0x1e05b3
    001e01f6mov r13l, 2
    001e01fcucomisd x0, [rip-0x14c844]
    001e0204movsd_xmm x7, [rip-0x14c86c]
    001e020cjae 0x1e0140
    001e0212xor r13l, r13l
    001e0215jmp 0x1e026a
    001e0217
    001e0217 66 0f 1f 84 00 00 00 00 00 f........
    001e0220
    001e0220loc_1e0220:
    001e0220xor ecx, ecx
    001e0222
    001e0222loc_1e0222:
    001e0222test ebx, ebx
    001e0224jle 0x1e0236
    001e0226movsxd rax, r12l
    001e0229mov edx, [rbp-244]
    001e022fand [rbp+4*rax-228], edx
    001e0236
    001e0236loc_1e0236:
    001e0236add r15l, 1
    001e023acmp r13l, 2
    001e023ejne 0x1e026a
    001e0240xorpd x1, x1
    001e0244test ecx, ecx
    001e0246je 0x1e0250
    001e0248movsd_xmm x1, [rbp-240]
    001e0250
    001e0250loc_1e0250:
    001e0250movsd_xmm x2, [rip-0x14c890]
    001e0258subsd x2, x0
    001e025csubsd x2, x1
    001e0260mov r13l, 2
    001e0266movapd x0, x2
    001e026a
    001e026aloc_1e026a:
    001e026aucomisd x0, [rip-0x14c89a]
    001e0272jne 0x1e0615
    001e0278jp 0x1e0615
    001e027ecmp r12l, [rbp-104]
    001e0282mov r14, [rbp-72]
    001e0286jle 0x1e03ae
    001e028cmov rdi, [rbp-80]
    001e0290mov rdx, rdi
    001e0293sub rdx, [rbp-304]
    001e029axor eax, eax
    001e029cmov rsi, [rbp-296]
    001e02a3mov rcx, rdi
    001e02a6add rsi, rdi
    001e02a9je 0x1e034e
    001e02afmov rsi, rdx
    001e02b2and rsi, -2
    001e02b6xor eax, eax
    001e02b8mov rcx, [rbp-80]
    001e02bcnop [rax]
    001e02c0
    001e02c0loc_1e02c0:
    001e02c0movupd x0, [rbp-160]
    001e02c8movapd [rbp-336], x0
    001e02d0movupd x1, [rbp-224]
    001e02d8movupd x2, [rbp-208]
    001e02e0movups x3, [rbp-192]
    001e02e7movups x4, [rbp-176]
    001e02eemovaps [rbp-352], x4
    001e02f5movaps [rbp-368], x3
    001e02fcmovapd [rbp-384], x2
    001e0304movapd [rbp-400], x1
    001e030cor eax, [rbp+4*rcx-404]
    001e0313movapd [rbp-336], x0
    001e031bmovaps [rbp-352], x4
    001e0322movaps [rbp-368], x3
    001e0329movapd [rbp-384], x2
    001e0331movapd [rbp-400], x1
    001e0339or eax, [rbp+4*rcx-408]
    001e0340add rcx, -2
    001e0344add rsi, -2
    001e0348jne 0x1e02c0
    001e034e
    001e034eloc_1e034e:
    001e034etest dl, 1
    001e0351je 0x1e03a6
    001e0353movups x0, [rbp-160]
    001e035amovaps [rbp-336], x0
    001e0361movupd x0, [rbp-224]
    001e0369movupd x1, [rbp-208]
    001e0371movupd x2, [rbp-192]
    001e0379movups x3, [rbp-176]
    001e0380movaps [rbp-352], x3
    001e0387movapd [rbp-368], x2
    001e038fmovapd [rbp-384], x1
    001e0397movapd [rbp-400], x0
    001e039for eax, [rbp+4*rcx-404]
    001e03a6
    001e03a6loc_1e03a6:
    001e03a6test eax, eax
    001e03a8jne 0x1e068d
    001e03ae
    001e03aeloc_1e03ae:
    001e03aemov rax, [rbp-312]
    001e03b5mov ecx, r12l
    001e03b8nop [rax+rax]
    001e03c0
    001e03c0loc_1e03c0:
    001e03c0movups x0, [rbp-160]
    001e03c7movaps [rbp-816], x0
    001e03cemovdqu x0, [rbp-224]
    001e03d6movupd x1, [rbp-208]
    001e03demovupd x2, [rbp-192]
    001e03e6movups x3, [rbp-176]
    001e03edmovaps [rbp-832], x3
    001e03f4movapd [rbp-848], x2
    001e03fcmovapd [rbp-864], x1
    001e0404movdqa [rbp-880], x0
    001e040cadd ecx, 1
    001e040fcmp [rax], 0
    001e0412lea rax, [rax-4]
    001e0416je 0x1e03c0
    001e0418mov [rbp-256], ecx
    001e041emovsxd r13, ecx
    001e0421add r12l, r14l
    001e0424mov r15, [rbp-80]
    001e0428mov [rbp-88], r13
    001e042cjmp 0x1e044b
    001e042e
    001e042e 66 90 f.
    001e0430
    001e0430loc_1e0430:
    001e0430xorpd x0, x0
    001e0434
    001e0434loc_1e0434:
    001e0434movsd_xmm [rbp+8*r15-1120], x0
    001e043eadd r12l, 1
    001e0442cmp r15, r13
    001e0445jge 0x1dff60
    001e044b
    001e044bloc_1e044b:
    001e044bmov rax, r15
    001e044elea ecx, [r15+r14]
    001e0452mov rdx, [rbp-136]
    001e0459add rdx, r15
    001e045cadd rdx, 1
    001e0460add r15, 1
    001e0464movsxd rcx, ecx
    001e0467lea rax, [rip-0x14b216]
    001e046exorps x0, x0
    001e0471cvtsi2sd x0, [rax+4*rdx]
    001e0476movsd_xmm [rbp+8*rcx-1440], x0
    001e047ftest r14l, r14l
    001e0482jle 0x1e0430
    001e0484cmp r14l, 1
    001e0488mov [rbp-128], rcx
    001e048cjne 0x1e04a0
    001e048exorpd x0, x0
    001e0492xor ebx, ebx
    001e0494test [rbp-120], 1
    001e0498je 0x1e0434
    001e049ajmp 0x1e0565
    001e049f
    001e049f 90 .
    001e04a0
    001e04a0loc_1e04a0:
    001e04a0mov [rbp-80], r15
    001e04a4mov [rbp-112], r12l
    001e04a8movsxd rax, r12l
    001e04ablea r12, [8*rax-2240]
    001e04b3add r12, rbp
    001e04b6xorpd x0, x0
    001e04baxor ebx, ebx
    001e04bcmov r14, [rbp-320]
    001e04c3lea r13, [rbp-1440]
    001e04canop [rax+rax]
    001e04d0
    001e04d0loc_1e04d0:
    001e04d0movsd_xmm [rbp-64], x0
    001e04d5movsd_xmm x1, [r14-8]
    001e04dbmovsd_xmm [rbp-48], x1
    001e04e0mov edx, 160
    001e04e5lea r15, [rbp-2240]
    001e04ecmov rdi, r15
    001e04efmov rsi, r13
    001e04f2call memcpy
    001e04f7movsd_xmm x0, [rbp-48]
    001e04fcmulsd x0, [r12+8*rbx]
    001e0502addsd x0, [rbp-64]
    001e0507movsd_xmm [rbp-48], x0
    001e050cmovsd_xmm x0, [r14]
    001e0511movsd_xmm [rbp-64], x0
    001e0516mov edx, 160
    001e051bmov rdi, r15
    001e051emov rsi, r13
    001e0521call memcpy
    001e0526movsd_xmm x0, [rbp-64]
    001e052bmulsd x0, [r12+8*rbx-8]
    001e0532addsd x0, [rbp-48]
    001e0537add r14, 16
    001e053badd rbx, -2
    001e053fcmp [rbp-144], rbx
    001e0546jne 0x1e04d0
    001e0548neg rbx
    001e054bmov r12l, [rbp-112]
    001e054fmov r14, [rbp-72]
    001e0553mov r15, [rbp-80]
    001e0557mov r13, [rbp-88]
    001e055btest [rbp-120], 1
    001e055fje 0x1e0434
    001e0565
    001e0565loc_1e0565:
    001e0565mov rax, [rbp-96]
    001e0569movsd_xmm x1, [rax+8*rbx]
    001e056emovsd_xmm [rbp-48], x1
    001e0573mov edx, 160
    001e0578lea rdi, [rbp-2240]
    001e057flea rsi, [rbp-1440]
    001e0586movsd_xmm [rbp-64], x0
    001e058bcall memcpy
    001e0590movsd_xmm x0, [rbp-64]
    001e0595mov rax, [rbp-128]
    001e0599sub rax, rbx
    001e059cmovsd_xmm x1, [rbp-48]
    001e05a1mulsd x1, [rbp+8*rax-2240]
    001e05aaaddsd x0, x1
    001e05aejmp 0x1e0434
    001e05b3
    001e05b3loc_1e05b3:
    001e05b3movups x1, [rbp-160]
    001e05bamovaps [rbp-656], x1
    001e05c1movupd x1, [rbp-224]
    001e05c9movupd x2, [rbp-208]
    001e05d1movups x3, [rbp-192]
    001e05d8movups x4, [rbp-176]
    001e05dfmovaps [rbp-672], x4
    001e05e6movaps [rbp-688], x3
    001e05edmovapd [rbp-704], x2
    001e05f5movapd [rbp-720], x1
    001e05fdmovsxd rax, r12l
    001e0600lea rax, [4*rax-724]
    001e0608add rax, rbp
    001e060bmov ecx, 23
    001e0610jmp 0x1e0129
    001e0615
    001e0615loc_1e0615:
    001e0615mov rdi, [rbp-280]
    001e061ccall math.ldexp.ldexp__anon_3550
    001e0621ucomisd x0, [rip-0x14cc59]
    001e0629jae 0x1e063c
    001e062bcvttsd2si eax, x0
    001e062fmov rcx, [rbp-80]
    001e0633mov [rbp+4*rcx-224], eax
    001e063ajmp 0x1e0683
    001e063c
    001e063cloc_1e063c:
    001e063cmovsd_xmm x1, [rip-0x14cca4]
    001e0644mulsd x1, x0
    001e0648cvttsd2si eax, x1
    001e064ccvttpd2dq x1, x1
    001e0650cvtdq2pd x1, x1
    001e0654mulsd x1, [rip-0x14ccb4]
    001e065caddsd x1, x0
    001e0660cvttsd2si ecx, x1
    001e0664mov rdx, [rbp-80]
    001e0668mov [rbp+4*rdx-224], ecx
    001e066fadd r12l, 1
    001e0673mov [rbp+4*rdx-220], eax
    001e067amov rax, [rbp-232]
    001e0681mov ebx, eax
    001e0683
    001e0683loc_1e0683:
    001e0683movsd_xmm x7, [rip-0x14cceb]
    001e068bjmp 0x1e06fc
    001e068d
    001e068dloc_1e068d:
    001e068dmovsxd rax, r12l
    001e0690lea rax, [4*rax-964]
    001e0698add rax, rbp
    001e069bnop [rax+rax]
    001e06a0
    001e06a0loc_1e06a0:
    001e06a0add ebx, -24
    001e06a3movups x0, [rbp-160]
    001e06aamovaps [rbp-896], x0
    001e06b1movupd x0, [rbp-224]
    001e06b9movupd x1, [rbp-208]
    001e06c1movupd x2, [rbp-192]
    001e06c9movups x3, [rbp-176]
    001e06d0movaps [rbp-912], x3
    001e06d7movapd [rbp-928], x2
    001e06dfmovapd [rbp-944], x1
    001e06e7movapd [rbp-960], x0
    001e06efadd r12l, -1
    001e06f3cmp [rax], 0
    001e06f6lea rax, [rax-4]
    001e06faje 0x1e06a0
    001e06fc
    001e06fcloc_1e06fc:
    001e06fctest ebx, ebx
    001e06femov [rbp-96], r13l
    001e0702mov [rbp-88], r15l
    001e0706js 0x1e071d
    001e0708cmp ebx, 1023
    001e070ejbe 0x1e074d
    001e0710movsd_xmm x0, [rip-0x14cd80]
    001e0718jmp 0x1e07aa
    001e071d
    001e071dloc_1e071d:
    001e071dmov eax, ebx
    001e071fneg eax
    001e0721cmp ebx, -1023
    001e0727jbe 0x1e0765
    001e0729mov eax, eax
    001e072bmov rcx, 0xfff0000000000000
    001e0735imul rax, rcx
    001e0739mov rcx, 0x3ff0000000000000
    001e0743add rax, rcx
    001e0746movq x0, rax
    001e074bjmp 0x1e07aa
    001e074d
    001e074dloc_1e074d:
    001e074dshl rbx, 52
    001e0751mov rax, 0x3ff0000000000000
    001e075badd rbx, rax
    001e075emovq x0, rbx
    001e0763jmp 0x1e07aa
    001e0765
    001e0765loc_1e0765:
    001e0765xorpd x0, x0
    001e0769cmp ebx, -1075
    001e076fjb 0x1e07aa
    001e0771mov ecx, -1022
    001e0776sub ecx, ebx
    001e0778cmp eax, ecx
    001e077acmovl ecx, eax
    001e077dadd cl, -1
    001e0780mov eax, ecx
    001e0782and al, 63
    001e0784xor edx, edx
    001e0786cmp al, 52
    001e0788sete dl
    001e078bmov rax, 0x10000000000000
    001e0795shr rax, cl
    001e0798add rax, 1
    001e079cshr rax, 1
    001e079fnot rdx
    001e07a2and rdx, rax
    001e07a5movq x0, rdx
    001e07aa
    001e07aaloc_1e07aa:
    001e07aamov eax, r12l
    001e07admov [rbp-72], rax
    001e07b1test r12l, r12l
    001e07b4js 0x1e0abf
    001e07batest r12b, 1
    001e07bejne 0x1e083b
    001e07c0movups x1, [rbp-160]
    001e07c7movaps [rbp-416], x1
    001e07cemovups x1, [rbp-224]
    001e07d5movupd x2, [rbp-208]
    001e07ddmovups x3, [rbp-192]
    001e07e4movups x4, [rbp-176]
    001e07ebmovaps [rbp-432], x4
    001e07f2movaps [rbp-448], x3
    001e07f9movapd [rbp-464], x2
    001e0801movaps [rbp-480], x1
    001e0808mov rax, [rbp-72]
    001e080cxorps x1, x1
    001e080fcvtsi2sd x1, [rbp+4*rax-480]
    001e0818mulsd x1, x0
    001e081cmovsd_xmm [rbp+8*rax-1120], x1
    001e0825mulsd x0, [rip-0x14ce8d]
    001e082dadd rax, -1
    001e0831test r12l, r12l
    001e0834jne 0x1e0850
    001e0836jmp 0x1e0904
    001e083b
    001e083bloc_1e083b:
    001e083bmov rax, [rbp-72]
    001e083ftest r12l, r12l
    001e0842je 0x1e0904
    001e0848nop [rax+rax]
    001e0850
    001e0850loc_1e0850:
    001e0850movups x1, [rbp-160]
    001e0857movaps [rbp-416], x1
    001e085emovupd x2, [rbp-224]
    001e0866movups x3, [rbp-208]
    001e086dmovups x4, [rbp-192]
    001e0874movups x5, [rbp-176]
    001e087bmovaps [rbp-432], x5
    001e0882movaps [rbp-448], x4
    001e0889movaps [rbp-464], x3
    001e0890movapd [rbp-480], x2
    001e0898xorps x6, x6
    001e089bcvtsi2sd x6, [rbp+4*rax-480]
    001e08a4mulsd x6, x0
    001e08a8movsd_xmm [rbp+8*rax-1120], x6
    001e08b1mulsd x0, x7
    001e08b5movaps [rbp-416], x1
    001e08bcmovaps [rbp-432], x5
    001e08c3movaps [rbp-448], x4
    001e08camovaps [rbp-464], x3
    001e08d1movapd [rbp-480], x2
    001e08d9xorps x1, x1
    001e08dccvtsi2sd x1, [rbp+4*rax-484]
    001e08e5mulsd x1, x0
    001e08e9movsd_xmm [rbp+8*rax-1128], x1
    001e08f2mulsd x0, x7
    001e08f6add rax, -2
    001e08facmp rax, -1
    001e08fejne 0x1e0850
    001e0904
    001e0904loc_1e0904:
    001e0904test r12l, r12l
    001e0907js 0x1e0abf
    001e090dxor eax, eax
    001e090fmov rcx, [rbp-104]
    001e0913test ecx, ecx
    001e0915cmovle ecx, eax
    001e0918mov [rbp-104], rcx
    001e091cmov rcx, [rbp-72]
    001e0920lea r14, [rbp+8*rcx-2552]
    001e0928lea r9, [rip-0x14ac0f]
    001e092flea r13, [rbp-2560]
    001e0936lea rsi, [rbp-1120]
    001e093dmov [rbp-112], r12l
    001e0941jmp 0x1e0983
    001e0943
    001e0943 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f............
    001e0950
    001e0950loc_1e0950:
    001e0950movsd_xmm [rbp+8*rax-1280], x0
    001e0959add rcx, -1
    001e095dmov rdx, [rbp-136]
    001e0964lea eax, [rdx+1]
    001e0967mov r14, [rbp-80]
    001e096badd r14, -8
    001e096fmov r12l, [rbp-112]
    001e0973cmp edx, r12l
    001e0976lea r9, [rip-0x14ac5d]
    001e097dje 0x1e0abf
    001e0983
    001e0983loc_1e0983:
    001e0983mov rdx, [rbp-104]
    001e0987cmp edx, eax
    001e0989mov ebx, eax
    001e098bcmovb ebx, edx
    001e098elea edx, [rbx+1]
    001e0991test ebx, ebx
    001e0993mov [rbp-136], rax
    001e099amov [rbp-128], rcx
    001e099emov [rbp-120], rdx
    001e09a2je 0x1e0a40
    001e09a8mov r8, rbx
    001e09abadd r8, 1
    001e09afand r8, -2
    001e09b3mov [rbp-144], r8
    001e09baxorpd x1, x1
    001e09bexor r12l, r12l
    001e09c1mov rbx, r14
    001e09c4mov r15, rsi
    001e09c7mov r14, r9
    001e09canop [rax+rax]
    001e09d0
    001e09d0loc_1e09d0:
    001e09d0movsd_xmm [rbp-48], x1
    001e09d5mov edx, 160
    001e09damov rdi, r13
    001e09ddmov rsi, r15
    001e09e0call memcpy
    001e09e5movsd_xmm x0, [r14+8*r12]
    001e09ebmovsd_xmm x1, [r14+8*r12+8]
    001e09f2movsd_xmm [rbp-64], x1
    001e09f7mulsd x0, [rbx+8*r12-8]
    001e09feaddsd x0, [rbp-48]
    001e0a03movsd_xmm [rbp-48], x0
    001e0a08mov edx, 160
    001e0a0dmov rdi, r13
    001e0a10mov rsi, r15
    001e0a13call memcpy
    001e0a18movsd_xmm x0, [rbp-64]
    001e0a1dmulsd x0, [rbx+8*r12]
    001e0a23addsd x0, [rbp-48]
    001e0a28add r12, 2
    001e0a2cmovapd x1, x0
    001e0a30cmp [rbp-144], r12
    001e0a37jne 0x1e09d0
    001e0a39jmp 0x1e0a4d
    001e0a3b
    001e0a3b 0f 1f 44 00 00 ..D..
    001e0a40
    001e0a40loc_1e0a40:
    001e0a40xorpd x0, x0
    001e0a44xor r12l, r12l
    001e0a47mov rbx, r14
    001e0a4amov r15, rsi
    001e0a4d
    001e0a4dloc_1e0a4d:
    001e0a4dmov [rbp-80], rbx
    001e0a51mov rax, [rbp-72]
    001e0a55mov rcx, [rbp-128]
    001e0a59sub rax, rcx
    001e0a5ctest [rbp-120], 1
    001e0a60mov rsi, r15
    001e0a63je 0x1e0950
    001e0a69mov r15, rax
    001e0a6clea rax, [rip-0x14ad53]
    001e0a73movsd_xmm x1, [rax+8*r12]
    001e0a79movsd_xmm [rbp-48], x1
    001e0a7emov edx, 160
    001e0a83mov r14, rcx
    001e0a86mov rdi, r13
    001e0a89mov rbx, rsi
    001e0a8cmovsd_xmm [rbp-64], x0
    001e0a91call memcpy
    001e0a96mov rax, r15
    001e0a99movsd_xmm x0, [rbp-64]
    001e0a9emov rsi, rbx
    001e0aa1mov rcx, r14
    001e0aa4add r12, r14
    001e0aa7movsd_xmm x1, [rbp-48]
    001e0aacmulsd x1, [rbp+8*r12-2560]
    001e0ab6addsd x0, x1
    001e0abajmp 0x1e0950
    001e0abf
    001e0abfloc_1e0abf:
    001e0abfcmp [rbp-288], 0
    001e0ac7je 0x1e0b1a
    001e0ac9test r12l, r12l
    001e0accmov r13, [rbp-264]
    001e0ad3js 0x1e0b77
    001e0ad9test r12b, 1
    001e0addjne 0x1e0b7d
    001e0ae3lea rdi, [rbp-1920]
    001e0aealea rsi, [rbp-1280]
    001e0af1mov edx, 160
    001e0af6call memcpy
    001e0afbxorpd x1, x1
    001e0affmov rax, [rbp-72]
    001e0b03addsd x1, [rbp+8*rax-1920]
    001e0b0clea rbx, [rax-1]
    001e0b10test r12l, r12l
    001e0b13jne 0x1e0b8a
    001e0b15jmp 0x1e0bf0
    001e0b1a
    001e0b1aloc_1e0b1a:
    001e0b1atest r12l, r12l
    001e0b1dmov r15, [rbp-264]
    001e0b24js 0x1e0d00
    001e0b2atest r12b, 1
    001e0b2ejne 0x1e0d06
    001e0b34lea rdi, [rbp-1760]
    001e0b3blea rsi, [rbp-1280]
    001e0b42mov edx, 160
    001e0b47call memcpy
    001e0b4cxorpd x0, x0
    001e0b50mov rax, [rbp-72]
    001e0b54addsd x0, [rbp+8*rax-1760]
    001e0b5dadd rax, -1
    001e0b61mov [rbp-72], rax
    001e0b65test r12l, r12l
    001e0b68mov rbx, [rbp-72]
    001e0b6cjne 0x1e0d13
    001e0b72jmp 0x1e0d80
    001e0b77
    001e0b77loc_1e0b77:
    001e0b77xorpd x1, x1
    001e0b7bjmp 0x1e0bf0
    001e0b7d
    001e0b7dloc_1e0b7d:
    001e0b7dxorpd x1, x1
    001e0b81mov rbx, [rbp-72]
    001e0b85test r12l, r12l
    001e0b88je 0x1e0bf0
    001e0b8a
    001e0b8aloc_1e0b8a:
    001e0b8alea r14, [rbp-1920]
    001e0b91lea r15, [rbp-1280]
    001e0b98nop [rax+rax]
    001e0ba0
    001e0ba0loc_1e0ba0:
    001e0ba0movapd [rbp-64], x1
    001e0ba5mov edx, 160
    001e0baamov rdi, r14
    001e0badmov rsi, r15
    001e0bb0call memcpy
    001e0bb5movapd x0, [rbp-64]
    001e0bbaaddsd x0, [rbp+8*rbx-1920]
    001e0bc3movapd [rbp-64], x0
    001e0bc8mov edx, 160
    001e0bcdmov rdi, r14
    001e0bd0mov rsi, r15
    001e0bd3call memcpy
    001e0bd8movapd x1, [rbp-64]
    001e0bddaddsd x1, [rbp+8*rbx-1928]
    001e0be6add rbx, -2
    001e0beacmp rbx, -1
    001e0beejne 0x1e0ba0
    001e0bf0
    001e0bf0loc_1e0bf0:
    001e0bf0movapd x0, x1
    001e0bf4mov r14l, [rbp-96]
    001e0bf8test r14l, r14l
    001e0bfbje 0x1e0c09
    001e0bfdmovapd x0, [rip-0x14ca75]
    001e0c05xorpd x0, x1
    001e0c09
    001e0c09loc_1e0c09:
    001e0c09movsd_xmm [r13], x0
    001e0c0fmovsd_xmm x0, [rbp-1280]
    001e0c17subsd x0, x1
    001e0c1btest r12l, r12l
    001e0c1ejle 0x1e0cdd
    001e0c24cmp r12l, 1
    001e0c28jne 0x1e0c31
    001e0c2amov ebx, 1
    001e0c2fjmp 0x1e0ca8
    001e0c31
    001e0c31loc_1e0c31:
    001e0c31mov r12, [rbp-72]
    001e0c35and r12l, -2
    001e0c39neg r12
    001e0c3cmov ebx, 1
    001e0c41lea r14, [rbp-2080]
    001e0c48lea r15, [rbp-1280]
    001e0c4fnop
    001e0c50
    001e0c50loc_1e0c50:
    001e0c50movapd [rbp-64], x0
    001e0c55mov edx, 160
    001e0c5amov rdi, r14
    001e0c5dmov rsi, r15
    001e0c60call memcpy
    001e0c65movapd x0, [rbp-64]
    001e0c6aaddsd x0, [rbp+8*rbx-2080]
    001e0c73movapd [rbp-64], x0
    001e0c78mov edx, 160
    001e0c7dmov rdi, r14
    001e0c80mov rsi, r15
    001e0c83call memcpy
    001e0c88movapd x0, [rbp-64]
    001e0c8daddsd x0, [rbp+8*rbx-2072]
    001e0c96lea rax, [r12+rbx]
    001e0c9aadd rax, 2
    001e0c9eadd rbx, 2
    001e0ca2cmp rax, 1
    001e0ca6jne 0x1e0c50
    001e0ca8
    001e0ca8loc_1e0ca8:
    001e0ca8test [rbp-72], 1
    001e0cacmov r14l, [rbp-96]
    001e0cb0je 0x1e0cdd
    001e0cb2lea rdi, [rbp-2080]
    001e0cb9lea rsi, [rbp-1280]
    001e0cc0mov edx, 160
    001e0cc5movapd [rbp-64], x0
    001e0ccacall memcpy
    001e0ccfmovapd x0, [rbp-64]
    001e0cd4addsd x0, [rbp+8*rbx-2080]
    001e0cdd
    001e0cddloc_1e0cdd:
    001e0cddtest r14l, r14l
    001e0ce0je 0x1e0cf5
    001e0ce2xorpd x0, [rip-0x14cb5a]
    001e0ceamovlpd [r13+8], x0
    001e0cf0jmp 0x1e0d9a
    001e0cf5
    001e0cf5loc_1e0cf5:
    001e0cf5movsd_xmm [r13+8], x0
    001e0cfbjmp 0x1e0d9a
    001e0d00
    001e0d00loc_1e0d00:
    001e0d00xorpd x0, x0
    001e0d04jmp 0x1e0d80
    001e0d06
    001e0d06loc_1e0d06:
    001e0d06xorpd x0, x0
    001e0d0atest r12l, r12l
    001e0d0dmov rbx, [rbp-72]
    001e0d11je 0x1e0d80
    001e0d13
    001e0d13loc_1e0d13:
    001e0d13lea r14, [rbp-1760]
    001e0d1alea r12, [rbp-1280]
    001e0d21nop [rax+rax]
    001e0d2bnop [rax+rax]
    001e0d30
    001e0d30loc_1e0d30:
    001e0d30movapd [rbp-64], x0
    001e0d35mov edx, 160
    001e0d3amov rdi, r14
    001e0d3dmov rsi, r12
    001e0d40call memcpy
    001e0d45movapd x0, [rbp-64]
    001e0d4aaddsd x0, [rbp+8*rbx-1760]
    001e0d53movapd [rbp-64], x0
    001e0d58mov edx, 160
    001e0d5dmov rdi, r14
    001e0d60mov rsi, r12
    001e0d63call memcpy
    001e0d68movapd x0, [rbp-64]
    001e0d6daddsd x0, [rbp+8*rbx-1768]
    001e0d76add rbx, -2
    001e0d7acmp rbx, -1
    001e0d7ejne 0x1e0d30
    001e0d80
    001e0d80loc_1e0d80:
    001e0d80cmp [rbp-96], 0
    001e0d84je 0x1e0d95
    001e0d86xorpd x0, [rip-0x14cbfe]
    001e0d8emovlpd [r15], x0
    001e0d93jmp 0x1e0d9a
    001e0d95
    001e0d95loc_1e0d95:
    001e0d95movsd_xmm [r15], x0
    001e0d9a
    001e0d9aloc_1e0d9a:
    001e0d9amov eax, [rbp-88]
    001e0d9dand eax, 7
    001e0da0add rsp, 2680
    001e0da7pop rbx
    001e0da8pop r12
    001e0daapop r13
    001e0dacpop r14
    001e0daepop r15
    001e0db0pop rbp
    001e0db1ret
    001dfab0