File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    001d68f0
    001d68f0sinf:
    001d68f0push rbp
    001d68f1mov rbp, rsp
    001d68f4push rbx
    001d68f5sub rsp, 24
    001d68f9movd ebx, x0
    001d68fdmov eax, ebx
    001d68ffand eax, 0x7fffffff
    001d6904cmp eax, 0x3f490fda
    001d6909ja 0x1d6942
    001d690bcmp eax, 0x39800000
    001d6910jb 0x1d6a08
    001d6916cvtss2sd x0, x0
    001d691amovaps x1, x0
    001d691dmulsd x1, x0
    001d6921movapd x2, x1
    001d6925mulsd x2, x1
    001d6929movapd x3, x1
    001d692dunpcklpd x1, x1
    001d6931mulpd x1, [rip-0x142e19]
    001d6939mulsd x3, x0
    001d693djmp 0x1d6a46
    001d6942
    001d6942loc_1d6942:
    001d6942cmp eax, 0x407b53d1
    001d6947ja 0x1d6969
    001d6949cvtss2sd x0, x0
    001d694dcmp eax, 0x4016cbe3
    001d6952ja 0x1d6998
    001d6954test ebx, ebx
    001d6956js 0x1d6ade
    001d695caddsd x0, [rip-0x143634]
    001d6964jmp 0x1d6beb
    001d6969
    001d6969loc_1d6969:
    001d6969cmp eax, 0x40e231d5
    001d696eja 0x1d69fd
    001d6974cvtss2sd x0, x0
    001d6978cmp eax, 0x40afeddf
    001d697dja 0x1d6a0f
    001d6983test ebx, ebx
    001d6985js 0x1d6b34
    001d698baddsd x0, [rip-0x143673]
    001d6993jmp 0x1d6b8d
    001d6998
    001d6998loc_1d6998:
    001d6998xor eax, eax
    001d699atest ebx, ebx
    001d699csetns al
    001d699flea rcx, [rip-0x142e46]
    001d69a6addsd x0, [rcx+8*rax]
    001d69ab
    001d69abloc_1d69ab:
    001d69abmovapd x1, [rip-0x142ea3]
    001d69b3xorpd x1, x0
    001d69b7movapd x2, x0
    001d69bbmulsd x2, x0
    001d69bfmovapd x3, x2
    001d69c3mulsd x1, x2
    001d69c7unpcklpd x2, x2
    001d69cbmulpd x2, [rip-0x142eb3]
    001d69d3mulsd x3, x3
    001d69d7addpd x2, [rip-0x142eaf]
    001d69dfmulsd x3, x1
    001d69e3unpcklpd x3, x1
    001d69e7mulpd x3, x2
    001d69ebmovapd x1, x3
    001d69efunpckhpd x1, x3
    001d69f3subsd x1, x0
    001d69f7addsd x1, x3
    001d69fbjmp 0x1d6a6a
    001d69fd
    001d69fdloc_1d69fd:
    001d69fdcmp eax, 0x7f800000
    001d6a02jb 0x1d6a78
    001d6a04subss x0, x0
    001d6a08
    001d6a08loc_1d6a08:
    001d6a08add rsp, 24
    001d6a0cpop rbx
    001d6a0dpop rbp
    001d6a0eret
    001d6a0f
    001d6a0floc_1d6a0f:
    001d6a0fxor eax, eax
    001d6a11test ebx, ebx
    001d6a13setns al
    001d6a16lea rcx, [rip-0x142ecd]
    001d6a1daddsd x0, [rcx+8*rax]
    001d6a22
    001d6a22loc_1d6a22:
    001d6a22movapd x1, x0
    001d6a26mulsd x1, x0
    001d6a2amovapd x2, x1
    001d6a2emovapd x3, x0
    001d6a32mulsd x3, x1
    001d6a36unpcklpd x1, x1
    001d6a3amulpd x1, [rip-0x142f22]
    001d6a42mulsd x2, x2
    001d6a46
    001d6a46loc_1d6a46:
    001d6a46addpd x1, [rip-0x142f1e]
    001d6a4emulsd x2, x3
    001d6a52unpcklpd x2, x3
    001d6a56mulpd x2, x1
    001d6a5amovapd x1, x2
    001d6a5eunpckhpd x1, x2
    001d6a62addsd x1, x0
    001d6a66addsd x1, x2
    001d6a6a
    001d6a6aloc_1d6a6a:
    001d6a6axorps x0, x0
    001d6a6dcvtsd2ss x0, x1
    001d6a71add rsp, 24
    001d6a75pop rbx
    001d6a76pop rbp
    001d6a77ret
    001d6a78
    001d6a78loc_1d6a78:
    001d6a78cmp eax, 0x4dc90fda
    001d6a7dja 0x1d6aeb
    001d6a7fcvtss2sd x2, x0
    001d6a83movsd_xmm x1, [rip-0x1437db]
    001d6a8bmulsd x1, x2
    001d6a8faddsd x1, [rip-0x1437df]
    001d6a97addsd x1, [rip-0x1437df]
    001d6a9fcvttsd2si eax, x1
    001d6aa3movsd_xmm x3, [rip-0x1437e3]
    001d6aabmulsd x3, x1
    001d6aafaddsd x3, x2
    001d6ab3movsd_xmm x0, [rip-0x1437eb]
    001d6abbmulsd x0, x1
    001d6abfaddsd x0, x3
    001d6ac3movsd_xmm x3, [rip-0x1437f3]
    001d6acbucomisd x3, x0
    001d6acfjbe 0x1d6b41
    001d6ad1addsd x1, [rip-0x1437e9]
    001d6ad9add eax, -1
    001d6adcjmp 0x1d6b56
    001d6ade
    001d6adeloc_1d6ade:
    001d6adeaddsd x0, [rip-0x1437be]
    001d6ae6jmp 0x1d6b8d
    001d6aeb
    001d6aebloc_1d6aeb:
    001d6aebmov edx, eax
    001d6aedshr edx, 23
    001d6af0add edx, -150
    001d6af6mov ecx, edx
    001d6af8shl ecx, 23
    001d6afbsub eax, ecx
    001d6afdmovd x0, eax
    001d6b01cvtss2sd x0, x0
    001d6b05movsd_xmm [rbp-16], x0
    001d6b0alea rdi, [rbp-16]
    001d6b0elea rsi, [rbp-24]
    001d6b12mov ecx, 1
    001d6b17xor r8l, r8l
    001d6b1acall compiler_rt.rem_pio2_large.rem_pio2_large
    001d6b1fmovsd_xmm x0, [rbp-24]
    001d6b24test ebx, ebx
    001d6b26jns 0x1d6b76
    001d6b28xorpd x0, [rip-0x143020]
    001d6b30neg eax
    001d6b32jmp 0x1d6b76
    001d6b34
    001d6b34loc_1d6b34:
    001d6b34addsd x0, [rip-0x143824]
    001d6b3cjmp 0x1d6beb
    001d6b41
    001d6b41loc_1d6b41:
    001d6b41ucomisd x0, [rip-0x143869]
    001d6b49jbe 0x1d6b76
    001d6b4baddsd x1, [rip-0x14386b]
    001d6b53add eax, 1
    001d6b56
    001d6b56loc_1d6b56:
    001d6b56movsd_xmm x0, [rip-0x143896]
    001d6b5emulsd x0, x1
    001d6b62addsd x2, x0
    001d6b66mulsd x1, [rip-0x14389e]
    001d6b6eaddsd x1, x2
    001d6b72movapd x0, x1
    001d6b76
    001d6b76loc_1d6b76:
    001d6b76and eax, 3
    001d6b79je 0x1d6a22
    001d6b7fcmp eax, 1
    001d6b82je 0x1d6beb
    001d6b84cmp eax, 2
    001d6b87je 0x1d69ab
    001d6b8d
    001d6b8dloc_1d6b8d:
    001d6b8dmulsd x0, x0
    001d6b91movapd x1, x0
    001d6b95movsd_xmm x2, [rip-0x1438a5]
    001d6b9dmulsd x2, x0
    001d6ba1addsd x2, [rip-0x1438a9]
    001d6ba9movsd_xmm x3, [rip-0x1438a9]
    001d6bb1mulsd x3, x0
    001d6bb5addsd x3, [rip-0x1438d5]
    001d6bbdmulsd x1, x0
    001d6bc1mulsd x0, x1
    001d6bc5mulsd x1, [rip-0x1438bd]
    001d6bcdaddsd x1, x3
    001d6bd1mulsd x0, x2
    001d6bd5addsd x0, x1
    001d6bd9cvtsd2ss x0, x0
    001d6bddxorps x0, [rip-0x1430a4]
    001d6be4add rsp, 24
    001d6be8pop rbx
    001d6be9pop rbp
    001d6bearet
    001d6beb
    001d6bebloc_1d6beb:
    001d6bebmulsd x0, x0
    001d6befmovapd x1, x0
    001d6bf3mulsd x1, x0
    001d6bf7movsd_xmm x2, [rip-0x143907]
    001d6bffmulsd x2, x0
    001d6c03addsd x2, [rip-0x14390b]
    001d6c0bmovsd_xmm x3, [rip-0x14390b]
    001d6c13mulsd x3, x0
    001d6c17addsd x3, [rip-0x143937]
    001d6c1fmulsd x0, x1
    001d6c23mulsd x1, [rip-0x14391b]
    001d6c2baddsd x1, x3
    001d6c2fmulsd x0, x2
    001d6c33addsd x0, x1
    001d6c37cvtsd2ss x0, x0
    001d6c3badd rsp, 24
    001d6c3fpop rbx
    001d6c40pop rbp
    001d6c41ret
    001d68f0
    001d6c42
    001d6c42 // align 0x10
    001d6c50
    001d6c50sin:
    001d6c50push rbp
    001d6c51mov rbp, rsp
    001d6c54sub rsp, 32
    001d6c58movq rax, x0
    001d6c5dshr rax, 32
    001d6c61and eax, 0x7fffffff
    001d6c66cmp rax, 0x3fe921fb
    001d6c6cja 0x1d6cdb
    001d6c6ecmp eax, 0x3e500000
    001d6c73jb 0x1d6cd5
    001d6c75movapd x1, x0
    001d6c79mulsd x1, x0
    001d6c7dmovapd x2, x1
    001d6c81mulsd x2, x1
    001d6c85mulsd x2, x1
    001d6c89movapd x3, x1
    001d6c8dunpcklpd x3, x1
    001d6c91mulpd x3, [rip-0x143129]
    001d6c99addpd x3, [rip-0x143121]
    001d6ca1unpcklpd x2, x1
    001d6ca5mulpd x2, x3
    001d6ca9movapd x3, x2
    001d6cadunpckhpd x3, x2
    001d6cb1addsd x3, [rip-0x143981]
    001d6cb9addsd x3, x2
    001d6cbdmulsd x3, x1
    001d6cc1mulsd x1, x0
    001d6cc5addsd x3, [rip-0x14396d]
    001d6ccdmulsd x3, x1
    001d6cd1addsd x0, x3
    001d6cd5
    001d6cd5loc_1d6cd5:
    001d6cd5add rsp, 32
    001d6cd9pop rbp
    001d6cdaret
    001d6cdb
    001d6cdbloc_1d6cdb:
    001d6cdbcmp eax, 0x7ff00000
    001d6ce0jb 0x1d6cec
    001d6ce2subsd x0, x0
    001d6ce6add rsp, 32
    001d6ceapop rbp
    001d6cebret
    001d6cec
    001d6cecloc_1d6cec:
    001d6ceclea rdi, [rbp-16]
    001d6cf0call compiler_rt.rem_pio2.rem_pio2
    001d6cf5and eax, 3
    001d6cf8je 0x1d6da4
    001d6cfecmp eax, 1
    001d6d01je 0x1d6e30
    001d6d07cmp eax, 2
    001d6d0ajne 0x1d6edf
    001d6d10movsd_xmm x0, [rbp-16]
    001d6d15movapd x1, x0
    001d6d19mulsd x1, x0
    001d6d1dmovapd x2, x1
    001d6d21mulsd x2, x1
    001d6d25mulsd x2, x1
    001d6d29movapd x3, x1
    001d6d2dunpcklpd x3, x1
    001d6d31mulpd x3, [rip-0x1431c9]
    001d6d39addpd x3, [rip-0x1431c1]
    001d6d41unpcklpd x2, x1
    001d6d45mulpd x2, x3
    001d6d49movapd x3, x2
    001d6d4dunpckhpd x3, x2
    001d6d51addsd x3, [rip-0x143a21]
    001d6d59movsd_xmm x4, [rbp-8]
    001d6d5eaddsd x3, x2
    001d6d62movapd x2, x0
    001d6d66mulsd x2, x1
    001d6d6amovsd_xmm x5, [rip-0x143a32]
    001d6d72mulsd x5, x4
    001d6d76mulsd x3, x2
    001d6d7asubsd x5, x3
    001d6d7emulsd x5, x1
    001d6d82subsd x5, x4
    001d6d86mulsd x2, [rip-0x143a46]
    001d6d8eaddsd x2, x5
    001d6d92subsd x0, x2
    001d6d96xorpd x0, [rip-0x14320e]
    001d6d9eadd rsp, 32
    001d6da2pop rbp
    001d6da3ret
    001d6da4
    001d6da4loc_1d6da4:
    001d6da4movsd_xmm x0, [rbp-16]
    001d6da9movsd_xmm x1, [rbp-8]
    001d6daemovapd x2, x0
    001d6db2mulsd x2, x0
    001d6db6movapd x3, x2
    001d6dbamulsd x3, x2
    001d6dbemovapd x4, x2
    001d6dc2unpcklpd x4, x2
    001d6dc6mulpd x4, [rip-0x14325e]
    001d6dceaddpd x4, [rip-0x143256]
    001d6dd6mulsd x3, x2
    001d6ddaunpcklpd x3, x2
    001d6ddemulpd x3, x4
    001d6de2movapd x4, x3
    001d6de6unpckhpd x4, x3
    001d6deaaddsd x4, [rip-0x143aba]
    001d6df2addsd x4, x3
    001d6df6movapd x3, x0
    001d6dfamulsd x3, x2
    001d6dfemovsd_xmm x5, [rip-0x143ac6]
    001d6e06mulsd x5, x1
    001d6e0amulsd x4, x3
    001d6e0esubsd x5, x4
    001d6e12mulsd x5, x2
    001d6e16subsd x5, x1
    001d6e1amulsd x3, [rip-0x143ada]
    001d6e22addsd x3, x5
    001d6e26subsd x0, x3
    001d6e2aadd rsp, 32
    001d6e2epop rbp
    001d6e2fret
    001d6e30
    001d6e30loc_1d6e30:
    001d6e30movapd x0, [rbp-16]
    001d6e35movapd x1, x0
    001d6e39unpcklpd x1, x0
    001d6e3dmulpd x1, x0
    001d6e41movapd x0, x1
    001d6e45mulpd x0, x1
    001d6e49mulpd x0, x0
    001d6e4dmovapd x2, x1
    001d6e51unpcklpd x2, x1
    001d6e55movapd x3, [rip-0x1432bd]
    001d6e5dmulpd x3, x2
    001d6e61movsd_xmm x4, [rip-0x143b19]
    001d6e69addpd x4, x3
    001d6e6dmovapd x5, [rip-0x1432c5]
    001d6e75subpd x5, x3
    001d6e79movsd_xmm x5, x4
    001d6e7dmulpd x5, x2
    001d6e81addpd x5, [rip-0x1432c9]
    001d6e89movapd x2, x1
    001d6e8dunpcklpd x2, x0
    001d6e91mulpd x2, x5
    001d6e95movsd_xmm x0, [rip-0x143b5d]
    001d6e9dmulsd x0, x1
    001d6ea1movsd_xmm x3, [rip-0x143b51]
    001d6ea9movapd x4, x3
    001d6eadsubsd x4, x0
    001d6eb1subsd x3, x4
    001d6eb5subsd x3, x0
    001d6eb9movapd x0, x2
    001d6ebdunpckhpd x0, x2
    001d6ec1addsd x0, x2
    001d6ec5mulsd x0, x1
    001d6ec9unpckhpd x1, x1
    001d6ecdsubsd x0, x1
    001d6ed1addsd x0, x3
    001d6ed5addsd x0, x4
    001d6ed9add rsp, 32
    001d6eddpop rbp
    001d6ederet
    001d6edf
    001d6edfloc_1d6edf:
    001d6edfmovapd x0, [rbp-16]
    001d6ee4movapd x1, x0
    001d6ee8unpcklpd x1, x0
    001d6eecmulpd x1, x0
    001d6ef0movapd x0, x1
    001d6ef4mulpd x0, x1
    001d6ef8mulpd x0, x0
    001d6efcmovapd x2, x1
    001d6f00unpcklpd x2, x1
    001d6f04movapd x3, [rip-0x14336c]
    001d6f0cmulpd x3, x2
    001d6f10movsd_xmm x4, [rip-0x143bc8]
    001d6f18addpd x4, x3
    001d6f1cmovapd x5, [rip-0x143374]
    001d6f24subpd x5, x3
    001d6f28movsd_xmm x5, x4
    001d6f2cmulpd x5, x2
    001d6f30addpd x5, [rip-0x143378]
    001d6f38movapd x2, x1
    001d6f3cunpcklpd x2, x0
    001d6f40mulpd x2, x5
    001d6f44movsd_xmm x0, [rip-0x143c0c]
    001d6f4cmulsd x0, x1
    001d6f50movsd_xmm x3, [rip-0x143c00]
    001d6f58movapd x4, x3
    001d6f5csubsd x4, x0
    001d6f60subsd x3, x4
    001d6f64subsd x3, x0
    001d6f68movapd x0, x2
    001d6f6cunpckhpd x0, x2
    001d6f70addsd x0, x2
    001d6f74mulsd x0, x1
    001d6f78unpckhpd x1, x1
    001d6f7csubsd x0, x1
    001d6f80addsd x0, x3
    001d6f84addsd x0, x4
    001d6f88xorpd x0, [rip-0x143400]
    001d6f90add rsp, 32
    001d6f94pop rbp
    001d6f95ret
    001d6c50
    001d6f96
    001d6f96 // align 0x10
    001d6fa0
    001d6fa0compiler_rt.rem_pio2.rem_pio2:
    001d6fa0push rbp
    001d6fa1mov rbp, rsp
    001d6fa4push r14
    001d6fa6push rbx
    001d6fa7sub rsp, 64
    001d6fabmov r14, rdi
    001d6faemovq rbx, x0
    001d6fb3mov rax, rbx
    001d6fb6shr rax, 32
    001d6fbamov edx, eax
    001d6fbcand edx, 0x7fffffff
    001d6fc2cmp edx, 0x400f6a7a
    001d6fc8ja 0x1d7024
    001d6fcaand eax, 0xfffff
    001d6fcfcmp eax, 0x921fb
    001d6fd4je 0x1d708e
    001d6fdacmp edx, 0x4002d97c
    001d6fe0ja 0x1d71df
    001d6fe6test rbx, rbx
    001d6fe9js 0x1d7476
    001d6fefaddsd x0, [rip-0x143c6f]
    001d6ff7movsd_xmm x1, [rip-0x143bbf]
    001d6fffmovapd x2, x0
    001d7003addsd x2, x1
    001d7007movsd_xmm [r14], x2
    001d700csubsd x0, x2
    001d7010addsd x0, x1
    001d7014movsd_xmm [r14+8], x0
    001d701amov eax, 1
    001d701fjmp 0x1d746d
    001d7024
    001d7024loc_1d7024:
    001d7024cmp edx, 0x401c463b
    001d702aja 0x1d7082
    001d702ccmp edx, 0x4015fdbc
    001d7032ja 0x1d721d
    001d7038cmp edx, 0x4012d97c
    001d703eje 0x1d7229
    001d7044test rbx, rbx
    001d7047js 0x1d74da
    001d704daddsd x0, [rip-0x143c4d]
    001d7055movsd_xmm x1, [rip-0x143c4d]
    001d705dmovapd x2, x0
    001d7061addsd x2, x1
    001d7065movsd_xmm [r14], x2
    001d706asubsd x0, x2
    001d706eaddsd x0, x1
    001d7072movsd_xmm [r14+8], x0
    001d7078mov eax, 3
    001d707djmp 0x1d746d
    001d7082
    001d7082loc_1d7082:
    001d7082cmp edx, 0x413921fa
    001d7088ja 0x1d728f
    001d708e
    001d708eloc_1d708e:
    001d708emovsd_xmm x1, [rip-0x143d26]
    001d7096mulsd x1, x0
    001d709aaddsd x1, [rip-0x143d2a]
    001d70a2addsd x1, [rip-0x143d2a]
    001d70aacvttsd2si eax, x1
    001d70aemovsd_xmm x2, [rip-0x143d2e]
    001d70b6mulsd x2, x1
    001d70baaddsd x2, x0
    001d70bemovsd_xmm x3, [rip-0x143d36]
    001d70c6mulsd x3, x1
    001d70camovapd x4, x2
    001d70cesubsd x4, x3
    001d70d2movsd_xmm x5, [rip-0x143d42]
    001d70daucomisd x5, x4
    001d70dejbe 0x1d70ed
    001d70e0add eax, -1
    001d70e3addsd x1, [rip-0x143d3b]
    001d70ebjmp 0x1d7102
    001d70ed
    001d70edloc_1d70ed:
    001d70educomisd x4, [rip-0x143d55]
    001d70f5jbe 0x1d7122
    001d70f7add eax, 1
    001d70faaddsd x1, [rip-0x143d5a]
    001d7102
    001d7102loc_1d7102:
    001d7102movsd_xmm x2, [rip-0x143d82]
    001d710amulsd x2, x1
    001d710eaddsd x0, x2
    001d7112movsd_xmm x3, [rip-0x143d8a]
    001d711amulsd x3, x1
    001d711emovapd x2, x0
    001d7122
    001d7122loc_1d7122:
    001d7122movapd x0, x2
    001d7126subsd x0, x3
    001d712amovsd_xmm [r14], x0
    001d712fmovq rcx, x0
    001d7134shr rcx, 52
    001d7138and ecx, 2047
    001d713eshr edx, 20
    001d7141mov esi, edx
    001d7143sub esi, ecx
    001d7145cmp esi, 17
    001d7148jl 0x1d745f
    001d714emovsd_xmm x0, [rip-0x143d9e]
    001d7156mulsd x0, x1
    001d715amovapd x4, x2
    001d715esubsd x4, x0
    001d7162movsd_xmm x3, [rip-0x143daa]
    001d716amulsd x3, x1
    001d716esubsd x2, x4
    001d7172subsd x2, x0
    001d7176subsd x3, x2
    001d717amovapd x0, x4
    001d717esubsd x0, x3
    001d7182movsd_xmm [r14], x0
    001d7187movq rcx, x0
    001d718cshr rcx, 52
    001d7190and ecx, 2047
    001d7196sub edx, ecx
    001d7198cmp edx, 50
    001d719bjl 0x1d745b
    001d71a1
    001d71a1loc_1d71a1:
    001d71a1movsd_xmm x0, [rip-0x143de1]
    001d71a9mulsd x0, x1
    001d71admovapd x2, x4
    001d71b1mulsd x1, [rip-0x143de9]
    001d71b9subsd x2, x0
    001d71bdsubsd x4, x2
    001d71c1subsd x4, x0
    001d71c5subsd x1, x4
    001d71c9movapd x0, x2
    001d71cdsubsd x0, x1
    001d71d1movsd_xmm [r14], x0
    001d71d6movapd x3, x1
    001d71dajmp 0x1d745f
    001d71df
    001d71dfloc_1d71df:
    001d71dftest rbx, rbx
    001d71e2js 0x1d74a8
    001d71e8addsd x0, [rip-0x143dc8]
    001d71f0movsd_xmm x1, [rip-0x143dc8]
    001d71f8movapd x2, x0
    001d71fcaddsd x2, x1
    001d7200movsd_xmm [r14], x2
    001d7205subsd x0, x2
    001d7209addsd x0, x1
    001d720dmovsd_xmm [r14+8], x0
    001d7213mov eax, 2
    001d7218jmp 0x1d746d
    001d721d
    001d721dloc_1d721d:
    001d721dcmp edx, 0x401921fb
    001d7223jne 0x1d72ad
    001d7229
    001d7229loc_1d7229:
    001d7229movsd_xmm x1, [rip-0x143ec1]
    001d7231mulsd x1, x0
    001d7235addsd x1, [rip-0x143ec5]
    001d723daddsd x1, [rip-0x143ec5]
    001d7245cvttsd2si eax, x1
    001d7249movsd_xmm x2, [rip-0x143ec9]
    001d7251mulsd x2, x1
    001d7255addsd x2, x0
    001d7259movsd_xmm x3, [rip-0x143ed1]
    001d7261mulsd x3, x1
    001d7265movapd x4, x2
    001d7269subsd x4, x3
    001d726dmovsd_xmm x5, [rip-0x143edd]
    001d7275ucomisd x5, x4
    001d7279jbe 0x1d73b4
    001d727fadd eax, -1
    001d7282addsd x1, [rip-0x143eda]
    001d728ajmp 0x1d73c9
    001d728f
    001d728floc_1d728f:
    001d728fcmp edx, 0x7ff00000
    001d7295jb 0x1d72eb
    001d7297subsd x0, x0
    001d729bmovsd_xmm [r14], x0
    001d72a0movsd_xmm [r14+8], x0
    001d72a6xor eax, eax
    001d72a8jmp 0x1d746d
    001d72ad
    001d72adloc_1d72ad:
    001d72adtest rbx, rbx
    001d72b0js 0x1d750f
    001d72b6addsd x0, [rip-0x143ed6]
    001d72bemovsd_xmm x1, [rip-0x143ed6]
    001d72c6movapd x2, x0
    001d72caaddsd x2, x1
    001d72cemovsd_xmm [r14], x2
    001d72d3subsd x0, x2
    001d72d7addsd x0, x1
    001d72dbmovsd_xmm [r14+8], x0
    001d72e1mov eax, 4
    001d72e6jmp 0x1d746d
    001d72eb
    001d72ebloc_1d72eb:
    001d72ebmov rax, 0xfffffffffffff
    001d72f5and rax, rbx
    001d72f8mov rcx, 0x4160000000000000
    001d7302or rcx, rax
    001d7305movq x0, rcx
    001d730acvttpd2dq x1, x0
    001d730ecvtdq2pd x1, x1
    001d7312subsd x0, x1
    001d7316movsd_xmm x2, [rip-0x143fb6]
    001d731emulsd x0, x2
    001d7322cvttpd2dq x3, x0
    001d7326cvtdq2pd x3, x3
    001d732aunpcklpd x1, x3
    001d732emovupd [rbp-56], x1
    001d7333subsd x0, x3
    001d7337mulsd x0, x2
    001d733bmovsd_xmm [rbp-40], x0
    001d7340mov ecx, 2
    001d7345xorpd x0, x0
    001d7349nop [rax]
    001d7350
    001d7350loc_1d7350:
    001d7350mov rax, [rbp-40]
    001d7354mov [rbp-64], rax
    001d7358movups x1, [rbp-56]
    001d735cmovaps [rbp-80], x1
    001d7360movsd_xmm x1, [rbp+8*rcx-80]
    001d7366add rcx, -1
    001d736aucomisd x1, x0
    001d736ejne 0x1d7372
    001d7370jnp 0x1d7350
    001d7372
    001d7372loc_1d7372:
    001d7372shr edx, 20
    001d7375add edx, -1046
    001d737badd ecx, 2
    001d737elea rdi, [rbp-56]
    001d7382lea rsi, [rbp-32]
    001d7386mov r8l, 1
    001d738ccall compiler_rt.rem_pio2_large.rem_pio2_large
    001d7391movsd_xmm x0, [rbp-32]
    001d7396test rbx, rbx
    001d7399js 0x1d7544
    001d739fmovsd_xmm [r14], x0
    001d73a4movsd_xmm x0, [rbp-24]
    001d73a9movsd_xmm [r14+8], x0
    001d73afjmp 0x1d746d
    001d73b4
    001d73b4loc_1d73b4:
    001d73b4ucomisd x4, [rip-0x14401c]
    001d73bcjbe 0x1d73e9
    001d73beadd eax, 1
    001d73c1addsd x1, [rip-0x144021]
    001d73c9
    001d73c9loc_1d73c9:
    001d73c9movsd_xmm x2, [rip-0x144049]
    001d73d1mulsd x2, x1
    001d73d5addsd x0, x2
    001d73d9movsd_xmm x3, [rip-0x144051]
    001d73e1mulsd x3, x1
    001d73e5movapd x2, x0
    001d73e9
    001d73e9loc_1d73e9:
    001d73e9movapd x0, x2
    001d73edsubsd x0, x3
    001d73f1movsd_xmm [r14], x0
    001d73f6movq rcx, x0
    001d73fbshr rcx, 52
    001d73ffand ecx, 2047
    001d7405cmp ecx, 1008
    001d740bja 0x1d745f
    001d740dmovsd_xmm x0, [rip-0x14405d]
    001d7415mulsd x0, x1
    001d7419movapd x4, x2
    001d741dsubsd x4, x0
    001d7421movsd_xmm x3, [rip-0x144069]
    001d7429mulsd x3, x1
    001d742dsubsd x2, x4
    001d7431subsd x2, x0
    001d7435subsd x3, x2
    001d7439movapd x0, x4
    001d743dsubsd x0, x3
    001d7441movsd_xmm [r14], x0
    001d7446movq rcx, x0
    001d744bshr rcx, 56
    001d744fand ecx, 127
    001d7452cmp ecx, 60
    001d7455jbe 0x1d71a1
    001d745b
    001d745bloc_1d745b:
    001d745bmovapd x2, x4
    001d745f
    001d745floc_1d745f:
    001d745fsubsd x2, x0
    001d7463subsd x2, x3
    001d7467movsd_xmm [r14+8], x2
    001d746d
    001d746dloc_1d746d:
    001d746dadd rsp, 64
    001d7471pop rbx
    001d7472pop r14
    001d7474pop rbp
    001d7475ret
    001d7476
    001d7476loc_1d7476:
    001d7476addsd x0, [rip-0x144046]
    001d747emovsd_xmm x1, [rip-0x1440f6]
    001d7486movapd x2, x0
    001d748aaddsd x2, x1
    001d748emovsd_xmm [r14], x2
    001d7493subsd x0, x2
    001d7497addsd x0, x1
    001d749bmovsd_xmm [r14+8], x0
    001d74a1mov eax, -1
    001d74a6jmp 0x1d746d
    001d74a8
    001d74a8loc_1d74a8:
    001d74a8addsd x0, [rip-0x144098]
    001d74b0movsd_xmm x1, [rip-0x144098]
    001d74b8movapd x2, x0
    001d74bcaddsd x2, x1
    001d74c0movsd_xmm [r14], x2
    001d74c5subsd x0, x2
    001d74c9addsd x0, x1
    001d74cdmovsd_xmm [r14+8], x0
    001d74d3mov eax, -2
    001d74d8jmp 0x1d746d
    001d74da
    001d74daloc_1d74da:
    001d74daaddsd x0, [rip-0x1440ea]
    001d74e2movsd_xmm x1, [rip-0x1440ea]
    001d74eamovapd x2, x0
    001d74eeaddsd x2, x1
    001d74f2movsd_xmm [r14], x2
    001d74f7subsd x0, x2
    001d74fbaddsd x0, x1
    001d74ffmovsd_xmm [r14+8], x0
    001d7505mov eax, -3
    001d750ajmp 0x1d746d
    001d750f
    001d750floc_1d750f:
    001d750faddsd x0, [rip-0x14413f]
    001d7517movsd_xmm x1, [rip-0x14413f]
    001d751fmovapd x2, x0
    001d7523addsd x2, x1
    001d7527movsd_xmm [r14], x2
    001d752csubsd x0, x2
    001d7530addsd x0, x1
    001d7534movsd_xmm [r14+8], x0
    001d753amov eax, -4
    001d753fjmp 0x1d746d
    001d7544
    001d7544loc_1d7544:
    001d7544movhpd x0, [rbp-24]
    001d7549xorpd x0, [rip-0x143981]
    001d7551movupd [r14], x0
    001d7556neg eax
    001d7558jmp 0x1d746d
    001d6fa0
    001d755d
    001d755d // align 0x10
    001d7560
    001d7560__sinx:
    001d7560push rbp
    001d7561mov rbp, rsp
    001d7564push r15
    001d7566push r14
    001d7568push rbx
    001d7569sub rsp, 56
    001d756dmov r15, 0x8000000000000000
    001d7577mov eax, [rbp+24]
    001d757amov rdx, [rbp+16]
    001d757emov edi, eax
    001d7580mov r14, 0x7fff000000000000
    001d758aand di, 32767
    001d758fjne 0x1d75a1
    001d7591xor esi, esi
    001d7593mov ecx, 0
    001d7598test rdx, rdx
    001d759bje 0x1d7625
    001d75a1
    001d75a1loc_1d75a1:
    001d75a1movzx ecx, di
    001d75a4cmp ecx, 32767
    001d75aajne 0x1d75bf
    001d75acmov rsi, rdx
    001d75afshl rsi, 49
    001d75b3shr rdx, 15
    001d75b7or rdx, r14
    001d75bamov rcx, rdx
    001d75bdjmp 0x1d7625
    001d75bf
    001d75bfloc_1d75bf:
    001d75bftest rdx, rdx
    001d75c2js 0x1d75d0
    001d75c4je 0x1d75eb
    001d75c6bsr rsi, rdx
    001d75caxor rsi, 63
    001d75cejmp 0x1d75f0
    001d75d0
    001d75d0loc_1d75d0:
    001d75d0lea rsi, [r15-1]
    001d75d4and rdx, rsi
    001d75d7mov rsi, rdx
    001d75dashl rsi, 49
    001d75deshr rdx, 15
    001d75e2shl rcx, 48
    001d75e6or rcx, rdx
    001d75e9jmp 0x1d7625
    001d75eb
    001d75ebloc_1d75eb:
    001d75ebmov esi, 64
    001d75f0
    001d75f0loc_1d75f0:
    001d75f0mov ecx, esi
    001d75f2add cl, 50
    001d75f5xor edi, edi
    001d75f7shld rdi, rdx, cl
    001d75fbshl rdx, cl
    001d75fexor ebx, ebx
    001d7600test cl, 64
    001d7603cmovne rdi, rdx
    001d7607cmovne rdx, rbx
    001d760bmov rbx, 0x1000000000000
    001d7615xor rbx, rdi
    001d7618lea ecx, [rsi+1]
    001d761bshl rcx, 48
    001d761for rcx, rbx
    001d7622mov rsi, rdx
    001d7625
    001d7625loc_1d7625:
    001d7625and eax, 32768
    001d762ashl rax, 48
    001d762eor rax, rcx
    001d7631mov [rbp-80], rsi
    001d7635mov [rbp-72], rax
    001d7639movaps x0, [rbp-80]
    001d763dcall sinq
    001d7642movaps [rbp-64], x0
    001d7646mov rdi, [rbp-64]
    001d764amov rax, [rbp-56]
    001d764emov rbx, 0x7fffffffffffffff
    001d7658mov rsi, rax
    001d765bshld rsi, rdi, 15
    001d7660and rbx, rax
    001d7663mov rcx, rsi
    001d7666or rcx, r15
    001d7669mov rdx, rdi
    001d766cneg rdx
    001d766fsbb r14, rbx
    001d7672mov dx, 32767
    001d7676jb 0x1d76ea
    001d7678shr rbx, 48
    001d767cmov edx, ebx
    001d767emov rbx, 0x1ffffffffffff
    001d7688and rdi, rbx
    001d768bmov rbx, 0x1000000000001
    001d7695cmp rdi, rbx
    001d7698jb 0x1d76b4
    001d769amov rsi, rcx
    001d769dadd rsi, 1
    001d76a1adc dx, 0
    001d76a5xor esi, esi
    001d76a7add rcx, 1
    001d76abcmove rsi, r15
    001d76afor rcx, rsi
    001d76b2jmp 0x1d76dc
    001d76b4
    001d76b4loc_1d76b4:
    001d76b4mov rbx, 0x1000000000000
    001d76becmp rdi, rbx
    001d76c1jne 0x1d76dc
    001d76c3and esi, 1
    001d76c6mov rdi, rcx
    001d76c9add rdi, rsi
    001d76ccadc dx, 0
    001d76d0xor edi, edi
    001d76d2add rcx, rsi
    001d76d5cmovb rdi, r15
    001d76d9or rcx, rdi
    001d76dc
    001d76dcloc_1d76dc:
    001d76dcadd r15, -1
    001d76e0and r15, rcx
    001d76e3test dx, dx
    001d76e6cmove rcx, r15
    001d76ea
    001d76ealoc_1d76ea:
    001d76eashr rax, 48
    001d76eeand eax, 32768
    001d76f3or edx, eax
    001d76f5mov [rbp-48], rcx
    001d76f9mov [rbp-40], dx
    001d76fdfld [rbp-48]
    001d7700add rsp, 56
    001d7704pop rbx
    001d7705pop r14
    001d7707pop r15
    001d7709pop rbp
    001d770aret
    001d7560
    001d770b
    001d770b // align 0x10
    001d7710
    001d7710sinq:
    001d7710push rbp
    001d7711mov rbp, rsp
    001d7714push rbx
    001d7715sub rsp, 40
    001d7719movaps [rbp-48], x0
    001d771dmov rdi, [rbp-48]
    001d7721mov rdx, [rbp-40]
    001d7725mov rcx, 0x7fffffffffffffff
    001d772fand rcx, rdx
    001d7732mov rax, 0xc3ff000000000000
    001d773cadd rax, rcx
    001d773fmov rsi, 0xbc01000000000000
    001d7749add rsi, rcx
    001d774ccmp rax, rsi
    001d774fjae 0x1d7790
    001d7751mov rcx, 0x4000000000000000
    001d775bmov rax, rdx
    001d775eshld rax, rdi, 4
    001d7763lea rsi, [rax+rcx]
    001d7767mov rbx, 0xfffffffffffffff
    001d7771and rbx, rdi
    001d7774mov rdi, 0x800000000000000
    001d777ecmp rbx, rdi
    001d7781jbe 0x1d77c9
    001d7783lea rsi, [rcx+rax]
    001d7787add rsi, 1
    001d778bjmp 0x1d78a1
    001d7790
    001d7790loc_1d7790:
    001d7790mov rax, rdi
    001d7793neg rax
    001d7796mov rax, 0x7fff000000000000
    001d77a0sbb rax, rcx
    001d77a3jae 0x1d77da
    001d77a5shrd rdi, rdx, 60
    001d77aamov rax, 0x7ffffffffffff
    001d77b4and rax, rdi
    001d77b7mov rsi, 0x7ff8000000000000
    001d77c1or rsi, rax
    001d77c4jmp 0x1d78a1
    001d77c9
    001d77c9loc_1d77c9:
    001d77c9jne 0x1d78a1
    001d77cf
    001d77cfloc_1d77cf:
    001d77cfand eax, 1
    001d77d2add rsi, rax
    001d77d5jmp 0x1d78a1
    001d77da
    001d77daloc_1d77da:
    001d77dashr rcx, 48
    001d77decmp ecx, 17406
    001d77e4jbe 0x1d77f9
    001d77e6mov rsi, 0x7fefffffffffffff
    001d77f0add rsi, 1
    001d77f4jmp 0x1d78a1
    001d77f9
    001d77f9loc_1d77f9:
    001d77f9mov eax, 15361
    001d77fesub eax, ecx
    001d7800cmp eax, 112
    001d7803jbe 0x1d780c
    001d7805xor esi, esi
    001d7807jmp 0x1d78a1
    001d780c
    001d780cloc_1d780c:
    001d780cmov rbx, 0xffffffffffff
    001d7816and rbx, rdx
    001d7819mov rsi, 0x1000000000000
    001d7823or rsi, rbx
    001d7826add cl, -1
    001d7829mov r8, rsi
    001d782cshld r8, rdi, cl
    001d7830mov rbx, rdi
    001d7833shl rbx, cl
    001d7836xor r9l, r9l
    001d7839test cl, 64
    001d783ccmovne r8, rbx
    001d7840cmovne rbx, r9
    001d7844xor r10l, r10l
    001d7847or rbx, r8
    001d784asetne r10b
    001d784emov ecx, eax
    001d7850shrd rdi, rsi, cl
    001d7854shr rsi, cl
    001d7857test al, 64
    001d7859cmovne rdi, rsi
    001d785dcmovne rsi, r9
    001d7861shld rsi, rdi, 4
    001d7866mov rax, 0xfffffffffffffff
    001d7870and rax, rdi
    001d7873or rax, r10
    001d7876mov rcx, 0x800000000000001
    001d7880cmp rax, rcx
    001d7883jb 0x1d788b
    001d7885add rsi, 1
    001d7889jmp 0x1d78a1
    001d788b
    001d788bloc_1d788b:
    001d788bmov rcx, 0x800000000000000
    001d7895cmp rax, rcx
    001d7898jne 0x1d78a1
    001d789amov eax, esi
    001d789cjmp 0x1d77cf
    001d78a1
    001d78a1loc_1d78a1:
    001d78a1mov rbx, 0x8000000000000000
    001d78aband rdx, rbx
    001d78aeor rdx, rsi
    001d78b1movq x0, rdx
    001d78b6call sin
    001d78bbmovq rax, x0
    001d78c0lea rdx, [rbx-1]
    001d78c4and rdx, rax
    001d78c7mov rcx, 0xfff0000000000000
    001d78d1add rcx, rdx
    001d78d4shr rcx, 53
    001d78d8cmp ecx, 1022
    001d78deja 0x1d78fa
    001d78e0mov rcx, rdx
    001d78e3shl rcx, 60
    001d78e7shr rdx, 4
    001d78ebmov rsi, 0x3c00000000000000
    001d78f5add rsi, rdx
    001d78f8jmp 0x1d7977
    001d78fa
    001d78faloc_1d78fa:
    001d78famov rcx, rdx
    001d78fdshr rcx, 52
    001d7901cmp ecx, 2047
    001d7907jb 0x1d7926
    001d7909mov rcx, rax
    001d790cshl rcx, 60
    001d7910mov rdx, rax
    001d7913shr rdx, 4
    001d7917mov rsi, 0x7fff000000000000
    001d7921or rsi, rdx
    001d7924jmp 0x1d7977
    001d7926
    001d7926loc_1d7926:
    001d7926test rdx, rdx
    001d7929je 0x1d7973
    001d792bbsr rcx, rdx
    001d792fxor rcx, 63
    001d7933lea edi, [rcx+117]
    001d7936add cl, 49
    001d7939xor esi, esi
    001d793bshld rsi, rdx, cl
    001d793fand edi, 127
    001d7942xor r8l, r8l
    001d7945shl rdx, cl
    001d7948test cl, 64
    001d794bcmovne rsi, rdx
    001d794fcmovne rdx, r8
    001d7953mov rcx, 0x1000000000000
    001d795dxor rcx, rsi
    001d7960mov esi, 15361
    001d7965sub esi, edi
    001d7967shl rsi, 48
    001d796bor rsi, rcx
    001d796emov rcx, rdx
    001d7971jmp 0x1d7977
    001d7973
    001d7973loc_1d7973:
    001d7973xor ecx, ecx
    001d7975xor esi, esi
    001d7977
    001d7977loc_1d7977:
    001d7977and rax, rbx
    001d797aor rax, rsi
    001d797dmov [rbp-32], rcx
    001d7981mov [rbp-24], rax
    001d7985movaps x0, [rbp-32]
    001d7989add rsp, 40
    001d798dpop rbx
    001d798epop rbp
    001d798fret
    001d7710
    001d7990
    001d7990sinl:
    001d7990push rbp
    001d7991mov rbp, rsp
    001d7994pop rbp
    001d7995jmp 0x1d7560
    001d7990
    001d799a
    001d799a // align 0x10
    001d79a0
    001d79a0cosf:
    001d79a0push rbp
    001d79a1mov rbp, rsp
    001d79a4push rbx
    001d79a5sub rsp, 24
    001d79a9movd ebx, x0
    001d79admov eax, ebx
    001d79afand eax, 0x7fffffff
    001d79b4cmp eax, 0x3f490fda
    001d79b9ja 0x1d79d5
    001d79bbcmp eax, 0x39800000
    001d79c0jae 0x1d7a60
    001d79c6movss x0, [rip-0x14486e]
    001d79ceadd rsp, 24
    001d79d2pop rbx
    001d79d3pop rbp
    001d79d4ret
    001d79d5
    001d79d5loc_1d79d5:
    001d79d5cmp eax, 0x407b53d1
    001d79daja 0x1d7ab5
    001d79e0cvtss2sd x0, x0
    001d79e4cmp eax, 0x4016cbe4
    001d79e9jb 0x1d7adc
    001d79efxor eax, eax
    001d79f1test ebx, ebx
    001d79f3setns al
    001d79f6lea rcx, [rip-0x143dcd]
    001d79fdaddsd x0, [rcx+8*rax]
    001d7a02
    001d7a02loc_1d7a02:
    001d7a02mulsd x0, x0
    001d7a06movapd x1, x0
    001d7a0amovsd_xmm x2, [rip-0x144582]
    001d7a12mulsd x2, x0
    001d7a16addsd x2, [rip-0x144586]
    001d7a1emovsd_xmm x3, [rip-0x144586]
    001d7a26mulsd x3, x0
    001d7a2aaddsd x3, [rip-0x1445b2]
    001d7a32mulsd x1, x0
    001d7a36mulsd x0, x1
    001d7a3amulsd x1, [rip-0x14459a]
    001d7a42addsd x1, x3
    001d7a46mulsd x0, x2
    001d7a4aaddsd x0, x1
    001d7a4ecvtsd2ss x0, x0
    001d7a52xorps x0, [rip-0x143e69]
    001d7a59add rsp, 24
    001d7a5dpop rbx
    001d7a5epop rbp
    001d7a5fret
    001d7a60
    001d7a60loc_1d7a60:
    001d7a60cvtss2sd x0, x0
    001d7a64
    001d7a64loc_1d7a64:
    001d7a64mulsd x0, x0
    001d7a68movapd x1, x0
    001d7a6cmulsd x1, x0
    001d7a70movsd_xmm x2, [rip-0x1445e8]
    001d7a78mulsd x2, x0
    001d7a7caddsd x2, [rip-0x1445ec]
    001d7a84movsd_xmm x3, [rip-0x1445ec]
    001d7a8cmulsd x3, x0
    001d7a90addsd x3, [rip-0x144618]
    001d7a98mulsd x0, x1
    001d7a9cmulsd x1, [rip-0x1445fc]
    001d7aa4addsd x1, x3
    001d7aa8mulsd x0, x2
    001d7aacaddsd x0, x1
    001d7ab0jmp 0x1d7c3a
    001d7ab5
    001d7ab5loc_1d7ab5:
    001d7ab5cmp eax, 0x40e231d5
    001d7abaja 0x1d7af1
    001d7abccmp eax, 0x40afede0
    001d7ac1jb 0x1d7b03
    001d7ac3xor eax, eax
    001d7ac5test ebx, ebx
    001d7ac7setns al
    001d7acacvtss2sd x0, x0
    001d7acelea rcx, [rip-0x143eb5]
    001d7ad5addsd x0, [rcx+8*rax]
    001d7adajmp 0x1d7a64
    001d7adc
    001d7adcloc_1d7adc:
    001d7adctest ebx, ebx
    001d7adejs 0x1d7b89
    001d7ae4movsd_xmm x1, [rip-0x144634]
    001d7aecjmp 0x1d7bee
    001d7af1
    001d7af1loc_1d7af1:
    001d7af1cmp eax, 0x7f800000
    001d7af6jb 0x1d7b1c
    001d7af8subss x0, x0
    001d7afcadd rsp, 24
    001d7b00pop rbx
    001d7b01pop rbp
    001d7b02ret
    001d7b03
    001d7b03loc_1d7b03:
    001d7b03cvtss2sd x0, x0
    001d7b07test ebx, ebx
    001d7b09js 0x1d7be6
    001d7b0faddsd x0, [rip-0x144667]
    001d7b17jmp 0x1d7c91
    001d7b1c
    001d7b1cloc_1d7b1c:
    001d7b1ccmp eax, 0x4dc90fda
    001d7b21ja 0x1d7b96
    001d7b23cvtss2sd x2, x0
    001d7b27movsd_xmm x1, [rip-0x1446e7]
    001d7b2fmulsd x1, x2
    001d7b33addsd x1, [rip-0x1446eb]
    001d7b3baddsd x1, [rip-0x1446eb]
    001d7b43cvttsd2si eax, x1
    001d7b47movsd_xmm x3, [rip-0x1446ef]
    001d7b4fmulsd x3, x1
    001d7b53addsd x3, x2
    001d7b57movsd_xmm x0, [rip-0x1446f7]
    001d7b5fmulsd x0, x1
    001d7b63addsd x0, x3
    001d7b67movsd_xmm x3, [rip-0x1446ff]
    001d7b6fucomisd x3, x0
    001d7b73jbe 0x1d7c45
    001d7b79addsd x1, [rip-0x1446f9]
    001d7b81add eax, -1
    001d7b84jmp 0x1d7c5a
    001d7b89
    001d7b89loc_1d7b89:
    001d7b89addsd x0, [rip-0x1446d9]
    001d7b91jmp 0x1d7c91
    001d7b96
    001d7b96loc_1d7b96:
    001d7b96mov edx, eax
    001d7b98shr edx, 23
    001d7b9badd edx, -150
    001d7ba1mov ecx, edx
    001d7ba3shl ecx, 23
    001d7ba6sub eax, ecx
    001d7ba8movd x0, eax
    001d7baccvtss2sd x0, x0
    001d7bb0movsd_xmm [rbp-16], x0
    001d7bb5lea rdi, [rbp-16]
    001d7bb9lea rsi, [rbp-24]
    001d7bbdmov ecx, 1
    001d7bc2xor r8l, r8l
    001d7bc5call compiler_rt.rem_pio2_large.rem_pio2_large
    001d7bcamovsd_xmm x0, [rbp-24]
    001d7bcftest ebx, ebx
    001d7bd1jns 0x1d7c7a
    001d7bd7xorpd x0, [rip-0x143fff]
    001d7bdfneg eax
    001d7be1jmp 0x1d7c7a
    001d7be6
    001d7be6loc_1d7be6:
    001d7be6movsd_xmm x1, [rip-0x14473e]
    001d7bee
    001d7beeloc_1d7bee:
    001d7beesubsd x1, x0
    001d7bf2movapd x0, x1
    001d7bf6mulsd x0, x1
    001d7bfamovapd x2, x0
    001d7bfemovapd x3, x1
    001d7c02mulsd x3, x0
    001d7c06unpcklpd x0, x0
    001d7c0amulpd x0, [rip-0x144012]
    001d7c12mulsd x2, x2
    001d7c16addpd x0, [rip-0x14400e]
    001d7c1emulsd x2, x3
    001d7c22unpcklpd x2, x3
    001d7c26mulpd x2, x0
    001d7c2amovapd x0, x2
    001d7c2eunpckhpd x0, x2
    001d7c32addsd x0, x1
    001d7c36addsd x0, x2
    001d7c3a
    001d7c3aloc_1d7c3a:
    001d7c3acvtsd2ss x0, x0
    001d7c3eadd rsp, 24
    001d7c42pop rbx
    001d7c43pop rbp
    001d7c44ret
    001d7c45
    001d7c45loc_1d7c45:
    001d7c45ucomisd x0, [rip-0x1447d5]
    001d7c4djbe 0x1d7c7a
    001d7c4faddsd x1, [rip-0x1447d7]
    001d7c57add eax, 1
    001d7c5a
    001d7c5aloc_1d7c5a:
    001d7c5amovsd_xmm x0, [rip-0x144802]
    001d7c62mulsd x0, x1
    001d7c66addsd x2, x0
    001d7c6amulsd x1, [rip-0x14480a]
    001d7c72addsd x1, x2
    001d7c76movapd x0, x1
    001d7c7a
    001d7c7aloc_1d7c7a:
    001d7c7aand eax, 3
    001d7c7dje 0x1d7a64
    001d7c83cmp eax, 1
    001d7c86je 0x1d7ce7
    001d7c88cmp eax, 2
    001d7c8bje 0x1d7a02
    001d7c91
    001d7c91loc_1d7c91:
    001d7c91movapd x1, x0
    001d7c95mulsd x1, x0
    001d7c99movapd x2, x1
    001d7c9dmovapd x3, x0
    001d7ca1mulsd x3, x1
    001d7ca5unpcklpd x1, x1
    001d7ca9mulpd x1, [rip-0x1440b1]
    001d7cb1mulsd x2, x2
    001d7cb5addpd x1, [rip-0x1440ad]
    001d7cbdmulsd x2, x3
    001d7cc1unpcklpd x2, x3
    001d7cc5mulpd x2, x1
    001d7cc9movapd x1, x2
    001d7ccdunpckhpd x1, x2
    001d7cd1addsd x1, x0
    001d7cd5addsd x1, x2
    001d7cd9
    001d7cd9loc_1d7cd9:
    001d7cd9xorps x0, x0
    001d7cdccvtsd2ss x0, x1
    001d7ce0add rsp, 24
    001d7ce4pop rbx
    001d7ce5pop rbp
    001d7ce6ret
    001d7ce7
    001d7ce7loc_1d7ce7:
    001d7ce7movapd x1, [rip-0x14410f]
    001d7cefxorpd x1, x0
    001d7cf3movapd x2, x0
    001d7cf7mulsd x2, x0
    001d7cfbmovapd x3, x2
    001d7cffmulsd x1, x2
    001d7d03unpcklpd x2, x2
    001d7d07mulpd x2, [rip-0x14410f]
    001d7d0fmulsd x3, x3
    001d7d13addpd x2, [rip-0x14410b]
    001d7d1bmulsd x3, x1
    001d7d1funpcklpd x3, x1
    001d7d23mulpd x3, x2
    001d7d27movapd x1, x3
    001d7d2bunpckhpd x1, x3
    001d7d2fsubsd x1, x0
    001d7d33addsd x1, x3
    001d7d37jmp 0x1d7cd9
    001d79a0
    001d7d39
    001d7d39 // align 0x10
    001d7d40
    001d7d40cos:
    001d7d40push rbp
    001d7d41mov rbp, rsp
    001d7d44sub rsp, 32
    001d7d48movq rax, x0
    001d7d4dshr rax, 32
    001d7d51and eax, 0x7fffffff
    001d7d56cmp rax, 0x3fe921fb
    001d7d5cja 0x1d7d73
    001d7d5ecmp eax, 0x3e46a09e
    001d7d63jae 0x1d7d88
    001d7d65movsd_xmm x0, [rip-0x14489d]
    001d7d6dadd rsp, 32
    001d7d71pop rbp
    001d7d72ret
    001d7d73
    001d7d73loc_1d7d73:
    001d7d73cmp eax, 0x7ff00000
    001d7d78jb 0x1d7e32
    001d7d7esubsd x0, x0
    001d7d82add rsp, 32
    001d7d86pop rbp
    001d7d87ret
    001d7d88
    001d7d88loc_1d7d88:
    001d7d88movapd x1, x0
    001d7d8cmulsd x1, x0
    001d7d90movapd x2, x1
    001d7d94mulsd x2, x1
    001d7d98movsd_xmm x3, [rip-0x1448b8]
    001d7da0mulsd x3, x1
    001d7da4addsd x3, [rip-0x1448ec]
    001d7dacmulsd x3, x1
    001d7db0addsd x3, [rip-0x1448c8]
    001d7db8mulsd x3, x1
    001d7dbcmovsd_xmm x4, [rip-0x1448cc]
    001d7dc4mulsd x4, x1
    001d7dc8addsd x4, [rip-0x1448d0]
    001d7dd0mulsd x2, x2
    001d7dd4mulsd x4, x1
    001d7dd8addsd x4, [rip-0x1448d8]
    001d7de0mulsd x4, x2
    001d7de4addsd x4, x3
    001d7de8mulsd x4, x1
    001d7decunpcklpd x1, x0
    001d7df0movsd_xmm x0, [rip-0x144930]
    001d7df8mulpd x0, x1
    001d7dfcmovapd x1, [rip-0x144164]
    001d7e04unpcklpd x1, x4
    001d7e08subpd x1, x0
    001d7e0cmovsd_xmm x2, [rip-0x144944]
    001d7e14subsd x2, x1
    001d7e18subsd x2, x0
    001d7e1cmovapd x0, x1
    001d7e20unpckhpd x0, x1
    001d7e24addsd x0, x2
    001d7e28addsd x0, x1
    001d7e2cadd rsp, 32
    001d7e30pop rbp
    001d7e31ret
    001d7e32
    001d7e32loc_1d7e32:
    001d7e32lea rdi, [rbp-16]
    001d7e36call compiler_rt.rem_pio2.rem_pio2
    001d7e3band eax, 3
    001d7e3eje 0x1d7f0d
    001d7e44cmp eax, 1
    001d7e47je 0x1d7fbc
    001d7e4dcmp eax, 2
    001d7e50jne 0x1d8050
    001d7e56movapd x0, [rbp-16]
    001d7e5bmovapd x1, x0
    001d7e5funpcklpd x1, x0
    001d7e63mulpd x1, x0
    001d7e67movapd x0, x1
    001d7e6bmulpd x0, x1
    001d7e6fmulpd x0, x0
    001d7e73movapd x2, x1
    001d7e77unpcklpd x2, x1
    001d7e7bmovapd x3, [rip-0x144243]
    001d7e83mulpd x3, x2
    001d7e87movsd_xmm x4, [rip-0x1449cf]
    001d7e8faddpd x4, x3
    001d7e93movapd x5, [rip-0x14424b]
    001d7e9bsubpd x5, x3
    001d7e9fmovsd_xmm x5, x4
    001d7ea3mulpd x5, x2
    001d7ea7addpd x5, [rip-0x14424f]
    001d7eafmovapd x2, x1
    001d7eb3unpcklpd x2, x0
    001d7eb7mulpd x2, x5
    001d7ebbmovsd_xmm x0, [rip-0x1449fb]
    001d7ec3mulsd x0, x1
    001d7ec7movsd_xmm x3, [rip-0x1449ff]
    001d7ecfmovapd x4, x3
    001d7ed3subsd x4, x0
    001d7ed7subsd x3, x4
    001d7edbsubsd x3, x0
    001d7edfmovapd x0, x2
    001d7ee3unpckhpd x0, x2
    001d7ee7addsd x0, x2
    001d7eebmulsd x0, x1
    001d7eefunpckhpd x1, x1
    001d7ef3subsd x0, x1
    001d7ef7addsd x0, x3
    001d7efbaddsd x0, x4
    001d7effxorpd x0, [rip-0x144297]
    001d7f07add rsp, 32
    001d7f0bpop rbp
    001d7f0cret
    001d7f0d
    001d7f0dloc_1d7f0d:
    001d7f0dmovapd x0, [rbp-16]
    001d7f12movapd x1, x0
    001d7f16unpcklpd x1, x0
    001d7f1amulpd x1, x0
    001d7f1emovapd x0, x1
    001d7f22mulpd x0, x1
    001d7f26mulpd x0, x0
    001d7f2amovapd x2, x1
    001d7f2eunpcklpd x2, x1
    001d7f32movapd x3, [rip-0x1442fa]
    001d7f3amulpd x3, x2
    001d7f3emovsd_xmm x4, [rip-0x144a86]
    001d7f46addpd x4, x3
    001d7f4amovapd x5, [rip-0x144302]
    001d7f52subpd x5, x3
    001d7f56movsd_xmm x5, x4
    001d7f5amulpd x5, x2
    001d7f5eaddpd x5, [rip-0x144306]
    001d7f66movapd x2, x1
    001d7f6aunpcklpd x2, x0
    001d7f6emulpd x2, x5
    001d7f72movsd_xmm x0, [rip-0x144ab2]
    001d7f7amulsd x0, x1
    001d7f7emovsd_xmm x3, [rip-0x144ab6]
    001d7f86movapd x4, x3
    001d7f8asubsd x4, x0
    001d7f8esubsd x3, x4
    001d7f92subsd x3, x0
    001d7f96movapd x0, x2
    001d7f9aunpckhpd x0, x2
    001d7f9eaddsd x0, x2
    001d7fa2mulsd x0, x1
    001d7fa6unpckhpd x1, x1
    001d7faasubsd x0, x1
    001d7faeaddsd x0, x3
    001d7fb2addsd x0, x4
    001d7fb6add rsp, 32
    001d7fbapop rbp
    001d7fbbret
    001d7fbc
    001d7fbcloc_1d7fbc:
    001d7fbcmovsd_xmm x0, [rbp-16]
    001d7fc1movapd x1, x0
    001d7fc5mulsd x1, x0
    001d7fc9movapd x2, x1
    001d7fcdmulsd x2, x1
    001d7fd1mulsd x2, x1
    001d7fd5movapd x3, x1
    001d7fd9unpcklpd x3, x1
    001d7fddmulpd x3, [rip-0x144365]
    001d7fe5addpd x3, [rip-0x14435d]
    001d7fedunpcklpd x2, x1
    001d7ff1mulpd x2, x3
    001d7ff5movapd x3, x2
    001d7ff9unpckhpd x3, x2
    001d7ffdaddsd x3, [rip-0x144b2d]
    001d8005movsd_xmm x4, [rbp-8]
    001d800aaddsd x3, x2
    001d800emovapd x2, x0
    001d8012mulsd x2, x1
    001d8016movsd_xmm x5, [rip-0x144b56]
    001d801emulsd x5, x4
    001d8022mulsd x3, x2
    001d8026subsd x5, x3
    001d802amulsd x5, x1
    001d802esubsd x5, x4
    001d8032mulsd x2, [rip-0x144b5a]
    001d803aaddsd x2, x5
    001d803esubsd x0, x2
    001d8042xorpd x0, [rip-0x1443da]
    001d804aadd rsp, 32
    001d804epop rbp
    001d804fret
    001d8050
    001d8050loc_1d8050:
    001d8050movsd_xmm x0, [rbp-16]
    001d8055movsd_xmm x1, [rbp-8]
    001d805amovapd x2, x0
    001d805emulsd x2, x0
    001d8062movapd x3, x2
    001d8066mulsd x3, x2
    001d806amovapd x4, x2
    001d806eunpcklpd x4, x2
    001d8072mulpd x4, [rip-0x1443fa]
    001d807aaddpd x4, [rip-0x1443f2]
    001d8082mulsd x3, x2
    001d8086unpcklpd x3, x2
    001d808amulpd x3, x4
    001d808emovapd x4, x3
    001d8092unpckhpd x4, x3
    001d8096addsd x4, [rip-0x144bc6]
    001d809eaddsd x4, x3
    001d80a2movapd x3, x0
    001d80a6mulsd x3, x2
    001d80aamovsd_xmm x5, [rip-0x144bea]
    001d80b2mulsd x5, x1
    001d80b6mulsd x4, x3
    001d80basubsd x5, x4
    001d80bemulsd x5, x2
    001d80c2subsd x5, x1
    001d80c6mulsd x3, [rip-0x144bee]
    001d80ceaddsd x3, x5
    001d80d2subsd x0, x3
    001d80d6add rsp, 32
    001d80dapop rbp
    001d80dbret
    001d7d40
    001d80dc
    001d80dc // align 0x10
    001d80e0
    001d80e0__cosx:
    001d80e0push rbp
    001d80e1mov rbp, rsp
    001d80e4push r15
    001d80e6push r14
    001d80e8push rbx
    001d80e9sub rsp, 56
    001d80edmov r15, 0x8000000000000000
    001d80f7mov eax, [rbp+24]
    001d80famov rdx, [rbp+16]
    001d80femov edi, eax
    001d8100mov r14, 0x7fff000000000000
    001d810aand di, 32767
    001d810fjne 0x1d8121
    001d8111xor esi, esi
    001d8113mov ecx, 0
    001d8118test rdx, rdx
    001d811bje 0x1d81a5
    001d8121
    001d8121loc_1d8121:
    001d8121movzx ecx, di
    001d8124cmp ecx, 32767
    001d812ajne 0x1d813f
    001d812cmov rsi, rdx
    001d812fshl rsi, 49
    001d8133shr rdx, 15
    001d8137or rdx, r14
    001d813amov rcx, rdx
    001d813djmp 0x1d81a5
    001d813f
    001d813floc_1d813f:
    001d813ftest rdx, rdx
    001d8142js 0x1d8150
    001d8144je 0x1d816b
    001d8146bsr rsi, rdx
    001d814axor rsi, 63
    001d814ejmp 0x1d8170
    001d8150
    001d8150loc_1d8150:
    001d8150lea rsi, [r15-1]
    001d8154and rdx, rsi
    001d8157mov rsi, rdx
    001d815ashl rsi, 49
    001d815eshr rdx, 15
    001d8162shl rcx, 48
    001d8166or rcx, rdx
    001d8169jmp 0x1d81a5
    001d816b
    001d816bloc_1d816b:
    001d816bmov esi, 64
    001d8170
    001d8170loc_1d8170:
    001d8170mov ecx, esi
    001d8172add cl, 50
    001d8175xor edi, edi
    001d8177shld rdi, rdx, cl
    001d817bshl rdx, cl
    001d817exor ebx, ebx
    001d8180test cl, 64
    001d8183cmovne rdi, rdx
    001d8187cmovne rdx, rbx
    001d818bmov rbx, 0x1000000000000
    001d8195xor rbx, rdi
    001d8198lea ecx, [rsi+1]
    001d819bshl rcx, 48
    001d819for rcx, rbx
    001d81a2mov rsi, rdx
    001d81a5
    001d81a5loc_1d81a5:
    001d81a5and eax, 32768
    001d81aashl rax, 48
    001d81aeor rax, rcx
    001d81b1mov [rbp-80], rsi
    001d81b5mov [rbp-72], rax
    001d81b9movaps x0, [rbp-80]
    001d81bdcall cosq
    001d81c2movaps [rbp-64], x0
    001d81c6mov rdi, [rbp-64]
    001d81camov rax, [rbp-56]
    001d81cemov rbx, 0x7fffffffffffffff
    001d81d8mov rsi, rax
    001d81dbshld rsi, rdi, 15
    001d81e0and rbx, rax
    001d81e3mov rcx, rsi
    001d81e6or rcx, r15
    001d81e9mov rdx, rdi
    001d81ecneg rdx
    001d81efsbb r14, rbx
    001d81f2mov dx, 32767
    001d81f6jb 0x1d826a
    001d81f8shr rbx, 48
    001d81fcmov edx, ebx
    001d81femov rbx, 0x1ffffffffffff
    001d8208and rdi, rbx
    001d820bmov rbx, 0x1000000000001
    001d8215cmp rdi, rbx
    001d8218jb 0x1d8234
    001d821amov rsi, rcx
    001d821dadd rsi, 1
    001d8221adc dx, 0
    001d8225xor esi, esi
    001d8227add rcx, 1
    001d822bcmove rsi, r15
    001d822for rcx, rsi
    001d8232jmp 0x1d825c
    001d8234
    001d8234loc_1d8234:
    001d8234mov rbx, 0x1000000000000
    001d823ecmp rdi, rbx
    001d8241jne 0x1d825c
    001d8243and esi, 1
    001d8246mov rdi, rcx
    001d8249add rdi, rsi
    001d824cadc dx, 0
    001d8250xor edi, edi
    001d8252add rcx, rsi
    001d8255cmovb rdi, r15
    001d8259or rcx, rdi
    001d825c
    001d825cloc_1d825c:
    001d825cadd r15, -1
    001d8260and r15, rcx
    001d8263test dx, dx
    001d8266cmove rcx, r15
    001d826a
    001d826aloc_1d826a:
    001d826ashr rax, 48
    001d826eand eax, 32768
    001d8273or edx, eax
    001d8275mov [rbp-48], rcx
    001d8279mov [rbp-40], dx
    001d827dfld [rbp-48]
    001d8280add rsp, 56
    001d8284pop rbx
    001d8285pop r14
    001d8287pop r15
    001d8289pop rbp
    001d828aret
    001d80e0
    001d828b
    001d828b // align 0x10
    001d8290
    001d8290cosq:
    001d8290push rbp
    001d8291mov rbp, rsp
    001d8294push rbx
    001d8295sub rsp, 40
    001d8299movaps [rbp-48], x0
    001d829dmov rdi, [rbp-48]
    001d82a1mov rdx, [rbp-40]
    001d82a5mov rcx, 0x7fffffffffffffff
    001d82afand rcx, rdx
    001d82b2mov rax, 0xc3ff000000000000
    001d82bcadd rax, rcx
    001d82bfmov rsi, 0xbc01000000000000
    001d82c9add rsi, rcx
    001d82cccmp rax, rsi
    001d82cfjae 0x1d8310
    001d82d1mov rcx, 0x4000000000000000
    001d82dbmov rax, rdx
    001d82deshld rax, rdi, 4
    001d82e3lea rsi, [rax+rcx]
    001d82e7mov rbx, 0xfffffffffffffff
    001d82f1and rbx, rdi
    001d82f4mov rdi, 0x800000000000000
    001d82fecmp rbx, rdi
    001d8301jbe 0x1d8349
    001d8303lea rsi, [rcx+rax]
    001d8307add rsi, 1
    001d830bjmp 0x1d8421
    001d8310
    001d8310loc_1d8310:
    001d8310mov rax, rdi
    001d8313neg rax
    001d8316mov rax, 0x7fff000000000000
    001d8320sbb rax, rcx
    001d8323jae 0x1d835a
    001d8325shrd rdi, rdx, 60
    001d832amov rax, 0x7ffffffffffff
    001d8334and rax, rdi
    001d8337mov rsi, 0x7ff8000000000000
    001d8341or rsi, rax
    001d8344jmp 0x1d8421
    001d8349
    001d8349loc_1d8349:
    001d8349jne 0x1d8421
    001d834f
    001d834floc_1d834f:
    001d834fand eax, 1
    001d8352add rsi, rax
    001d8355jmp 0x1d8421
    001d835a
    001d835aloc_1d835a:
    001d835ashr rcx, 48
    001d835ecmp ecx, 17406
    001d8364jbe 0x1d8379
    001d8366mov rsi, 0x7fefffffffffffff
    001d8370add rsi, 1
    001d8374jmp 0x1d8421
    001d8379
    001d8379loc_1d8379:
    001d8379mov eax, 15361
    001d837esub eax, ecx
    001d8380cmp eax, 112
    001d8383jbe 0x1d838c
    001d8385xor esi, esi
    001d8387jmp 0x1d8421
    001d838c
    001d838cloc_1d838c:
    001d838cmov rbx, 0xffffffffffff
    001d8396and rbx, rdx
    001d8399mov rsi, 0x1000000000000
    001d83a3or rsi, rbx
    001d83a6add cl, -1
    001d83a9mov r8, rsi
    001d83acshld r8, rdi, cl
    001d83b0mov rbx, rdi
    001d83b3shl rbx, cl
    001d83b6xor r9l, r9l
    001d83b9test cl, 64
    001d83bccmovne r8, rbx
    001d83c0cmovne rbx, r9
    001d83c4xor r10l, r10l
    001d83c7or rbx, r8
    001d83casetne r10b
    001d83cemov ecx, eax
    001d83d0shrd rdi, rsi, cl
    001d83d4shr rsi, cl
    001d83d7test al, 64
    001d83d9cmovne rdi, rsi
    001d83ddcmovne rsi, r9
    001d83e1shld rsi, rdi, 4
    001d83e6mov rax, 0xfffffffffffffff
    001d83f0and rax, rdi
    001d83f3or rax, r10
    001d83f6mov rcx, 0x800000000000001
    001d8400cmp rax, rcx
    001d8403jb 0x1d840b
    001d8405add rsi, 1
    001d8409jmp 0x1d8421
    001d840b
    001d840bloc_1d840b:
    001d840bmov rcx, 0x800000000000000
    001d8415cmp rax, rcx
    001d8418jne 0x1d8421
    001d841amov eax, esi
    001d841cjmp 0x1d834f
    001d8421
    001d8421loc_1d8421:
    001d8421mov rbx, 0x8000000000000000
    001d842band rdx, rbx
    001d842eor rdx, rsi
    001d8431movq x0, rdx
    001d8436call cos
    001d843bmovq rax, x0
    001d8440lea rdx, [rbx-1]
    001d8444and rdx, rax
    001d8447mov rcx, 0xfff0000000000000
    001d8451add rcx, rdx
    001d8454shr rcx, 53
    001d8458cmp ecx, 1022
    001d845eja 0x1d847a
    001d8460mov rcx, rdx
    001d8463shl rcx, 60
    001d8467shr rdx, 4
    001d846bmov rsi, 0x3c00000000000000
    001d8475add rsi, rdx
    001d8478jmp 0x1d84f7
    001d847a
    001d847aloc_1d847a:
    001d847amov rcx, rdx
    001d847dshr rcx, 52
    001d8481cmp ecx, 2047
    001d8487jb 0x1d84a6
    001d8489mov rcx, rax
    001d848cshl rcx, 60
    001d8490mov rdx, rax
    001d8493shr rdx, 4
    001d8497mov rsi, 0x7fff000000000000
    001d84a1or rsi, rdx
    001d84a4jmp 0x1d84f7
    001d84a6
    001d84a6loc_1d84a6:
    001d84a6test rdx, rdx
    001d84a9je 0x1d84f3
    001d84abbsr rcx, rdx
    001d84afxor rcx, 63
    001d84b3lea edi, [rcx+117]
    001d84b6add cl, 49
    001d84b9xor esi, esi
    001d84bbshld rsi, rdx, cl
    001d84bfand edi, 127
    001d84c2xor r8l, r8l
    001d84c5shl rdx, cl
    001d84c8test cl, 64
    001d84cbcmovne rsi, rdx
    001d84cfcmovne rdx, r8
    001d84d3mov rcx, 0x1000000000000
    001d84ddxor rcx, rsi
    001d84e0mov esi, 15361
    001d84e5sub esi, edi
    001d84e7shl rsi, 48
    001d84ebor rsi, rcx
    001d84eemov rcx, rdx
    001d84f1jmp 0x1d84f7
    001d84f3
    001d84f3loc_1d84f3:
    001d84f3xor ecx, ecx
    001d84f5xor esi, esi
    001d84f7
    001d84f7loc_1d84f7:
    001d84f7and rax, rbx
    001d84faor rax, rsi
    001d84fdmov [rbp-32], rcx
    001d8501mov [rbp-24], rax
    001d8505movaps x0, [rbp-32]
    001d8509add rsp, 40
    001d850dpop rbx
    001d850epop rbp
    001d850fret
    001d8290
    001d8510
    001d8510cosl:
    001d8510push rbp
    001d8511mov rbp, rsp
    001d8514pop rbp
    001d8515jmp 0x1d80e0
    001d8510
    001d851a
    001d851a // align 0x10
    001d8520
    001d8520sincosf:
    001d8520push rbp
    001d8521mov rbp, rsp
    001d8524push r15
    001d8526push r14
    001d8528push rbx
    001d8529sub rsp, 24
    001d852dmov r14, rsi
    001d8530mov r15, rdi
    001d8533movd ebx, x0
    001d8537mov eax, ebx
    001d8539and eax, 0x7fffffff
    001d853ecmp eax, 0x3f490fda
    001d8543ja 0x1d8562
    001d8545cmp eax, 0x39800000
    001d854ajae 0x1d8638
    001d8550movss [r15], x0
    001d8555movss x0, [rip-0x1453f9]
    001d855djmp 0x1d8c01
    001d8562
    001d8562loc_1d8562:
    001d8562cmp eax, 0x407b53d1
    001d8567ja 0x1d86e4
    001d856dcvtss2sd x0, x0
    001d8571cmp eax, 0x4016cbe3
    001d8576ja 0x1d8713
    001d857ctest ebx, ebx
    001d857ejs 0x1d8928
    001d8584movsd_xmm x1, [rip-0x144fe4]
    001d858csubsd x1, x0
    001d8590movapd x2, x1
    001d8594mulsd x2, x1
    001d8598movapd x0, x2
    001d859cmulsd x0, x2
    001d85a0movsd_xmm x3, [rip-0x145030]
    001d85a8mulsd x3, x2
    001d85acaddsd x3, [rip-0x145034]
    001d85b4movsd_xmm x4, [rip-0x145034]
    001d85bcmulsd x4, x2
    001d85c0addsd x4, [rip-0x145080]
    001d85c8movsd_xmm x5, [rip-0x145040]
    001d85d0mulsd x5, x0
    001d85d4addsd x5, x4
    001d85d8movapd x4, x2
    001d85dcmulsd x4, x0
    001d85e0mulsd x4, x3
    001d85e4addsd x4, x5
    001d85e8xorps x3, x3
    001d85ebcvtsd2ss x3, x4
    001d85efmovapd x4, x1
    001d85f3mulsd x4, x2
    001d85f7unpcklpd x2, x2
    001d85fbmulpd x2, [rip-0x144923]
    001d8603movss [r15], x3
    001d8608addpd x2, [rip-0x144920]
    001d8610mulsd x0, x4
    001d8614unpcklpd x0, x4
    001d8618mulpd x0, x2
    001d861cmovapd x2, x0
    001d8620unpckhpd x2, x0
    001d8624addsd x2, x1
    001d8628addsd x2, x0
    001d862cxorps x0, x0
    001d862fcvtsd2ss x0, x2
    001d8633jmp 0x1d8c01
    001d8638
    001d8638loc_1d8638:
    001d8638cvtss2sd x2, x0
    001d863cmovaps x0, x2
    001d863fmulsd x0, x2
    001d8643movapd x1, x0
    001d8647mulsd x1, x0
    001d864bmovsd_xmm x3, [rip-0x1450fb]
    001d8653mulsd x3, x0
    001d8657addsd x3, [rip-0x1450ff]
    001d865fmovapd x4, x0
    001d8663mulsd x4, x2
    001d8667movsd_xmm x5, [rip-0x145107]
    001d866fmulsd x5, x0
    001d8673addsd x5, [rip-0x14510b]
    001d867bmulsd x5, x4
    001d867faddsd x5, x2
    001d8683mulsd x4, x1
    001d8687mulsd x4, x3
    001d868baddsd x4, x5
    001d868fxorps x2, x2
    001d8692cvtsd2ss x2, x4
    001d8696movss [r15], x2
    001d869bmovsd_xmm x2, [rip-0x14512b]
    001d86a3mulsd x2, x0
    001d86a7addsd x2, [rip-0x14512f]
    001d86afmovsd_xmm x3, [rip-0x14512f]
    001d86b7mulsd x3, x0
    001d86bbaddsd x3, [rip-0x14517b]
    001d86c3mulsd x0, x1
    001d86c7mulsd x1, [rip-0x14513f]
    001d86cfaddsd x1, x3
    001d86d3mulsd x0, x2
    001d86d7addsd x0, x1
    001d86dbcvtsd2ss x0, x0
    001d86dfjmp 0x1d8c01
    001d86e4
    001d86e4loc_1d86e4:
    001d86e4cmp eax, 0x40e231d5
    001d86e9ja 0x1d87df
    001d86efcvtss2sd x0, x0
    001d86f3cmp eax, 0x40afeddf
    001d86f8ja 0x1d87f8
    001d86fetest ebx, ebx
    001d8700js 0x1d8a2f
    001d8706addsd x0, [rip-0x14516e]
    001d870ejmp 0x1d8930
    001d8713
    001d8713loc_1d8713:
    001d8713xor eax, eax
    001d8715test ebx, ebx
    001d8717setns al
    001d871alea rcx, [rip-0x144a21]
    001d8721addsd x0, [rcx+8*rax]
    001d8726movapd x1, x0
    001d872amulsd x1, x0
    001d872emovapd x2, x1
    001d8732mulsd x2, x1
    001d8736movsd_xmm x3, [rip-0x1451e6]
    001d873emulsd x3, x1
    001d8742addsd x3, [rip-0x1451ea]
    001d874amovapd x4, x0
    001d874emovsd_xmm x5, [rip-0x1451ee]
    001d8756mulsd x5, x1
    001d875aaddsd x5, [rip-0x1451f2]
    001d8762mulsd x4, x1
    001d8766mulsd x5, x4
    001d876aaddsd x5, x0
    001d876emulsd x4, x2
    001d8772mulsd x4, x3
    001d8776addsd x4, x5
    001d877axorps x0, x0
    001d877dcvtsd2ss x0, x4
    001d8781movaps x3, [rip-0x144ac8]
    001d8788xorps x0, x3
    001d878bmovss [r15], x0
    001d8790movsd_xmm x0, [rip-0x145220]
    001d8798mulsd x0, x1
    001d879caddsd x0, [rip-0x145224]
    001d87a4movsd_xmm x4, [rip-0x145224]
    001d87acmulsd x4, x1
    001d87b0addsd x4, [rip-0x145270]
    001d87b8mulsd x1, x2
    001d87bcmulsd x2, [rip-0x145234]
    001d87c4addsd x2, x4
    001d87c8mulsd x1, x0
    001d87ccaddsd x1, x2
    001d87d0xorps x0, x0
    001d87d3cvtsd2ss x0, x1
    001d87d7xorps x0, x3
    001d87dajmp 0x1d8c01
    001d87df
    001d87dfloc_1d87df:
    001d87dfcmp eax, 0x7f800000
    001d87e4jb 0x1d88b7
    001d87easubss x0, x0
    001d87eemovss [r15], x0
    001d87f3jmp 0x1d8c01
    001d87f8
    001d87f8loc_1d87f8:
    001d87f8xor eax, eax
    001d87fatest ebx, ebx
    001d87fcsetns al
    001d87fflea rcx, [rip-0x144b36]
    001d8806addsd x0, [rcx+8*rax]
    001d880bmovapd x1, x0
    001d880fmulsd x1, x0
    001d8813movapd x2, x1
    001d8817mulsd x2, x1
    001d881bmovsd_xmm x3, [rip-0x1452cb]
    001d8823mulsd x3, x1
    001d8827addsd x3, [rip-0x1452cf]
    001d882fmovapd x4, x0
    001d8833mulsd x4, x1
    001d8837movsd_xmm x5, [rip-0x1452d7]
    001d883fmulsd x5, x1
    001d8843addsd x5, [rip-0x1452db]
    001d884bmulsd x5, x4
    001d884faddsd x5, x0
    001d8853mulsd x4, x2
    001d8857mulsd x4, x3
    001d885baddsd x4, x5
    001d885fxorps x0, x0
    001d8862cvtsd2ss x0, x4
    001d8866movss [r15], x0
    001d886bmovsd_xmm x0, [rip-0x1452fb]
    001d8873mulsd x0, x1
    001d8877addsd x0, [rip-0x1452ff]
    001d887fmovsd_xmm x3, [rip-0x1452ff]
    001d8887mulsd x3, x1
    001d888baddsd x3, [rip-0x14534b]
    001d8893mulsd x1, x2
    001d8897mulsd x2, [rip-0x14530f]
    001d889faddsd x2, x3
    001d88a3mulsd x1, x0
    001d88a7addsd x1, x2
    001d88abxorps x0, x0
    001d88aecvtsd2ss x0, x1
    001d88b2jmp 0x1d8c01
    001d88b7
    001d88b7loc_1d88b7:
    001d88b7cmp eax, 0x4dc90fda
    001d88bcja 0x1d89df
    001d88c2cvtss2sd x2, x0
    001d88c6movsd_xmm x1, [rip-0x1453be]
    001d88cemulsd x1, x2
    001d88d2addsd x1, [rip-0x1453c2]
    001d88daaddsd x1, [rip-0x1453c2]
    001d88e2cvttsd2si eax, x1
    001d88e6movsd_xmm x3, [rip-0x1453c6]
    001d88eemulsd x3, x1
    001d88f2addsd x3, x2
    001d88f6movsd_xmm x0, [rip-0x1453ce]
    001d88femulsd x0, x1
    001d8902addsd x0, x3
    001d8906movsd_xmm x3, [rip-0x1453d6]
    001d890eucomisd x3, x0
    001d8912jbe 0x1d8ae6
    001d8918addsd x1, [rip-0x1453d0]
    001d8920add eax, -1
    001d8923jmp 0x1d8afb
    001d8928
    001d8928loc_1d8928:
    001d8928addsd x0, [rip-0x145388]
    001d8930
    001d8930loc_1d8930:
    001d8930movapd x2, x0
    001d8934mulsd x2, x0
    001d8938movapd x1, x2
    001d893cmulsd x1, x2
    001d8940movsd_xmm x3, [rip-0x1453d0]
    001d8948mulsd x3, x2
    001d894caddsd x3, [rip-0x1453d4]
    001d8954movsd_xmm x4, [rip-0x1453d4]
    001d895cmulsd x4, x2
    001d8960addsd x4, [rip-0x145420]
    001d8968movsd_xmm x5, [rip-0x1453e0]
    001d8970mulsd x5, x1
    001d8974addsd x5, x4
    001d8978movapd x4, x2
    001d897cmulsd x4, x1
    001d8980mulsd x4, x3
    001d8984addsd x4, x5
    001d8988xorps x3, x3
    001d898bcvtsd2ss x3, x4
    001d898fxorps x3, [rip-0x144cd6]
    001d8996movapd x4, x0
    001d899amulsd x4, x2
    001d899eunpcklpd x2, x2
    001d89a2mulpd x2, [rip-0x144cca]
    001d89aamovss [r15], x3
    001d89afaddpd x2, [rip-0x144cc7]
    001d89b7mulsd x1, x4
    001d89bbunpcklpd x1, x4
    001d89bfmulpd x1, x2
    001d89c3movapd x2, x1
    001d89c7unpckhpd x2, x1
    001d89cbaddsd x2, x0
    001d89cfaddsd x2, x1
    001d89d3xorps x0, x0
    001d89d6cvtsd2ss x0, x2
    001d89dajmp 0x1d8c01
    001d89df
    001d89dfloc_1d89df:
    001d89dfmov edx, eax
    001d89e1shr edx, 23
    001d89e4add edx, -150
    001d89eamov ecx, edx
    001d89ecshl ecx, 23
    001d89efsub eax, ecx
    001d89f1movd x0, eax
    001d89f5cvtss2sd x0, x0
    001d89f9movsd_xmm [rbp-32], x0
    001d89felea rdi, [rbp-32]
    001d8a02lea rsi, [rbp-40]
    001d8a06mov ecx, 1
    001d8a0bxor r8l, r8l
    001d8a0ecall compiler_rt.rem_pio2_large.rem_pio2_large
    001d8a13movsd_xmm x0, [rbp-40]
    001d8a18test ebx, ebx
    001d8a1ajns 0x1d8b1b
    001d8a20xorpd x0, [rip-0x144d78]
    001d8a28neg eax
    001d8a2ajmp 0x1d8b1b
    001d8a2f
    001d8a2floc_1d8a2f:
    001d8a2faddsd x0, [rip-0x14549f]
    001d8a37movapd x2, x0
    001d8a3bmulsd x2, x0
    001d8a3fmovapd x1, x2
    001d8a43mulsd x1, x2
    001d8a47movsd_xmm x3, [rip-0x1454d7]
    001d8a4fmulsd x3, x2
    001d8a53addsd x3, [rip-0x1454db]
    001d8a5bmovsd_xmm x4, [rip-0x1454db]
    001d8a63mulsd x4, x2
    001d8a67addsd x4, [rip-0x145527]
    001d8a6fmovsd_xmm x5, [rip-0x1454e7]
    001d8a77mulsd x5, x1
    001d8a7baddsd x5, x4
    001d8a7fmovapd x4, x2
    001d8a83mulsd x4, x1
    001d8a87mulsd x4, x3
    001d8a8baddsd x4, x5
    001d8a8fxorps x3, x3
    001d8a92cvtsd2ss x3, x4
    001d8a96movapd x4, x0
    001d8a9amulsd x4, x2
    001d8a9eunpcklpd x2, x2
    001d8aa2mulpd x2, [rip-0x144dca]
    001d8aaaaddpd x2, [rip-0x144dc2]
    001d8ab2movss [r15], x3
    001d8ab7mulsd x1, x4
    001d8abbunpcklpd x1, x4
    001d8abfmulpd x1, x2
    001d8ac3movapd x2, x1
    001d8ac7unpckhpd x2, x1
    001d8acbaddsd x2, x0
    001d8acfaddsd x2, x1
    001d8ad3xorps x0, x0
    001d8ad6cvtsd2ss x0, x2
    001d8adaxorps x0, [rip-0x144e21]
    001d8ae1jmp 0x1d8c01
    001d8ae6
    001d8ae6loc_1d8ae6:
    001d8ae6ucomisd x0, [rip-0x1455ae]
    001d8aeejbe 0x1d8b1b
    001d8af0addsd x1, [rip-0x1455b0]
    001d8af8add eax, 1
    001d8afb
    001d8afbloc_1d8afb:
    001d8afbmovsd_xmm x0, [rip-0x1455db]
    001d8b03mulsd x0, x1
    001d8b07addsd x2, x0
    001d8b0bmulsd x1, [rip-0x1455e3]
    001d8b13addsd x1, x2
    001d8b17movapd x0, x1
    001d8b1b
    001d8b1bloc_1d8b1b:
    001d8b1bmovapd x1, x0
    001d8b1fmulsd x1, x0
    001d8b23movapd x2, x1
    001d8b27mulsd x2, x1
    001d8b2bmovsd_xmm x3, [rip-0x1455db]
    001d8b33mulsd x3, x1
    001d8b37addsd x3, [rip-0x1455df]
    001d8b3fmovapd x4, x0
    001d8b43mulsd x4, x1
    001d8b47movsd_xmm x5, [rip-0x1455e7]
    001d8b4fmulsd x5, x1
    001d8b53addsd x5, [rip-0x1455eb]
    001d8b5bmulsd x5, x4
    001d8b5faddsd x5, x0
    001d8b63mulsd x4, x2
    001d8b67mulsd x4, x3
    001d8b6baddsd x4, x5
    001d8b6fxorps x0, x0
    001d8b72cvtsd2ss x0, x4
    001d8b76movsd_xmm x3, [rip-0x145606]
    001d8b7emulsd x3, x1
    001d8b82addsd x3, [rip-0x14560a]
    001d8b8amovsd_xmm x4, [rip-0x14560a]
    001d8b92mulsd x4, x1
    001d8b96addsd x4, [rip-0x145656]
    001d8b9emulsd x1, x2
    001d8ba2mulsd x2, [rip-0x14561a]
    001d8baaaddsd x2, x4
    001d8baemulsd x1, x3
    001d8bb2addsd x1, x2
    001d8bb6cvtsd2ss x1, x1
    001d8bbaand eax, 3
    001d8bbdje 0x1d8beb
    001d8bbfcmp eax, 1
    001d8bc2je 0x1d8bdd
    001d8bc4cmp eax, 2
    001d8bc7jne 0x1d8bf5
    001d8bc9movaps x2, [rip-0x144f10]
    001d8bd0xorps x0, x2
    001d8bd3movss [r15], x0
    001d8bd8xorps x1, x2
    001d8bdbjmp 0x1d8bf0
    001d8bdd
    001d8bddloc_1d8bdd:
    001d8bddmovss [r15], x1
    001d8be2xorps x0, [rip-0x144f29]
    001d8be9jmp 0x1d8c01
    001d8beb
    001d8bebloc_1d8beb:
    001d8bebmovss [r15], x0
    001d8bf0
    001d8bf0loc_1d8bf0:
    001d8bf0movaps x0, x1
    001d8bf3jmp 0x1d8c01
    001d8bf5
    001d8bf5loc_1d8bf5:
    001d8bf5xorps x1, [rip-0x144f3c]
    001d8bfcmovss [r15], x1
    001d8c01
    001d8c01loc_1d8c01:
    001d8c01movss [r14], x0
    001d8c06add rsp, 24
    001d8c0apop rbx
    001d8c0bpop r14
    001d8c0dpop r15
    001d8c0fpop rbp
    001d8c10ret
    001d8520