void test2(double x, double y) {
  if (-tan(x - y) != tan(y - x))
    link_error();
  if (-sin(x - y) != sin(y - x))
    link_error();
  if (cos(-x * y) != cos(x * y))
    link_error();
  if (cos(x * -y) != cos(x * y))
    link_error();
  if (cos(-x / y) != cos(x / y))
    link_error();
  if (cos(x / -y) != cos(x / y))
    link_error();
  if (cos(-fabs(tan(x / -y))) != cos(tan(x / y)))
    link_error();
  if (cos(y < 10 ? -x : y) != cos(y < 10 ? x : y))
    link_error();
  if (cos(y < 10 ? x : -y) != cos(y < 10 ? x : y))
    link_error();
  if (cos(y < 10 ? -fabs(x) : tan(x < 20 ? -x : -fabs(y))) !=
      cos(y < 10 ? x : tan(x < 20 ? x : y)))
    link_error();
  if (cos((y *= 3, -x)) != cos((y *= 3, x)))
    link_error();
  if (cos(-fabs(tan(x / -y))) != cos(tan(x / y)))
    link_error();
  if (cos(copysign(x, y)) != cos(x))
    link_error();
  if (cos(copysign(-fabs(x), y *= 2)) != cos((y *= 2, x)))
    link_error();
  if (hypot(x, 0) != fabs(x))
    link_error();
  if (hypot(0, x) != fabs(x))
    link_error();
  if (hypot(x, x) != fabs(x) * __builtin_sqrt(2))
    link_error();
  if (hypot(-x, y) != hypot(x, y))
    link_error();
  if (hypot(x, -y) != hypot(x, y))
    link_error();
  if (hypot(-x, -y) != hypot(x, y))
    link_error();
  if (hypot(fabs(x), y) != hypot(x, y))
    link_error();
  if (hypot(x, fabs(y)) != hypot(x, y))
    link_error();
  if (hypot(fabs(x), fabs(y)) != hypot(x, y))
    link_error();
  if (hypot(-fabs(-x), -fabs(fabs(fabs(-y)))) != hypot(x, y))
    link_error();
  if (hypot(-x, 0) != fabs(x))
    link_error();
  if (hypot(-x, x) != fabs(x) * __builtin_sqrt(2))
    link_error();
  if (hypot(pure(x), -pure(x)) != fabs(pure(x)) * __builtin_sqrt(2))
    link_error();
  if (hypot(tan(-x), tan(-fabs(y))) != hypot(tan(x), tan(y)))
    link_error();
  if (fmin(fmax(x, y), y) != y)
    link_error();
  if (fmin(fmax(y, x), y) != y)
    link_error();
  if (fmin(x, fmax(x, y)) != x)
    link_error();
  if (fmin(x, fmax(y, x)) != x)
    link_error();
  if (fmax(fmin(x, y), y) != y)
    link_error();
  if (fmax(fmin(y, x), y) != y)
    link_error();
  if (fmax(x, fmin(x, y)) != x)
    link_error();
  if (fmax(x, fmin(y, x)) != x)
    link_error();
  if ((__complex__ double)x != -(__complex__ double)(-x))
    link_error();
  if (x * 1i != -(-x * 1i))
    link_error();
  if (x + (x - y) * 1i != -(-x + (y - x) * 1i))
    link_error();
  if (x + (x - y) * 1i != -(-x - (x - y) * 1i))
    link_error();
  if (ccos(tan(x) + sin(y) * 1i) != ccos(-tan(-x) + -sin(-y) * 1i))
    link_error();
  if (ccos(tan(x) + sin(x - y) * 1i) != ccos(-tan(-x) - sin(y - x) * 1i))
    link_error();
  if (-5 + x * 1i != -~(5 + x * 1i))
    link_error();
  if (tan(x) + tan(y) * 1i != -~(tan(-x) + tan(y) * 1i))
    link_error();
}


x86 assembly (clang, -O0):
<test2>:
push   %rbp
mov    %rsp,%rbp
sub    $0x480,%rsp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  -0x8(%rbp),%xmm0
subsd  -0x10(%rbp),%xmm0
call   1070 <tan@plt>
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x10(%rbp),%xmm0
subsd  -0x8(%rbp),%xmm0
call   1070 <tan@plt>
movaps %xmm0,%xmm1
movsd  -0x58(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jne    11ec <test2+0x6c>
jp     11ec <test2+0x6c>
jmp    11f3 <test2+0x73>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
subsd  -0x10(%rbp),%xmm0
call   1050 <sin@plt>
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x10(%rbp),%xmm0
subsd  -0x8(%rbp),%xmm0
call   1050 <sin@plt>
movaps %xmm0,%xmm1
movsd  -0x60(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jne    124a <test2+0xca>
jp     124a <test2+0xca>
jmp    1251 <test2+0xd1>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x10(%rbp),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,-0x68(%rbp)
movsd  -0x8(%rbp),%xmm0
mulsd  -0x10(%rbp),%xmm0
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x68(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jne    12a8 <test2+0x128>
jp     12a8 <test2+0x128>
jmp    12af <test2+0x12f>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm1,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,-0x70(%rbp)
movsd  -0x8(%rbp),%xmm0
mulsd  -0x10(%rbp),%xmm0
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x70(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jne    130a <test2+0x18a>
jp     130a <test2+0x18a>
jmp    1311 <test2+0x191>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
divsd  -0x10(%rbp),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,-0x78(%rbp)
movsd  -0x8(%rbp),%xmm0
divsd  -0x10(%rbp),%xmm0
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x78(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jne    1368 <test2+0x1e8>
jp     1368 <test2+0x1e8>
jmp    136f <test2+0x1ef>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
divsd  %xmm1,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,-0x80(%rbp)
movsd  -0x8(%rbp),%xmm0
divsd  -0x10(%rbp),%xmm0
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x80(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jne    13ca <test2+0x24a>
jp     13ca <test2+0x24a>
jmp    13d1 <test2+0x251>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
divsd  %xmm1,%xmm0
call   1070 <tan@plt>
movaps 0x2bfe(%rip),%xmm1
pand   %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
divsd  -0x10(%rbp),%xmm0
call   1070 <tan@plt>
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x88(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    145e <test2+0x2de>
jp     145e <test2+0x2de>
jmp    1465 <test2+0x2e5>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  0x2bb3(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    14a1 <test2+0x321>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
jmp    14ae <test2+0x32e>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
call   1090 <cos@plt>
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x2b55(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    14e8 <test2+0x368>
movsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
jmp    14f5 <test2+0x375>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x98(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1522 <test2+0x3a2>
jp     1522 <test2+0x3a2>
jmp    1529 <test2+0x3a9>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  0x2aef(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    154e <test2+0x3ce>
movsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
jmp    1572 <test2+0x3f2>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
call   1090 <cos@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x2a91(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    15ac <test2+0x42c>
movsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
jmp    15b9 <test2+0x439>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xb0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    15e6 <test2+0x466>
jp     15e6 <test2+0x466>
jmp    15ed <test2+0x46d>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  0x2a2b(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1634 <test2+0x4b4>
movsd  -0x8(%rbp),%xmm0
movaps 0x29f4(%rip),%xmm1
pand   %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
jmp    16b4 <test2+0x534>
movsd  0x29ec(%rip),%xmm0
ucomisd -0x8(%rbp),%xmm0
jbe    1670 <test2+0x4f0>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
jmp    169f <test2+0x51f>
movsd  -0x10(%rbp),%xmm0
movaps 0x2984(%rip),%xmm1
pand   %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
call   1070 <tan@plt>
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
call   1090 <cos@plt>
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0x294f(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    16ee <test2+0x56e>
movsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
jmp    1735 <test2+0x5b5>
movsd  0x2932(%rip),%xmm0
ucomisd -0x8(%rbp),%xmm0
jbe    1713 <test2+0x593>
movsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
jmp    1720 <test2+0x5a0>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
call   1070 <tan@plt>
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xd0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1762 <test2+0x5e2>
jp     1762 <test2+0x5e2>
jmp    1769 <test2+0x5e9>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  0x28bf(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  0x2884(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x8(%rbp),%xmm0
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xe8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    17e0 <test2+0x660>
jp     17e0 <test2+0x660>
jmp    17e7 <test2+0x667>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
divsd  %xmm1,%xmm0
call   1070 <tan@plt>
movaps 0x27e8(%rip),%xmm1
pand   %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
divsd  -0x10(%rbp),%xmm0
call   1070 <tan@plt>
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xf0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1874 <test2+0x6f4>
jp     1874 <test2+0x6f4>
jmp    187b <test2+0x6fb>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
movaps 0x2784(%rip),%xmm2
pand   %xmm2,%xmm1
movaps 0x2769(%rip),%xmm2
pand   %xmm2,%xmm0
por    %xmm1,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    18d6 <test2+0x756>
jp     18d6 <test2+0x756>
jmp    18dd <test2+0x75d>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movaps 0x2717(%rip),%xmm1
pand   %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x272c(%rip),%xmm1
mulsd  -0x10(%rbp),%xmm1
movsd  %xmm1,-0x10(%rbp)
movaps 0x26f3(%rip),%xmm2
pand   %xmm2,%xmm1
movaps 0x26d8(%rip),%xmm2
pand   %xmm2,%xmm0
por    %xmm1,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,-0x100(%rbp)
ff
movsd  0x26f3(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x8(%rbp),%xmm0
call   1090 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x100(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1979 <test2+0x7f9>
jp     1979 <test2+0x7f9>
jmp    1980 <test2+0x800>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
xorps  %xmm1,%xmm1
call   1060 <hypot@plt>
movsd  -0x8(%rbp),%xmm1
movaps 0x2667(%rip),%xmm2
pand   %xmm2,%xmm1
ucomisd %xmm1,%xmm0
jne    19b2 <test2+0x832>
jp     19b2 <test2+0x832>
jmp    19b9 <test2+0x839>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm1
xorps  %xmm0,%xmm0
call   1060 <hypot@plt>
movsd  -0x8(%rbp),%xmm1
movaps 0x262e(%rip),%xmm2
pand   %xmm2,%xmm1
ucomisd %xmm1,%xmm0
jne    19eb <test2+0x86b>
jp     19eb <test2+0x86b>
jmp    19f2 <test2+0x872>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  -0x8(%rbp),%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movaps 0x25eb(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  0x260f(%rip),%xmm0
call   10a0 <sqrt@plt>
movsd  -0x110(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x108(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
ucomisd %xmm1,%xmm0
jne    1a5a <test2+0x8da>
jp     1a5a <test2+0x8da>
jmp    1a61 <test2+0x8e1>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x10(%rbp),%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
call   1060 <hypot@plt>
movaps %xmm0,%xmm1
movsd  -0x118(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1abe <test2+0x93e>
jp     1abe <test2+0x93e>
jmp    1ac5 <test2+0x945>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
call   1060 <hypot@plt>
movaps %xmm0,%xmm1
movsd  -0x120(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1b22 <test2+0x9a2>
jp     1b22 <test2+0x9a2>
jmp    1b29 <test2+0x9a9>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
call   1060 <hypot@plt>
movaps %xmm0,%xmm1
movsd  -0x128(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1b9d <test2+0xa1d>
jp     1b9d <test2+0xa1d>
jmp    1ba4 <test2+0xa24>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movaps 0x2450(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
call   1060 <hypot@plt>
movaps %xmm0,%xmm1
movsd  -0x130(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1bf5 <test2+0xa75>
jp     1bf5 <test2+0xa75>
jmp    1bfc <test2+0xa7c>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
movaps 0x23f3(%rip),%xmm2
pand   %xmm2,%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
call   1060 <hypot@plt>
movaps %xmm0,%xmm1
movsd  -0x138(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1c4d <test2+0xacd>
jp     1c4d <test2+0xacd>
jmp    1c54 <test2+0xad4>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movaps 0x23a0(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  -0x10(%rbp),%xmm1
movaps 0x2390(%rip),%xmm2
pand   %xmm2,%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
call   1060 <hypot@plt>
movaps %xmm0,%xmm1
movsd  -0x140(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1cb0 <test2+0xb30>
jp     1cb0 <test2+0xb30>
jmp    1cb7 <test2+0xb37>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movaps 0x2326(%rip),%xmm1
pand   %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x10(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movaps 0x22e8(%rip),%xmm2
pand   %xmm2,%xmm1
movaps 0x22dd(%rip),%xmm2
pand   %xmm2,%xmm1
movaps 0x22d2(%rip),%xmm2
pand   %xmm2,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm1
call   1060 <hypot@plt>
movaps %xmm0,%xmm1
movsd  -0x148(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1d85 <test2+0xc05>
jp     1d85 <test2+0xc05>
jmp    1d8c <test2+0xc0c>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
xorps  %xmm1,%xmm1
call   1060 <hypot@plt>
movsd  -0x8(%rbp),%xmm1
movaps 0x2244(%rip),%xmm2
pand   %xmm2,%xmm1
ucomisd %xmm1,%xmm0
jne    1dd5 <test2+0xc55>
jp     1dd5 <test2+0xc55>
jmp    1ddc <test2+0xc5c>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x8(%rbp),%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movaps 0x21ea(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  0x220e(%rip),%xmm0
call   10a0 <sqrt@plt>
movsd  -0x158(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x150(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
ucomisd %xmm1,%xmm0
jne    1e5b <test2+0xcdb>
jp     1e5b <test2+0xcdb>
jmp    1e62 <test2+0xce2>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
mov    $0x1,%al
call   1030 <pure@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
mov    $0x1,%al
call   1030 <pure@plt>
movsd  -0x170(%rbp),%xmm0
ff
mov    %eax,%ecx
xor    %eax,%eax
sub    %ecx,%eax
cvtsi2sd %eax,%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
mov    $0x1,%al
call   1030 <pure@plt>
cvtsi2sd %eax,%xmm0
movaps 0x2144(%rip),%xmm1
pand   %xmm1,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  0x2168(%rip),%xmm0
call   10a0 <sqrt@plt>
movsd  -0x168(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x160(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
ucomisd %xmm1,%xmm0
jne    1f01 <test2+0xd81>
jp     1f01 <test2+0xd81>
jmp    1f08 <test2+0xd88>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1070 <tan@plt>
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movaps 0x20c3(%rip),%xmm1
pand   %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1070 <tan@plt>
movaps %xmm0,%xmm1
movsd  -0x188(%rbp),%xmm0
ff
call   1060 <hypot@plt>
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
call   1070 <tan@plt>
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
call   1070 <tan@plt>
movaps %xmm0,%xmm1
movsd  -0x180(%rbp),%xmm0
ff
call   1060 <hypot@plt>
movaps %xmm0,%xmm1
movsd  -0x178(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jne    1fc1 <test2+0xe41>
jp     1fc1 <test2+0xe41>
jmp    1fc8 <test2+0xe48>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm2
movsd  -0x10(%rbp),%xmm1
movaps %xmm1,%xmm4
movaps %xmm2,%xmm3
cmpunordsd %xmm3,%xmm3
movaps %xmm3,%xmm0
pand   %xmm4,%xmm0
maxsd  %xmm2,%xmm1
pandn  %xmm1,%xmm3
por    %xmm0,%xmm3
movsd  -0x10(%rbp),%xmm2
movaps %xmm2,%xmm4
movaps %xmm3,%xmm0
cmpunordsd %xmm0,%xmm0
movaps %xmm0,%xmm1
pand   %xmm4,%xmm1
minsd  %xmm3,%xmm2
pandn  %xmm2,%xmm0
por    %xmm1,%xmm0
ucomisd -0x10(%rbp),%xmm0
jne    2029 <test2+0xea9>
jp     2029 <test2+0xea9>
jmp    2030 <test2+0xeb0>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm1
movaps %xmm1,%xmm4
movaps %xmm2,%xmm3
cmpunordsd %xmm3,%xmm3
movaps %xmm3,%xmm0
pand   %xmm4,%xmm0
maxsd  %xmm2,%xmm1
pandn  %xmm1,%xmm3
por    %xmm0,%xmm3
movsd  -0x10(%rbp),%xmm2
movaps %xmm2,%xmm4
movaps %xmm3,%xmm0
cmpunordsd %xmm0,%xmm0
movaps %xmm0,%xmm1
pand   %xmm4,%xmm1
minsd  %xmm3,%xmm2
pandn  %xmm2,%xmm0
por    %xmm1,%xmm0
ucomisd -0x10(%rbp),%xmm0
jne    2091 <test2+0xf11>
jp     2091 <test2+0xf11>
jmp    2098 <test2+0xf18>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm3
movsd  -0x8(%rbp),%xmm4
movsd  -0x10(%rbp),%xmm1
movaps %xmm1,%xmm5
movaps %xmm4,%xmm2
cmpunordsd %xmm2,%xmm2
movaps %xmm2,%xmm0
pand   %xmm5,%xmm0
maxsd  %xmm4,%xmm1
pandn  %xmm1,%xmm2
por    %xmm0,%xmm2
movaps %xmm2,%xmm4
movaps %xmm3,%xmm0
cmpunordsd %xmm0,%xmm0
movaps %xmm0,%xmm1
pand   %xmm4,%xmm1
minsd  %xmm3,%xmm2
pandn  %xmm2,%xmm0
por    %xmm1,%xmm0
ucomisd -0x8(%rbp),%xmm0
jne    20f9 <test2+0xf79>
jp     20f9 <test2+0xf79>
jmp    2100 <test2+0xf80>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm3
movsd  -0x10(%rbp),%xmm4
movsd  -0x8(%rbp),%xmm1
movaps %xmm1,%xmm5
movaps %xmm4,%xmm2
cmpunordsd %xmm2,%xmm2
movaps %xmm2,%xmm0
pand   %xmm5,%xmm0
maxsd  %xmm4,%xmm1
pandn  %xmm1,%xmm2
por    %xmm0,%xmm2
movaps %xmm2,%xmm4
movaps %xmm3,%xmm0
cmpunordsd %xmm0,%xmm0
movaps %xmm0,%xmm1
pand   %xmm4,%xmm1
minsd  %xmm3,%xmm2
pandn  %xmm2,%xmm0
por    %xmm1,%xmm0
ucomisd -0x8(%rbp),%xmm0
jne    2161 <test2+0xfe1>
jp     2161 <test2+0xfe1>
jmp    2168 <test2+0xfe8>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm2
movsd  -0x10(%rbp),%xmm1
movaps %xmm1,%xmm4
movaps %xmm2,%xmm3
cmpunordsd %xmm3,%xmm3
movaps %xmm3,%xmm0
pand   %xmm4,%xmm0
minsd  %xmm2,%xmm1
pandn  %xmm1,%xmm3
por    %xmm0,%xmm3
movsd  -0x10(%rbp),%xmm2
movaps %xmm2,%xmm4
movaps %xmm3,%xmm0
cmpunordsd %xmm0,%xmm0
movaps %xmm0,%xmm1
pand   %xmm4,%xmm1
maxsd  %xmm3,%xmm2
pandn  %xmm2,%xmm0
por    %xmm1,%xmm0
ucomisd -0x10(%rbp),%xmm0
jne    21c9 <test2+0x1049>
jp     21c9 <test2+0x1049>
jmp    21d0 <test2+0x1050>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x10(%rbp),%xmm2
movsd  -0x8(%rbp),%xmm1
movaps %xmm1,%xmm4
movaps %xmm2,%xmm3
cmpunordsd %xmm3,%xmm3
movaps %xmm3,%xmm0
pand   %xmm4,%xmm0
minsd  %xmm2,%xmm1
pandn  %xmm1,%xmm3
por    %xmm0,%xmm3
movsd  -0x10(%rbp),%xmm2
movaps %xmm2,%xmm4
movaps %xmm3,%xmm0
cmpunordsd %xmm0,%xmm0
movaps %xmm0,%xmm1
pand   %xmm4,%xmm1
maxsd  %xmm3,%xmm2
pandn  %xmm2,%xmm0
por    %xmm1,%xmm0
ucomisd -0x10(%rbp),%xmm0
jne    2231 <test2+0x10b1>
jp     2231 <test2+0x10b1>
jmp    2238 <test2+0x10b8>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm3
movsd  -0x8(%rbp),%xmm4
movsd  -0x10(%rbp),%xmm1
movaps %xmm1,%xmm5
movaps %xmm4,%xmm2
cmpunordsd %xmm2,%xmm2
movaps %xmm2,%xmm0
pand   %xmm5,%xmm0
minsd  %xmm4,%xmm1
pandn  %xmm1,%xmm2
por    %xmm0,%xmm2
movaps %xmm2,%xmm4
movaps %xmm3,%xmm0
cmpunordsd %xmm0,%xmm0
movaps %xmm0,%xmm1
pand   %xmm4,%xmm1
maxsd  %xmm3,%xmm2
pandn  %xmm2,%xmm0
por    %xmm1,%xmm0
ucomisd -0x8(%rbp),%xmm0
jne    2299 <test2+0x1119>
jp     2299 <test2+0x1119>
jmp    22a0 <test2+0x1120>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm3
movsd  -0x10(%rbp),%xmm4
movsd  -0x8(%rbp),%xmm1
movaps %xmm1,%xmm5
movaps %xmm4,%xmm2
cmpunordsd %xmm2,%xmm2
movaps %xmm2,%xmm0
pand   %xmm5,%xmm0
minsd  %xmm4,%xmm1
pandn  %xmm1,%xmm2
por    %xmm0,%xmm2
movaps %xmm2,%xmm4
movaps %xmm3,%xmm0
cmpunordsd %xmm0,%xmm0
movaps %xmm0,%xmm1
pand   %xmm4,%xmm1
maxsd  %xmm3,%xmm2
pandn  %xmm2,%xmm0
por    %xmm1,%xmm0
ucomisd -0x8(%rbp),%xmm0
jne    2301 <test2+0x1181>
jp     2301 <test2+0x1181>
jmp    2308 <test2+0x1188>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  -0x8(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
ucomisd %xmm1,%xmm0
setne  %al
setp   %cl
or     %cl,%al
or     $0x0,%al
test   $0x1,%al
jne    235b <test2+0x11db>
jmp    2362 <test2+0x11e2>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm1
movsd  %xmm1,-0x1b0(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x1cbf(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1a0(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  %xmm1,-0x190(%rbp)
ff
jnp    2412 <test2+0x1292>
movsd  -0x1a0(%rbp),%xmm1
ff
movsd  -0x1a8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x198(%rbp)
ff
movsd  %xmm1,-0x190(%rbp)
ff
jnp    2412 <test2+0x1292>
movsd  -0x1b0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x1c46(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x198(%rbp)
ff
movsd  %xmm1,-0x190(%rbp)
ff
movsd  -0x198(%rbp),%xmm0
ff
movsd  -0x190(%rbp),%xmm1
ff
movsd  %xmm1,-0x1e8(%rbp)
ff
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  %xmm1,-0x1d8(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x1bd8(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1c8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  %xmm1,-0x1b8(%rbp)
ff
jnp    24f9 <test2+0x1379>
movsd  -0x1c8(%rbp),%xmm1
ff
movsd  -0x1d0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  %xmm1,-0x1b8(%rbp)
ff
jnp    24f9 <test2+0x1379>
movsd  -0x1d8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x1b5f(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  %xmm1,-0x1b8(%rbp)
ff
movsd  -0x1e8(%rbp),%xmm0
movsd  -0x1e0(%rbp),%xmm2
ff
movsd  -0x1c0(%rbp),%xmm3
ff
movsd  -0x1b8(%rbp),%xmm1
ff
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
ucomisd %xmm3,%xmm2
setne  %al
setp   %cl
or     %cl,%al
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    256e <test2+0x13ee>
jmp    2575 <test2+0x13f5>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  -0x8(%rbp),%xmm1
subsd  -0x10(%rbp),%xmm1
movsd  %xmm1,-0x210(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x1a9a(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x200(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  %xmm1,-0x1f0(%rbp)
ff
jnp    2637 <test2+0x14b7>
movsd  -0x200(%rbp),%xmm1
ff
movsd  -0x208(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  %xmm1,-0x1f0(%rbp)
ff
jnp    2637 <test2+0x14b7>
movsd  -0x210(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x1a21(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  %xmm1,-0x1f0(%rbp)
ff
movsd  -0x218(%rbp),%xmm0
ff
movsd  -0x1f8(%rbp),%xmm1
ff
movsd  -0x1f0(%rbp),%xmm2
ff
movsd  %xmm2,-0x258(%rbp)
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  -0x10(%rbp),%xmm1
subsd  -0x8(%rbp),%xmm1
movsd  %xmm1,-0x240(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x1995(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x230(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
movsd  %xmm1,-0x220(%rbp)
ff
jnp    273c <test2+0x15bc>
movsd  -0x230(%rbp),%xmm1
ff
movsd  -0x238(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x228(%rbp)
ff
movsd  %xmm1,-0x220(%rbp)
ff
jnp    273c <test2+0x15bc>
movsd  -0x240(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x191c(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x228(%rbp)
ff
movsd  %xmm1,-0x220(%rbp)
ff
movsd  -0x258(%rbp),%xmm0
ff
movsd  -0x250(%rbp),%xmm2
ff
movsd  -0x248(%rbp),%xmm3
ff
movsd  -0x228(%rbp),%xmm4
ff
movsd  -0x220(%rbp),%xmm1
ff
addsd  %xmm4,%xmm3
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
ucomisd %xmm3,%xmm2
setne  %al
setp   %cl
or     %cl,%al
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    27bd <test2+0x163d>
jmp    27c4 <test2+0x1644>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x8(%rbp),%xmm1
subsd  -0x10(%rbp),%xmm1
movsd  %xmm1,-0x280(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x184b(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x278(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x270(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  %xmm1,-0x260(%rbp)
ff
jnp    2886 <test2+0x1706>
movsd  -0x270(%rbp),%xmm1
ff
movsd  -0x278(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x268(%rbp)
ff
movsd  %xmm1,-0x260(%rbp)
ff
jnp    2886 <test2+0x1706>
movsd  -0x280(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x17d2(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x268(%rbp)
ff
movsd  %xmm1,-0x260(%rbp)
ff
movsd  -0x288(%rbp),%xmm0
ff
movsd  -0x268(%rbp),%xmm1
ff
movsd  -0x260(%rbp),%xmm2
ff
movsd  %xmm2,-0x2c8(%rbp)
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  -0x8(%rbp),%xmm1
subsd  -0x10(%rbp),%xmm1
movsd  %xmm1,-0x2b0(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x1746(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x2a0(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  %xmm1,-0x290(%rbp)
ff
jnp    298b <test2+0x180b>
movsd  -0x2a0(%rbp),%xmm1
ff
movsd  -0x2a8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x298(%rbp)
ff
movsd  %xmm1,-0x290(%rbp)
ff
jnp    298b <test2+0x180b>
movsd  -0x2b0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x16cd(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x298(%rbp)
ff
movsd  %xmm1,-0x290(%rbp)
ff
movsd  -0x2c8(%rbp),%xmm0
ff
movsd  -0x2c0(%rbp),%xmm2
ff
movsd  -0x2b8(%rbp),%xmm3
ff
movsd  -0x298(%rbp),%xmm4
ff
movsd  -0x290(%rbp),%xmm1
ff
subsd  %xmm4,%xmm3
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
ucomisd %xmm3,%xmm2
setne  %al
setp   %cl
or     %cl,%al
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2a23 <test2+0x18a3>
jmp    2a2a <test2+0x18aa>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
call   1070 <tan@plt>
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
call   1050 <sin@plt>
movaps %xmm0,%xmm1
movsd  %xmm1,-0x2f0(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x15dd(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x2e0(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  %xmm1,-0x2d0(%rbp)
ff
jnp    2af4 <test2+0x1974>
movsd  -0x2e0(%rbp),%xmm1
ff
movsd  -0x2e8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  %xmm1,-0x2d0(%rbp)
ff
jnp    2af4 <test2+0x1974>
movsd  -0x2f0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x1564(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  %xmm1,-0x2d0(%rbp)
ff
movsd  -0x2f8(%rbp),%xmm1
ff
movsd  -0x2d8(%rbp),%xmm2
ff
movsd  -0x2d0(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x20(%rbp)
movsd  %xmm0,-0x18(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
call   1040 <ccos@plt>
movsd  %xmm0,-0x338(%rbp)
ff
movsd  %xmm1,-0x330(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1070 <tan@plt>
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x328(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1050 <sin@plt>
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  %xmm1,-0x320(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x1475(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x318(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x310(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x308(%rbp)
ff
movsd  %xmm1,-0x300(%rbp)
jnp    2c5c <test2+0x1adc>
movsd  -0x310(%rbp),%xmm1
ff
movsd  -0x318(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x308(%rbp)
ff
movsd  %xmm1,-0x300(%rbp)
ff
jnp    2c5c <test2+0x1adc>
movsd  -0x320(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x13fc(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x308(%rbp)
ff
movsd  %xmm1,-0x300(%rbp)
ff
movsd  -0x328(%rbp),%xmm1
ff
movsd  -0x308(%rbp),%xmm2
ff
movsd  -0x300(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x30(%rbp)
movsd  %xmm0,-0x28(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm1
call   1040 <ccos@plt>
movsd  -0x338(%rbp),%xmm2
ff
movaps %xmm0,%xmm3
movsd  -0x330(%rbp),%xmm0
ff
ucomisd %xmm3,%xmm2
setne  %al
setp   %cl
or     %cl,%al
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2ccb <test2+0x1b4b>
jmp    2cd2 <test2+0x1b52>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
call   1070 <tan@plt>
movsd  %xmm0,-0x368(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0x10(%rbp),%xmm0
call   1050 <sin@plt>
movaps %xmm0,%xmm1
movsd  %xmm1,-0x360(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x1330(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x358(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x350(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
movsd  %xmm1,-0x340(%rbp)
ff
jnp    2da1 <test2+0x1c21>
movsd  -0x350(%rbp),%xmm1
ff
movsd  -0x358(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x348(%rbp)
ff
movsd  %xmm1,-0x340(%rbp)
ff
jnp    2da1 <test2+0x1c21>
movsd  -0x360(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x12b7(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x348(%rbp)
ff
movsd  %xmm1,-0x340(%rbp)
ff
movsd  -0x368(%rbp),%xmm1
ff
movsd  -0x348(%rbp),%xmm2
ff
movsd  -0x340(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x40(%rbp)
movsd  %xmm0,-0x38(%rbp)
movsd  -0x40(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
call   1040 <ccos@plt>
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  %xmm1,-0x3a0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1070 <tan@plt>
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
subsd  -0x8(%rbp),%xmm0
call   1050 <sin@plt>
movaps %xmm0,%xmm1
movsd  %xmm1,-0x390(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x11ee(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x388(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x380(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x378(%rbp)
ff
movsd  %xmm1,-0x370(%rbp)
ff
jnp    2ee3 <test2+0x1d63>
movsd  -0x380(%rbp),%xmm1
ff
movsd  -0x388(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x378(%rbp)
ff
movsd  %xmm1,-0x370(%rbp)
ff
jnp    2ee3 <test2+0x1d63>
movsd  -0x390(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x1175(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x378(%rbp)
ff
movsd  %xmm1,-0x370(%rbp)
ff
movsd  -0x398(%rbp),%xmm1
ff
movsd  -0x378(%rbp),%xmm2
ff
movsd  -0x370(%rbp),%xmm0
ff
subsd  %xmm2,%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm1,-0x50(%rbp)
movsd  %xmm0,-0x48(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  -0x48(%rbp),%xmm1
call   1040 <ccos@plt>
movsd  -0x3a8(%rbp),%xmm2
ff
movaps %xmm0,%xmm3
movsd  -0x3a0(%rbp),%xmm0
ff
ucomisd %xmm3,%xmm2
setne  %al
setp   %cl
or     %cl,%al
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2f69 <test2+0x1de9>
jmp    2f70 <test2+0x1df0>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm1
movsd  %xmm1,-0x3d0(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0x10b1(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x3c8(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x3c0(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  %xmm1,-0x3b0(%rbp)
ff
jnp    3020 <test2+0x1ea0>
movsd  -0x3c0(%rbp),%xmm1
ff
movsd  -0x3c8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  %xmm1,-0x3b0(%rbp)
ff
jnp    3020 <test2+0x1ea0>
movsd  -0x3d0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0x1038(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  %xmm1,-0x3b0(%rbp)
ff
movsd  -0x3b8(%rbp),%xmm2
ff
movsd  -0x3b0(%rbp),%xmm1
ff
movsd  0x1010(%rip),%xmm0
addsd  %xmm2,%xmm0
movsd  %xmm0,-0x408(%rbp)
ff
xorps  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x400(%rbp)
ff
movsd  -0x8(%rbp),%xmm1
movsd  %xmm1,-0x3f8(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0xfce(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x3f0(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x3e8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x3e0(%rbp)
ff
movsd  %xmm1,-0x3d8(%rbp)
ff
jnp    3103 <test2+0x1f83>
movsd  -0x3e8(%rbp),%xmm1
ff
movsd  -0x3f0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x3e0(%rbp)
ff
movsd  %xmm1,-0x3d8(%rbp)
ff
jnp    3103 <test2+0x1f83>
movsd  -0x3f8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0xf55(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x3e0(%rbp)
ff
movsd  %xmm1,-0x3d8(%rbp)
ff
movsd  -0x400(%rbp),%xmm0
ff
movsd  -0x408(%rbp),%xmm2
ff
movsd  -0x3e0(%rbp),%xmm1
ff
movsd  -0x3d8(%rbp),%xmm4
ff
movsd  0xf25(%rip),%xmm3
addsd  %xmm1,%xmm3
xorps  %xmm1,%xmm1
addsd  %xmm4,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
ucomisd %xmm3,%xmm2
setne  %al
setp   %cl
or     %cl,%al
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    31a2 <test2+0x2022>
jmp    31a9 <test2+0x2029>
mov    $0x0,%al
call   1080 <link_error@plt>
movsd  -0x8(%rbp),%xmm0
call   1070 <tan@plt>
movsd  %xmm0,-0x438(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
call   1070 <tan@plt>
movaps %xmm0,%xmm1
movsd  %xmm1,-0x430(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0xe5e(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x428(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x420(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x418(%rbp)
ff
movsd  %xmm1,-0x410(%rbp)
ff
jnp    3273 <test2+0x20f3>
movsd  -0x420(%rbp),%xmm1
ff
movsd  -0x428(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x418(%rbp)
ff
movsd  %xmm1,-0x410(%rbp)
ff
jnp    3273 <test2+0x20f3>
movsd  -0x430(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0xde5(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x418(%rbp)
ff
movsd  %xmm1,-0x410(%rbp)
ff
movsd  -0x438(%rbp),%xmm0
ff
movsd  -0x418(%rbp),%xmm1
ff
movsd  -0x410(%rbp),%xmm2
ff
movsd  %xmm2,-0x478(%rbp)
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x470(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   1070 <tan@plt>
movsd  %xmm0,-0x468(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
call   1070 <tan@plt>
movaps %xmm0,%xmm1
movsd  %xmm1,-0x460(%rbp)
ff
xorps  %xmm2,%xmm2
movaps %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movsd  0xd51(%rip),%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,-0x458(%rbp)
ff
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x450(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x448(%rbp)
ff
movsd  %xmm1,-0x440(%rbp)
ff
jnp    3380 <test2+0x2200>
movsd  -0x450(%rbp),%xmm1
ff
movsd  -0x458(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x448(%rbp)
ff
movsd  %xmm1,-0x440(%rbp)
ff
jnp    3380 <test2+0x2200>
movsd  -0x460(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
movsd  0xcd8(%rip),%xmm3
movaps %xmm2,%xmm1
call   3430 <__muldc3>
movsd  %xmm0,-0x448(%rbp)
ff
movsd  %xmm1,-0x440(%rbp)
ff
movsd  -0x478(%rbp),%xmm0
ff
movsd  -0x470(%rbp),%xmm2
ff
movsd  -0x468(%rbp),%xmm3
ff
movsd  -0x448(%rbp),%xmm4
ff
movsd  -0x440(%rbp),%xmm1
ff
addsd  %xmm4,%xmm3
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
ucomisd %xmm3,%xmm2
setne  %al
setp   %cl
or     %cl,%al
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3418 <test2+0x2298>
jmp    341f <test2+0x229f>
mov    $0x0,%al
call   1080 <link_error@plt>
add    $0x480,%rsp
pop    %rbp
ret
nopl   0x0(%rax,%rax,1)

x86 assembly (clang, -O2):
<test2>:
sub    $0xb8,%rsp
movapd %xmm1,0x20(%rsp)
movapd %xmm0,(%rsp)
subsd  %xmm1,%xmm0
movapd %xmm0,0x50(%rsp)
call   1070 <tan@plt>
xorpd  0x1e67(%rip),%xmm0
movapd %xmm0,0x40(%rsp)
movapd 0x20(%rsp),%xmm0
subsd  (%rsp),%xmm0
movapd %xmm0,0x10(%rsp)
call   1070 <tan@plt>
ucomisd 0x40(%rsp),%xmm0
jne    11bf <test2+0x4f>
jnp    11c6 <test2+0x56>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x50(%rsp),%xmm0
call   1050 <sin@plt>
xorps  0x1e29(%rip),%xmm0
movaps %xmm0,0x50(%rsp)
movapd 0x10(%rsp),%xmm0
call   1050 <sin@plt>
ucomisd 0x50(%rsp),%xmm0
jne    11f1 <test2+0x81>
jnp    11f8 <test2+0x88>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x1e00(%rip),%xmm0
xorpd  (%rsp),%xmm0
movapd %xmm0,0x50(%rsp)
mulsd  0x20(%rsp),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x10(%rsp)
movapd (%rsp),%xmm0
mulsd  0x20(%rsp),%xmm0
movapd %xmm0,0x40(%rsp)
call   1090 <cos@plt>
movsd  0x10(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    1240 <test2+0xd0>
jnp    1247 <test2+0xd7>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x1db1(%rip),%xmm0
xorpd  0x20(%rsp),%xmm0
movapd %xmm0,0x10(%rsp)
mulsd  (%rsp),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x30(%rsp)
movapd 0x40(%rsp),%xmm0
call   1090 <cos@plt>
movsd  0x30(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    1284 <test2+0x114>
jnp    128b <test2+0x11b>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x50(%rsp),%xmm0
divsd  0x20(%rsp),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x30(%rsp)
movapd (%rsp),%xmm0
divsd  0x20(%rsp),%xmm0
movapd %xmm0,0x40(%rsp)
call   1090 <cos@plt>
movsd  0x30(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    12c6 <test2+0x156>
jnp    12cd <test2+0x15d>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd (%rsp),%xmm0
divsd  0x10(%rsp),%xmm0
movapd %xmm0,0x30(%rsp)
call   1090 <cos@plt>
movsd  %xmm0,0x80(%rsp)
movapd 0x40(%rsp),%xmm0
call   1090 <cos@plt>
movsd  0x80(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    1308 <test2+0x198>
jnp    130f <test2+0x19f>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x30(%rsp),%xmm0
call   1070 <tan@plt>
andps  0x1cf0(%rip),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x30(%rsp)
movapd 0x40(%rsp),%xmm0
call   1070 <tan@plt>
call   1090 <cos@plt>
movsd  0x30(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    1349 <test2+0x1d9>
jnp    1350 <test2+0x1e0>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x20(%rsp),%xmm2
movapd %xmm2,%xmm0
cmpltsd 0x1cbd(%rip),%xmm0
movapd %xmm0,%xmm1
andpd  0x50(%rsp),%xmm1
andnpd %xmm2,%xmm0
orpd   %xmm1,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x30(%rsp)
movapd 0x20(%rsp),%xmm0
movsd  0x1c92(%rip),%xmm1
ucomisd %xmm0,%xmm1
movapd (%rsp),%xmm1
ja     139d <test2+0x22d>
movapd %xmm0,%xmm1
movsd  %xmm1,0x40(%rsp)
movapd %xmm1,%xmm0
call   1090 <cos@plt>
movsd  0x30(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    13ba <test2+0x24a>
jnp    13c1 <test2+0x251>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x20(%rsp),%xmm0
cmpltsd 0x1c50(%rip),%xmm0
movapd %xmm0,%xmm1
andpd  (%rsp),%xmm1
andnpd 0x10(%rsp),%xmm0
orpd   %xmm1,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x10(%rsp)
movsd  0x40(%rsp),%xmm0
call   1090 <cos@plt>
movsd  0x10(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    1407 <test2+0x297>
jnp    140e <test2+0x29e>
xor    %eax,%eax
call   1080 <link_error@plt>
movsd  0x1c0a(%rip),%xmm0
ucomisd 0x20(%rsp),%xmm0
jbe    143b <test2+0x2cb>
movaps 0x1beb(%rip),%xmm0
andps  (%rsp),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x10(%rsp)
movapd (%rsp),%xmm0
jmp    1495 <test2+0x325>
movsd  0x1be5(%rip),%xmm1
movapd (%rsp),%xmm0
ucomisd %xmm0,%xmm1
ja     145c <test2+0x2ec>
movapd 0x1bba(%rip),%xmm0
andpd  0x20(%rsp),%xmm0
call   1070 <tan@plt>
call   1090 <cos@plt>
movsd  %xmm0,0x10(%rsp)
movapd (%rsp),%xmm2
movapd %xmm2,%xmm0
cmpltsd 0x1baa(%rip),%xmm0
movapd %xmm0,%xmm1
andpd  %xmm2,%xmm1
andnpd 0x20(%rsp),%xmm0
orpd   %xmm1,%xmm0
call   1070 <tan@plt>
call   1090 <cos@plt>
movsd  0x10(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    14a8 <test2+0x338>
jnp    14af <test2+0x33f>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x20(%rsp),%xmm0
mulsd  0x1b73(%rip),%xmm0
movapd %xmm0,0x20(%rsp)
movaps (%rsp),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x10(%rsp)
movapd 0x20(%rsp),%xmm0
mulsd  0x1b50(%rip),%xmm0
movapd %xmm0,0x20(%rsp)
movapd (%rsp),%xmm0
call   1090 <cos@plt>
movsd  0x10(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    14fe <test2+0x38e>
jnp    1505 <test2+0x395>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x1af3(%rip),%xmm1
xorpd  0x20(%rsp),%xmm1
movapd (%rsp),%xmm0
divsd  %xmm1,%xmm0
call   1070 <tan@plt>
andpd  0x1ae7(%rip),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x10(%rsp)
movapd (%rsp),%xmm0
divsd  0x20(%rsp),%xmm0
call   1070 <tan@plt>
call   1090 <cos@plt>
movsd  0x10(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    1557 <test2+0x3e7>
jnp    155e <test2+0x3ee>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x1a9b(%rip),%xmm0
andps  0x20(%rsp),%xmm0
movaps 0x1a9f(%rip),%xmm1
andps  (%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
orps   %xmm1,%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x40(%rsp)
movapd (%rsp),%xmm0
call   1090 <cos@plt>
movsd  0x40(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    15a0 <test2+0x430>
jnp    15a7 <test2+0x437>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x20(%rsp),%xmm1
addsd  %xmm1,%xmm1
movapd 0x1a47(%rip),%xmm0
movapd %xmm1,0x20(%rsp)
andpd  %xmm1,%xmm0
orpd   0x10(%rsp),%xmm0
call   1090 <cos@plt>
movsd  %xmm0,0x40(%rsp)
movapd (%rsp),%xmm0
call   1090 <cos@plt>
movsd  0x40(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    15ec <test2+0x47c>
jnp    15f3 <test2+0x483>
xor    %eax,%eax
call   1080 <link_error@plt>
xorpd  %xmm1,%xmm1
movapd (%rsp),%xmm0
call   1060 <hypot@plt>
ucomisd 0x10(%rsp),%xmm0
jne    160b <test2+0x49b>
jnp    1612 <test2+0x4a2>
xor    %eax,%eax
call   1080 <link_error@plt>
xorpd  %xmm0,%xmm0
movaps (%rsp),%xmm1
call   1060 <hypot@plt>
ucomisd 0x10(%rsp),%xmm0
jne    1629 <test2+0x4b9>
jnp    1630 <test2+0x4c0>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x20(%rsp),%xmm0
addsd  %xmm0,%xmm0
movapd %xmm0,0x20(%rsp)
movapd (%rsp),%xmm0
movapd %xmm0,%xmm1
call   1060 <hypot@plt>
movsd  0x19e2(%rip),%xmm1
mulsd  0x10(%rsp),%xmm1
movsd  %xmm1,0x80(%rsp)
ucomisd %xmm1,%xmm0
jne    166d <test2+0x4fd>
jnp    1674 <test2+0x504>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x50(%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,0x40(%rsp)
movapd (%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  0x40(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    16a6 <test2+0x536>
jnp    16ad <test2+0x53d>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x194c(%rip),%xmm1
xorps  0x20(%rsp),%xmm1
movaps (%rsp),%xmm0
movaps %xmm1,0x40(%rsp)
call   1060 <hypot@plt>
movsd  %xmm0,0x30(%rsp)
movapd (%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  0x30(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    16ea <test2+0x57a>
jnp    16f1 <test2+0x581>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x50(%rsp),%xmm0
movaps 0x40(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,0x30(%rsp)
movapd (%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  0x30(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    1723 <test2+0x5b3>
jnp    172a <test2+0x5ba>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x10(%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,0x30(%rsp)
movapd (%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  0x30(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    175c <test2+0x5ec>
jnp    1763 <test2+0x5f3>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x18a6(%rip),%xmm1
andps  0x20(%rsp),%xmm1
movaps (%rsp),%xmm0
movaps %xmm1,0x30(%rsp)
call   1060 <hypot@plt>
movsd  %xmm0,0x60(%rsp)
movapd (%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  0x60(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    17a0 <test2+0x630>
jnp    17a7 <test2+0x637>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x10(%rsp),%xmm0
movaps 0x30(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,0x60(%rsp)
movapd (%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  0x60(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    17d9 <test2+0x669>
jnp    17e0 <test2+0x670>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x1819(%rip),%xmm2
movaps 0x50(%rsp),%xmm0
orps   %xmm2,%xmm0
movaps 0x40(%rsp),%xmm1
orps   %xmm2,%xmm1
call   1060 <hypot@plt>
movsd  %xmm0,0x60(%rsp)
movapd (%rsp),%xmm0
movaps 0x20(%rsp),%xmm1
call   1060 <hypot@plt>
movsd  0x60(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    181f <test2+0x6af>
jnp    1826 <test2+0x6b6>
xor    %eax,%eax
call   1080 <link_error@plt>
xorpd  %xmm1,%xmm1
movapd 0x50(%rsp),%xmm0
call   1060 <hypot@plt>
ucomisd 0x10(%rsp),%xmm0
jne    183f <test2+0x6cf>
jnp    1846 <test2+0x6d6>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x50(%rsp),%xmm0
movaps (%rsp),%xmm1
call   1060 <hypot@plt>
ucomisd 0x80(%rsp),%xmm0
jne    1862 <test2+0x6f2>
jnp    1869 <test2+0x6f9>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps (%rsp),%xmm0
mov    $0x1,%al
call   1030 <pure@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x10(%rsp)
movaps (%rsp),%xmm0
mov    $0x1,%al
call   1030 <pure@plt>
neg    %eax
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
movsd  0x10(%rsp),%xmm0
call   1060 <hypot@plt>
movsd  %xmm0,0x10(%rsp)
movaps (%rsp),%xmm0
mov    $0x1,%al
call   1030 <pure@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
andpd  0x1750(%rip),%xmm0
mulsd  0x1770(%rip),%xmm0
movsd  0x10(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    18d6 <test2+0x766>
jnp    18dd <test2+0x76d>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps 0x50(%rsp),%xmm0
call   1070 <tan@plt>
movsd  %xmm0,0x10(%rsp)
movaps 0x30(%rsp),%xmm0
call   1070 <tan@plt>
movaps %xmm0,%xmm1
xorps  0x16ff(%rip),%xmm1
movsd  0x10(%rsp),%xmm0
call   1060 <hypot@plt>
movsd  %xmm0,0x10(%rsp)
movaps (%rsp),%xmm0
call   1070 <tan@plt>
movsd  %xmm0,0x30(%rsp)
movaps 0x20(%rsp),%xmm0
call   1070 <tan@plt>
movaps %xmm0,%xmm1
movsd  0x30(%rsp),%xmm0
call   1060 <hypot@plt>
movsd  0x10(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jne    1947 <test2+0x7d7>
jnp    194e <test2+0x7de>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd (%rsp),%xmm4
movapd %xmm4,%xmm5
cmpunordsd %xmm4,%xmm5
movapd %xmm5,%xmm1
movapd 0x20(%rsp),%xmm3
andpd  %xmm3,%xmm1
movapd %xmm3,%xmm0
maxsd  %xmm4,%xmm0
movapd %xmm5,%xmm6
andnpd %xmm0,%xmm6
movapd %xmm1,0x30(%rsp)
orpd   %xmm1,%xmm6
movapd %xmm3,%xmm0
minsd  %xmm6,%xmm0
movapd %xmm6,%xmm1
cmpunordsd %xmm6,%xmm1
movapd %xmm1,%xmm2
andnpd %xmm0,%xmm2
andpd  %xmm3,%xmm1
orpd   %xmm2,%xmm1
ucomisd %xmm3,%xmm1
movapd %xmm5,0x10(%rsp)
jne    19b3 <test2+0x843>
jnp    19de <test2+0x86e>
xor    %eax,%eax
movapd %xmm6,0x80(%rsp)
call   1080 <link_error@plt>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x80(%rsp),%xmm6
movapd 0x10(%rsp),%xmm5
movapd (%rsp),%xmm4
movapd %xmm5,%xmm0
andpd  %xmm6,%xmm0
minsd  %xmm4,%xmm6
movapd %xmm5,%xmm1
andnpd %xmm6,%xmm1
orpd   %xmm0,%xmm1
ucomisd %xmm4,%xmm1
jne    19fe <test2+0x88e>
jnp    1a17 <test2+0x8a7>
xor    %eax,%eax
call   1080 <link_error@plt>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x10(%rsp),%xmm5
movapd (%rsp),%xmm4
movapd 0x20(%rsp),%xmm3
movapd %xmm3,%xmm0
minsd  %xmm4,%xmm0
movapd %xmm5,%xmm6
andnpd %xmm0,%xmm6
orpd   0x30(%rsp),%xmm6
movapd %xmm3,%xmm0
maxsd  %xmm6,%xmm0
movapd %xmm6,%xmm1
cmpunordsd %xmm6,%xmm1
movapd %xmm1,%xmm2
andnpd %xmm0,%xmm2
andpd  %xmm3,%xmm1
orpd   %xmm2,%xmm1
ucomisd %xmm3,%xmm1
jne    1a5c <test2+0x8ec>
jnp    1a81 <test2+0x911>
xor    %eax,%eax
movapd %xmm6,0x30(%rsp)
call   1080 <link_error@plt>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x30(%rsp),%xmm6
movapd 0x10(%rsp),%xmm5
movapd (%rsp),%xmm4
movapd %xmm5,%xmm0
andpd  %xmm6,%xmm0
maxsd  %xmm4,%xmm6
andnpd %xmm6,%xmm5
orpd   %xmm0,%xmm5
ucomisd %xmm4,%xmm5
jne    1a9d <test2+0x92d>
jnp    1ab0 <test2+0x940>
xor    %eax,%eax
call   1080 <link_error@plt>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd (%rsp),%xmm4
ucomisd %xmm4,%xmm4
jp     1edb <test2+0xd6b>
xorpd  %xmm2,%xmm2
movapd %xmm4,%xmm5
mulsd  %xmm2,%xmm5
movapd %xmm4,%xmm3
addsd  %xmm2,%xmm3
ucomisd %xmm5,%xmm5
movapd %xmm5,0x30(%rsp)
movapd %xmm3,0x10(%rsp)
jp     1eec <test2+0xd7c>
movsd  0x155c(%rip),%xmm0
mulsd  %xmm4,%xmm0
subsd  %xmm4,%xmm2
ucomisd %xmm0,%xmm0
movapd 0x1500(%rip),%xmm1
jp     1f31 <test2+0xdc1>
xorpd  %xmm1,%xmm0
ucomisd %xmm0,%xmm5
jne    1b1e <test2+0x9ae>
jp     1b1e <test2+0x9ae>
xorpd  %xmm1,%xmm2
ucomisd %xmm2,%xmm3
jne    1b1e <test2+0x9ae>
jnp    1b32 <test2+0x9c2>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x14d3(%rip),%xmm1
movapd (%rsp),%xmm4
movapd %xmm4,%xmm2
movapd 0x20(%rsp),%xmm0
subsd  %xmm0,%xmm2
xorpd  %xmm6,%xmm6
movapd %xmm2,%xmm5
mulsd  %xmm6,%xmm5
movapd %xmm2,0x60(%rsp)
movapd %xmm2,%xmm3
addsd  %xmm6,%xmm3
ucomisd %xmm5,%xmm5
movapd %xmm5,%xmm7
movapd %xmm3,%xmm8
jp     1f8a <test2+0xe1a>
addsd  %xmm4,%xmm7
movapd %xmm0,%xmm2
subsd  %xmm4,%xmm2
movapd %xmm2,%xmm0
mulsd  %xmm6,%xmm0
movapd %xmm2,0x80(%rsp)
addsd  %xmm2,%xmm6
ucomisd %xmm0,%xmm0
jp     1ffb <test2+0xe8b>
subsd  %xmm4,%xmm0
xorpd  %xmm1,%xmm0
ucomisd %xmm0,%xmm7
jne    1bb5 <test2+0xa45>
jp     1bb5 <test2+0xa45>
xorpd  %xmm1,%xmm6
ucomisd %xmm6,%xmm8
jne    1bb5 <test2+0xa45>
jnp    1bdf <test2+0xa6f>
xor    %eax,%eax
movapd %xmm3,0x70(%rsp)
movapd %xmm5,0x90(%rsp)
call   1080 <link_error@plt>
movapd 0x90(%rsp),%xmm5
movapd 0x70(%rsp),%xmm3
movapd (%rsp),%xmm4
ucomisd %xmm5,%xmm5
jp     207d <test2+0xf0d>
movapd %xmm5,%xmm0
movapd %xmm3,%xmm1
addsd  %xmm4,%xmm5
movapd 0x50(%rsp),%xmm2
subsd  %xmm0,%xmm2
xorpd  0x13f9(%rip),%xmm2
ucomisd %xmm2,%xmm5
jne    1c17 <test2+0xaa7>
jp     1c17 <test2+0xaa7>
ucomisd %xmm1,%xmm3
jne    1c17 <test2+0xaa7>
jnp    1c23 <test2+0xab3>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd (%rsp),%xmm4
movapd %xmm4,%xmm0
call   1070 <tan@plt>
movsd  %xmm0,0x70(%rsp)
movapd 0x20(%rsp),%xmm0
call   1050 <sin@plt>
movapd %xmm0,%xmm4
xorpd  %xmm2,%xmm2
mulsd  %xmm2,%xmm0
movapd %xmm4,%xmm1
addsd  %xmm2,%xmm1
ucomisd %xmm0,%xmm0
jp     20eb <test2+0xf7b>
movsd  0x70(%rsp),%xmm2
addsd  %xmm0,%xmm2
movapd %xmm2,%xmm0
call   1040 <ccos@plt>
movsd  %xmm0,0x70(%rsp)
movsd  %xmm1,0xa8(%rsp)
movaps 0x50(%rsp),%xmm0
call   1070 <tan@plt>
movsd  %xmm0,0x90(%rsp)
movapd 0x40(%rsp),%xmm0
call   1050 <sin@plt>
movapd %xmm0,%xmm4
movsd  0x13a1(%rip),%xmm0
mulsd  %xmm4,%xmm0
xorpd  %xmm1,%xmm1
subsd  %xmm4,%xmm1
ucomisd %xmm0,%xmm0
jp     2113 <test2+0xfa3>
subsd  0x90(%rsp),%xmm0
call   1040 <ccos@plt>
movsd  0x70(%rsp),%xmm2
ucomisd %xmm0,%xmm2
jne    1cea <test2+0xb7a>
jp     1cea <test2+0xb7a>
movsd  0xa8(%rsp),%xmm0
ucomisd %xmm1,%xmm0
jne    1cea <test2+0xb7a>
jnp    1cf1 <test2+0xb81>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps (%rsp),%xmm0
call   1070 <tan@plt>
movsd  %xmm0,0x40(%rsp)
movapd 0x60(%rsp),%xmm0
call   1050 <sin@plt>
movapd %xmm0,%xmm4
xorpd  %xmm2,%xmm2
mulsd  %xmm2,%xmm0
movapd %xmm4,%xmm1
addsd  %xmm2,%xmm1
ucomisd %xmm0,%xmm0
jp     2143 <test2+0xfd3>
movsd  0x40(%rsp),%xmm2
addsd  %xmm0,%xmm2
movapd %xmm2,%xmm0
call   1040 <ccos@plt>
movsd  %xmm0,0x40(%rsp)
movsd  %xmm1,0x70(%rsp)
movaps 0x50(%rsp),%xmm0
call   1070 <tan@plt>
xorps  0x12a7(%rip),%xmm0
movaps %xmm0,0x60(%rsp)
movapd 0x80(%rsp),%xmm0
call   1050 <sin@plt>
movapd %xmm0,%xmm4
xorpd  %xmm1,%xmm1
mulsd  %xmm1,%xmm0
addsd  %xmm4,%xmm1
ucomisd %xmm0,%xmm0
jp     216b <test2+0xffb>
movapd 0x60(%rsp),%xmm2
subsd  %xmm0,%xmm2
xorpd  0x1268(%rip),%xmm1
movapd %xmm2,%xmm0
call   1040 <ccos@plt>
movsd  0x40(%rsp),%xmm2
ucomisd %xmm0,%xmm2
jne    1dbd <test2+0xc4d>
jp     1dbd <test2+0xc4d>
movsd  0x70(%rsp),%xmm0
ucomisd %xmm1,%xmm0
jne    1dbd <test2+0xc4d>
jnp    1dc4 <test2+0xc54>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd 0x30(%rsp),%xmm3
ucomisd %xmm3,%xmm3
jp     2193 <test2+0x1023>
movapd %xmm3,%xmm0
movapd 0x10(%rsp),%xmm2
movapd %xmm2,%xmm1
addsd  0x1266(%rip),%xmm3
addsd  0x1266(%rip),%xmm0
xorpd  0x1206(%rip),%xmm0
ucomisd %xmm0,%xmm3
jne    1e12 <test2+0xca2>
jp     1e12 <test2+0xca2>
xorpd  %xmm0,%xmm0
addsd  %xmm0,%xmm1
ucomisd %xmm1,%xmm2
jne    1e12 <test2+0xca2>
jnp    1e19 <test2+0xca9>
xor    %eax,%eax
call   1080 <link_error@plt>
movaps (%rsp),%xmm0
call   1070 <tan@plt>
movsd  %xmm0,(%rsp)
movapd 0x20(%rsp),%xmm0
call   1070 <tan@plt>
movapd %xmm0,%xmm4
xorpd  %xmm1,%xmm1
mulsd  %xmm1,%xmm0
movapd %xmm4,%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x10(%rsp)
ucomisd %xmm0,%xmm0
jp     2202 <test2+0x1092>
movsd  (%rsp),%xmm1
addsd  %xmm0,%xmm1
movsd  %xmm1,(%rsp)
movaps 0x50(%rsp),%xmm0
call   1070 <tan@plt>
movaps %xmm0,0x50(%rsp)
movapd 0x20(%rsp),%xmm0
call   1070 <tan@plt>
movapd %xmm0,%xmm4
xorpd  %xmm1,%xmm1
mulsd  %xmm1,%xmm0
addsd  %xmm4,%xmm1
ucomisd %xmm0,%xmm0
jp     2236 <test2+0x10c6>
movapd 0x50(%rsp),%xmm2
addsd  %xmm0,%xmm2
xorpd  0x1156(%rip),%xmm2
movsd  (%rsp),%xmm0
ucomisd %xmm2,%xmm0
jne    1ecd <test2+0xd5d>
jp     1ecd <test2+0xd5d>
movsd  0x10(%rsp),%xmm0
ucomisd %xmm1,%xmm0
jne    1ecd <test2+0xd5d>
jp     1ecd <test2+0xd5d>
add    $0xb8,%rsp
ret
xor    %eax,%eax
add    $0xb8,%rsp
jmp    1080 <link_error@plt>
xor    %eax,%eax
call   1080 <link_error@plt>
movapd (%rsp),%xmm4
jmp    1aba <test2+0x94a>
movapd 0x10(%rsp),%xmm3
ucomisd %xmm3,%xmm3
movapd 0x30(%rsp),%xmm5
jnp    1ae4 <test2+0x974>
movsd  0x1136(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd %xmm4,%xmm0
call   2260 <__muldc3>
xorpd  %xmm2,%xmm2
movapd (%rsp),%xmm4
movapd %xmm0,%xmm5
movapd %xmm1,%xmm3
jmp    1ae4 <test2+0x974>
ucomisd %xmm2,%xmm2
jnp    1b06 <test2+0x996>
movsd  %xmm3,0x80(%rsp)
movsd  0x10f4(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd 0x50(%rsp),%xmm0
movsd  %xmm5,0x60(%rsp)
call   2260 <__muldc3>
movsd  0x60(%rsp),%xmm5
movsd  0x80(%rsp),%xmm3
movapd (%rsp),%xmm4
movapd %xmm1,%xmm2
movapd 0x107b(%rip),%xmm1
jmp    1b06 <test2+0x996>
ucomisd %xmm3,%xmm3
movapd %xmm5,%xmm7
movapd %xmm3,%xmm8
jnp    1b6d <test2+0x9fd>
movapd %xmm3,0x70(%rsp)
movsd  0x1095(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd 0x60(%rsp),%xmm0
movapd %xmm5,0x90(%rsp)
call   2260 <__muldc3>
xorpd  %xmm6,%xmm6
movapd 0x90(%rsp),%xmm5
movapd 0x70(%rsp),%xmm3
movapd (%rsp),%xmm4
movapd %xmm0,%xmm7
movapd 0x20(%rsp),%xmm0
movapd %xmm1,%xmm8
movapd 0x100a(%rip),%xmm1
jmp    1b6d <test2+0x9fd>
ucomisd %xmm6,%xmm6
jnp    1b98 <test2+0xa28>
movapd %xmm3,0x70(%rsp)
movsd  0x102d(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd 0x80(%rsp),%xmm0
movapd %xmm5,0x90(%rsp)
movsd  %xmm8,0xa8(%rsp)
movsd  %xmm7,0xb0(%rsp)
call   2260 <__muldc3>
movsd  0xb0(%rsp),%xmm7
movsd  0xa8(%rsp),%xmm8
movapd 0x90(%rsp),%xmm5
movapd 0x70(%rsp),%xmm3
movapd (%rsp),%xmm4
movapd %xmm1,%xmm6
movapd 0xf88(%rip),%xmm1
jmp    1b98 <test2+0xa28>
ucomisd %xmm3,%xmm3
movapd %xmm5,%xmm0
movapd %xmm3,%xmm1
jnp    1bf1 <test2+0xa81>
movsd  0xfa9(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movaps 0x60(%rsp),%xmm0
call   2260 <__muldc3>
movaps %xmm0,0x90(%rsp)
movapd %xmm1,0x70(%rsp)
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd 0x60(%rsp),%xmm0
movsd  0xf73(%rip),%xmm3
call   2260 <__muldc3>
movapd 0x90(%rsp),%xmm5
movapd 0x70(%rsp),%xmm3
movapd (%rsp),%xmm4
jmp    1bf1 <test2+0xa81>
ucomisd %xmm1,%xmm1
jnp    1c5b <test2+0xaeb>
movsd  0xf43(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd %xmm4,%xmm0
call   2260 <__muldc3>
jmp    1c5b <test2+0xaeb>
ucomisd %xmm1,%xmm1
jnp    1cbd <test2+0xb4d>
xorpd  0xedb(%rip),%xmm4
movsd  0xf13(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd %xmm4,%xmm0
call   2260 <__muldc3>
jmp    1cbd <test2+0xb4d>
ucomisd %xmm1,%xmm1
jnp    1d29 <test2+0xbb9>
movsd  0xeeb(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd %xmm4,%xmm0
call   2260 <__muldc3>
jmp    1d29 <test2+0xbb9>
ucomisd %xmm1,%xmm1
jnp    1d86 <test2+0xc16>
movsd  0xec3(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd %xmm4,%xmm0
call   2260 <__muldc3>
jmp    1d86 <test2+0xc16>
movapd 0x10(%rsp),%xmm2
ucomisd %xmm2,%xmm2
movapd %xmm3,%xmm0
movapd %xmm2,%xmm1
jnp    1de2 <test2+0xc72>
movsd  0xe8d(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movaps (%rsp),%xmm0
call   2260 <__muldc3>
movaps %xmm0,0x30(%rsp)
addsd  0xe8f(%rip),%xmm1
movapd %xmm1,0x10(%rsp)
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd (%rsp),%xmm0
movsd  0xe54(%rip),%xmm3
call   2260 <__muldc3>
movapd 0x30(%rsp),%xmm3
movapd 0x10(%rsp),%xmm2
jmp    1de2 <test2+0xc72>
movsd  0x10(%rsp),%xmm1
ucomisd %xmm1,%xmm1
jnp    1e56 <test2+0xce6>
movsd  0xe26(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd %xmm4,%xmm0
call   2260 <__muldc3>
movsd  %xmm1,0x10(%rsp)
jmp    1e56 <test2+0xce6>
ucomisd %xmm1,%xmm1
jnp    1e98 <test2+0xd28>
movsd  0xdf8(%rip),%xmm3
xorpd  %xmm1,%xmm1
xorpd  %xmm2,%xmm2
movapd %xmm4,%xmm0
call   2260 <__muldc3>
jmp    1e98 <test2+0xd28>
xchg   %ax,%ax

LLVM IR (-O0):
define void @test2(double %0, double %1) {
%3 = alloca double
%4 = alloca double
%5 = alloca { double, double }
%6 = alloca { double, double }
%7 = alloca { double, double }
%8 = alloca { double, double }
store double %0, double* %3
store double %1, double* %4
%9 = load double, double* %3
%10 = load double, double* %4
%11 = fsub double %9, %10
%12 = call double @tan(double %11)
%13 = fneg double %12
%14 = load double, double* %4
%15 = load double, double* %3
%16 = fsub double %14, %15
%17 = call double @tan(double %16)
%18 = fcmp une double %13, %17
br i1 %18, label %19, label %21
19: ; preds = %2
%20 = call i32 (...) @link_error()
br label %21
21: ; preds = %19, %2
%22 = load double, double* %3
%23 = load double, double* %4
%24 = fsub double %22, %23
%25 = call double @sin(double %24)
%26 = fneg double %25
%27 = load double, double* %4
%28 = load double, double* %3
%29 = fsub double %27, %28
%30 = call double @sin(double %29)
%31 = fcmp une double %26, %30
br i1 %31, label %32, label %34
32: ; preds = %21
%33 = call i32 (...) @link_error()
br label %34
34: ; preds = %32, %21
%35 = load double, double* %3
%36 = fneg double %35
%37 = load double, double* %4
%38 = fmul double %36, %37
%39 = call double @cos(double %38)
%40 = load double, double* %3
%41 = load double, double* %4
%42 = fmul double %40, %41
%43 = call double @cos(double %42)
%44 = fcmp une double %39, %43
br i1 %44, label %45, label %47
45: ; preds = %34
%46 = call i32 (...) @link_error()
br label %47
47: ; preds = %45, %34
%48 = load double, double* %3
%49 = load double, double* %4
%50 = fneg double %49
%51 = fmul double %48, %50
%52 = call double @cos(double %51)
%53 = load double, double* %3
%54 = load double, double* %4
%55 = fmul double %53, %54
%56 = call double @cos(double %55)
%57 = fcmp une double %52, %56
br i1 %57, label %58, label %60
58: ; preds = %47
%59 = call i32 (...) @link_error()
br label %60
60: ; preds = %58, %47
%61 = load double, double* %3
%62 = fneg double %61
%63 = load double, double* %4
%64 = fdiv double %62, %63
%65 = call double @cos(double %64)
%66 = load double, double* %3
%67 = load double, double* %4
%68 = fdiv double %66, %67
%69 = call double @cos(double %68)
%70 = fcmp une double %65, %69
br i1 %70, label %71, label %73
71: ; preds = %60
%72 = call i32 (...) @link_error()
br label %73
73: ; preds = %71, %60
%74 = load double, double* %3
%75 = load double, double* %4
%76 = fneg double %75
%77 = fdiv double %74, %76
%78 = call double @cos(double %77)
%79 = load double, double* %3
%80 = load double, double* %4
%81 = fdiv double %79, %80
%82 = call double @cos(double %81)
%83 = fcmp une double %78, %82
br i1 %83, label %84, label %86
84: ; preds = %73
%85 = call i32 (...) @link_error()
br label %86
86: ; preds = %84, %73
%87 = load double, double* %3
%88 = load double, double* %4
%89 = fneg double %88
%90 = fdiv double %87, %89
%91 = call double @tan(double %90)
%92 = call double @llvm.fabs.f64(double %91)
%93 = fneg double %92
%94 = call double @cos(double %93)
%95 = load double, double* %3
%96 = load double, double* %4
%97 = fdiv double %95, %96
%98 = call double @tan(double %97)
%99 = call double @cos(double %98)
%100 = fcmp une double %94, %99
br i1 %100, label %101, label %103
101: ; preds = %86
%102 = call i32 (...) @link_error()
br label %103
103: ; preds = %101, %86
%104 = load double, double* %4
%105 = fcmp olt double %104, 1.000000e+01
br i1 %105, label %106, label %109
106: ; preds = %103
%107 = load double, double* %3
%108 = fneg double %107
br label %111
109: ; preds = %103
%110 = load double, double* %4
br label %111
111: ; preds = %109, %106
%112 = phi double [ %108, %106 ], [ %110, %109 ]
%113 = call double @cos(double %112)
%114 = load double, double* %4
%115 = fcmp olt double %114, 1.000000e+01
br i1 %115, label %116, label %118
116: ; preds = %111
%117 = load double, double* %3
br label %120
118: ; preds = %111
%119 = load double, double* %4
br label %120
120: ; preds = %118, %116
%121 = phi double [ %117, %116 ], [ %119, %118 ]
%122 = call double @cos(double %121)
%123 = fcmp une double %113, %122
br i1 %123, label %124, label %126
124: ; preds = %120
%125 = call i32 (...) @link_error()
br label %126
126: ; preds = %124, %120
%127 = load double, double* %4
%128 = fcmp olt double %127, 1.000000e+01
br i1 %128, label %129, label %131
129: ; preds = %126
%130 = load double, double* %3
br label %134
131: ; preds = %126
%132 = load double, double* %4
%133 = fneg double %132
br label %134
134: ; preds = %131, %129
%135 = phi double [ %130, %129 ], [ %133, %131 ]
%136 = call double @cos(double %135)
%137 = load double, double* %4
%138 = fcmp olt double %137, 1.000000e+01
br i1 %138, label %139, label %141
139: ; preds = %134
%140 = load double, double* %3
br label %143
141: ; preds = %134
%142 = load double, double* %4
br label %143
143: ; preds = %141, %139
%144 = phi double [ %140, %139 ], [ %142, %141 ]
%145 = call double @cos(double %144)
%146 = fcmp une double %136, %145
br i1 %146, label %147, label %149
147: ; preds = %143
%148 = call i32 (...) @link_error()
br label %149
149: ; preds = %147, %143
%150 = load double, double* %4
%151 = fcmp olt double %150, 1.000000e+01
br i1 %151, label %152, label %156
152: ; preds = %149
%153 = load double, double* %3
%154 = call double @llvm.fabs.f64(double %153)
%155 = fneg double %154
br label %169
156: ; preds = %149
%157 = load double, double* %3
%158 = fcmp olt double %157, 2.000000e+01
br i1 %158, label %159, label %162
159: ; preds = %156
%160 = load double, double* %3
%161 = fneg double %160
br label %166
162: ; preds = %156
%163 = load double, double* %4
%164 = call double @llvm.fabs.f64(double %163)
%165 = fneg double %164
br label %166
166: ; preds = %162, %159
%167 = phi double [ %161, %159 ], [ %165, %162 ]
%168 = call double @tan(double %167)
br label %169
169: ; preds = %166, %152
%170 = phi double [ %155, %152 ], [ %168, %166 ]
%171 = call double @cos(double %170)
%172 = load double, double* %4
%173 = fcmp olt double %172, 1.000000e+01
br i1 %173, label %174, label %176
174: ; preds = %169
%175 = load double, double* %3
br label %186
176: ; preds = %169
%177 = load double, double* %3
%178 = fcmp olt double %177, 2.000000e+01
br i1 %178, label %179, label %181
179: ; preds = %176
%180 = load double, double* %3
br label %183
181: ; preds = %176
%182 = load double, double* %4
br label %183
183: ; preds = %181, %179
%184 = phi double [ %180, %179 ], [ %182, %181 ]
%185 = call double @tan(double %184)
br label %186
186: ; preds = %183, %174
%187 = phi double [ %175, %174 ], [ %185, %183 ]
%188 = call double @cos(double %187)
%189 = fcmp une double %171, %188
br i1 %189, label %190, label %192
190: ; preds = %186
%191 = call i32 (...) @link_error()
br label %192
192: ; preds = %190, %186
%193 = load double, double* %4
%194 = fmul double %193, 3.000000e+00
store double %194, double* %4
%195 = load double, double* %3
%196 = fneg double %195
%197 = call double @cos(double %196)
%198 = load double, double* %4
%199 = fmul double %198, 3.000000e+00
store double %199, double* %4
%200 = load double, double* %3
%201 = call double @cos(double %200)
%202 = fcmp une double %197, %201
br i1 %202, label %203, label %205
203: ; preds = %192
%204 = call i32 (...) @link_error()
br label %205
205: ; preds = %203, %192
%206 = load double, double* %3
%207 = load double, double* %4
%208 = fneg double %207
%209 = fdiv double %206, %208
%210 = call double @tan(double %209)
%211 = call double @llvm.fabs.f64(double %210)
%212 = fneg double %211
%213 = call double @cos(double %212)
%214 = load double, double* %3
%215 = load double, double* %4
%216 = fdiv double %214, %215
%217 = call double @tan(double %216)
%218 = call double @cos(double %217)
%219 = fcmp une double %213, %218
br i1 %219, label %220, label %222
220: ; preds = %205
%221 = call i32 (...) @link_error()
br label %222
222: ; preds = %220, %205
%223 = load double, double* %3
%224 = load double, double* %4
%225 = call double @llvm.copysign.f64(double %223, double %224)
%226 = call double @cos(double %225)
%227 = load double, double* %3
%228 = call double @cos(double %227)
%229 = fcmp une double %226, %228
br i1 %229, label %230, label %232
230: ; preds = %222
%231 = call i32 (...) @link_error()
br label %232
232: ; preds = %230, %222
%233 = load double, double* %3
%234 = call double @llvm.fabs.f64(double %233)
%235 = fneg double %234
%236 = load double, double* %4
%237 = fmul double %236, 2.000000e+00
store double %237, double* %4
%238 = call double @llvm.copysign.f64(double %235, double %237)
%239 = call double @cos(double %238)
%240 = load double, double* %4
%241 = fmul double %240, 2.000000e+00
store double %241, double* %4
%242 = load double, double* %3
%243 = call double @cos(double %242)
%244 = fcmp une double %239, %243
br i1 %244, label %245, label %247
245: ; preds = %232
%246 = call i32 (...) @link_error()
br label %247
247: ; preds = %245, %232
%248 = load double, double* %3
%249 = call double @hypot(double %248, double 0.000000e+00)
%250 = load double, double* %3
%251 = call double @llvm.fabs.f64(double %250)
%252 = fcmp une double %249, %251
br i1 %252, label %253, label %255
253: ; preds = %247
%254 = call i32 (...) @link_error()
br label %255
255: ; preds = %253, %247
%256 = load double, double* %3
%257 = call double @hypot(double 0.000000e+00, double %256)
%258 = load double, double* %3
%259 = call double @llvm.fabs.f64(double %258)
%260 = fcmp une double %257, %259
br i1 %260, label %261, label %263
261: ; preds = %255
%262 = call i32 (...) @link_error()
br label %263
263: ; preds = %261, %255
%264 = load double, double* %3
%265 = load double, double* %3
%266 = call double @hypot(double %264, double %265)
%267 = load double, double* %3
%268 = call double @llvm.fabs.f64(double %267)
%269 = call double @sqrt(double 2.000000e+00)
%270 = fmul double %268, %269
%271 = fcmp une double %266, %270
br i1 %271, label %272, label %274
272: ; preds = %263
%273 = call i32 (...) @link_error()
br label %274
274: ; preds = %272, %263
%275 = load double, double* %3
%276 = fneg double %275
%277 = load double, double* %4
%278 = call double @hypot(double %276, double %277)
%279 = load double, double* %3
%280 = load double, double* %4
%281 = call double @hypot(double %279, double %280)
%282 = fcmp une double %278, %281
br i1 %282, label %283, label %285
283: ; preds = %274
%284 = call i32 (...) @link_error()
br label %285
285: ; preds = %283, %274
%286 = load double, double* %3
%287 = load double, double* %4
%288 = fneg double %287
%289 = call double @hypot(double %286, double %288)
%290 = load double, double* %3
%291 = load double, double* %4
%292 = call double @hypot(double %290, double %291)
%293 = fcmp une double %289, %292
br i1 %293, label %294, label %296
294: ; preds = %285
%295 = call i32 (...) @link_error()
br label %296
296: ; preds = %294, %285
%297 = load double, double* %3
%298 = fneg double %297
%299 = load double, double* %4
%300 = fneg double %299
%301 = call double @hypot(double %298, double %300)
%302 = load double, double* %3
%303 = load double, double* %4
%304 = call double @hypot(double %302, double %303)
%305 = fcmp une double %301, %304
br i1 %305, label %306, label %308
306: ; preds = %296
%307 = call i32 (...) @link_error()
br label %308
308: ; preds = %306, %296
%309 = load double, double* %3
%310 = call double @llvm.fabs.f64(double %309)
%311 = load double, double* %4
%312 = call double @hypot(double %310, double %311)
%313 = load double, double* %3
%314 = load double, double* %4
%315 = call double @hypot(double %313, double %314)
%316 = fcmp une double %312, %315
br i1 %316, label %317, label %319
317: ; preds = %308
%318 = call i32 (...) @link_error()
br label %319
319: ; preds = %317, %308
%320 = load double, double* %3
%321 = load double, double* %4
%322 = call double @llvm.fabs.f64(double %321)
%323 = call double @hypot(double %320, double %322)
%324 = load double, double* %3
%325 = load double, double* %4
%326 = call double @hypot(double %324, double %325)
%327 = fcmp une double %323, %326
br i1 %327, label %328, label %330
328: ; preds = %319
%329 = call i32 (...) @link_error()
br label %330
330: ; preds = %328, %319
%331 = load double, double* %3
%332 = call double @llvm.fabs.f64(double %331)
%333 = load double, double* %4
%334 = call double @llvm.fabs.f64(double %333)
%335 = call double @hypot(double %332, double %334)
%336 = load double, double* %3
%337 = load double, double* %4
%338 = call double @hypot(double %336, double %337)
%339 = fcmp une double %335, %338
br i1 %339, label %340, label %342
340: ; preds = %330
%341 = call i32 (...) @link_error()
br label %342
342: ; preds = %340, %330
%343 = load double, double* %3
%344 = fneg double %343
%345 = call double @llvm.fabs.f64(double %344)
%346 = fneg double %345
%347 = load double, double* %4
%348 = fneg double %347
%349 = call double @llvm.fabs.f64(double %348)
%350 = call double @llvm.fabs.f64(double %349)
%351 = call double @llvm.fabs.f64(double %350)
%352 = fneg double %351
%353 = call double @hypot(double %346, double %352)
%354 = load double, double* %3
%355 = load double, double* %4
%356 = call double @hypot(double %354, double %355)
%357 = fcmp une double %353, %356
br i1 %357, label %358, label %360
358: ; preds = %342
%359 = call i32 (...) @link_error()
br label %360
360: ; preds = %358, %342
%361 = load double, double* %3
%362 = fneg double %361
%363 = call double @hypot(double %362, double 0.000000e+00)
%364 = load double, double* %3
%365 = call double @llvm.fabs.f64(double %364)
%366 = fcmp une double %363, %365
br i1 %366, label %367, label %369
367: ; preds = %360
%368 = call i32 (...) @link_error()
br label %369
369: ; preds = %367, %360
%370 = load double, double* %3
%371 = fneg double %370
%372 = load double, double* %3
%373 = call double @hypot(double %371, double %372)
%374 = load double, double* %3
%375 = call double @llvm.fabs.f64(double %374)
%376 = call double @sqrt(double 2.000000e+00)
%377 = fmul double %375, %376
%378 = fcmp une double %373, %377
br i1 %378, label %379, label %381
379: ; preds = %369
%380 = call i32 (...) @link_error()
br label %381
381: ; preds = %379, %369
%382 = load double, double* %3
%383 = call i32 (double, ...) bitcast (i32 (...)* @pure to i32 (double, ...)*)(double %382)
%384 = sitofp i32 %383 to double
%385 = load double, double* %3
%386 = call i32 (double, ...) bitcast (i32 (...)* @pure to i32 (double, ...)*)(double %385)
%387 = sub nsw i32 0, %386
%388 = sitofp i32 %387 to double
%389 = call double @hypot(double %384, double %388)
%390 = load double, double* %3
%391 = call i32 (double, ...) bitcast (i32 (...)* @pure to i32 (double, ...)*)(double %390)
%392 = sitofp i32 %391 to double
%393 = call double @llvm.fabs.f64(double %392)
%394 = call double @sqrt(double 2.000000e+00)
%395 = fmul double %393, %394
%396 = fcmp une double %389, %395
br i1 %396, label %397, label %399
397: ; preds = %381
%398 = call i32 (...) @link_error()
br label %399
399: ; preds = %397, %381
%400 = load double, double* %3
%401 = fneg double %400
%402 = call double @tan(double %401)
%403 = load double, double* %4
%404 = call double @llvm.fabs.f64(double %403)
%405 = fneg double %404
%406 = call double @tan(double %405)
%407 = call double @hypot(double %402, double %406)
%408 = load double, double* %3
%409 = call double @tan(double %408)
%410 = load double, double* %4
%411 = call double @tan(double %410)
%412 = call double @hypot(double %409, double %411)
%413 = fcmp une double %407, %412
br i1 %413, label %414, label %416
414: ; preds = %399
%415 = call i32 (...) @link_error()
br label %416
416: ; preds = %414, %399
%417 = load double, double* %3
%418 = load double, double* %4
%419 = call double @llvm.maxnum.f64(double %417, double %418)
%420 = load double, double* %4
%421 = call double @llvm.minnum.f64(double %419, double %420)
%422 = load double, double* %4
%423 = fcmp une double %421, %422
br i1 %423, label %424, label %426
424: ; preds = %416
%425 = call i32 (...) @link_error()
br label %426
426: ; preds = %424, %416
%427 = load double, double* %4
%428 = load double, double* %3
%429 = call double @llvm.maxnum.f64(double %427, double %428)
%430 = load double, double* %4
%431 = call double @llvm.minnum.f64(double %429, double %430)
%432 = load double, double* %4
%433 = fcmp une double %431, %432
br i1 %433, label %434, label %436
434: ; preds = %426
%435 = call i32 (...) @link_error()
br label %436
436: ; preds = %434, %426
%437 = load double, double* %3
%438 = load double, double* %3
%439 = load double, double* %4
%440 = call double @llvm.maxnum.f64(double %438, double %439)
%441 = call double @llvm.minnum.f64(double %437, double %440)
%442 = load double, double* %3
%443 = fcmp une double %441, %442
br i1 %443, label %444, label %446
444: ; preds = %436
%445 = call i32 (...) @link_error()
br label %446
446: ; preds = %444, %436
%447 = load double, double* %3
%448 = load double, double* %4
%449 = load double, double* %3
%450 = call double @llvm.maxnum.f64(double %448, double %449)
%451 = call double @llvm.minnum.f64(double %447, double %450)
%452 = load double, double* %3
%453 = fcmp une double %451, %452
br i1 %453, label %454, label %456
454: ; preds = %446
%455 = call i32 (...) @link_error()
br label %456
456: ; preds = %454, %446
%457 = load double, double* %3
%458 = load double, double* %4
%459 = call double @llvm.minnum.f64(double %457, double %458)
%460 = load double, double* %4
%461 = call double @llvm.maxnum.f64(double %459, double %460)
%462 = load double, double* %4
%463 = fcmp une double %461, %462
br i1 %463, label %464, label %466
464: ; preds = %456
%465 = call i32 (...) @link_error()
br label %466
466: ; preds = %464, %456
%467 = load double, double* %4
%468 = load double, double* %3
%469 = call double @llvm.minnum.f64(double %467, double %468)
%470 = load double, double* %4
%471 = call double @llvm.maxnum.f64(double %469, double %470)
%472 = load double, double* %4
%473 = fcmp une double %471, %472
br i1 %473, label %474, label %476
474: ; preds = %466
%475 = call i32 (...) @link_error()
br label %476
476: ; preds = %474, %466
%477 = load double, double* %3
%478 = load double, double* %3
%479 = load double, double* %4
%480 = call double @llvm.minnum.f64(double %478, double %479)
%481 = call double @llvm.maxnum.f64(double %477, double %480)
%482 = load double, double* %3
%483 = fcmp une double %481, %482
br i1 %483, label %484, label %486
484: ; preds = %476
%485 = call i32 (...) @link_error()
br label %486
486: ; preds = %484, %476
%487 = load double, double* %3
%488 = load double, double* %4
%489 = load double, double* %3
%490 = call double @llvm.minnum.f64(double %488, double %489)
%491 = call double @llvm.maxnum.f64(double %487, double %490)
%492 = load double, double* %3
%493 = fcmp une double %491, %492
br i1 %493, label %494, label %496
494: ; preds = %486
%495 = call i32 (...) @link_error()
br label %496
496: ; preds = %494, %486
%497 = load double, double* %3
%498 = load double, double* %3
%499 = fneg double %498
%500 = fneg double %499
%501 = fcmp une double %497, %500
%502 = or i1 %501, false
br i1 %502, label %503, label %505
503: ; preds = %496
%504 = call i32 (...) @link_error()
br label %505
505: ; preds = %503, %496
%506 = load double, double* %3
%507 = fmul double %506, 0.000000e+00
%508 = fmul double %506, 1.000000e+00
%509 = fsub double %507, 0.000000e+00
%510 = fadd double %508, 0.000000e+00
%511 = fcmp uno double %509, %509
br i1 %511, label %512, label %518
512: ; preds = %505
%513 = fcmp uno double %510, %510
br i1 %513, label %514, label %518
514: ; preds = %512
%515 = call { double, double } @__muldc3(double %506, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%516 = extractvalue { double, double } %515, 0
%517 = extractvalue { double, double } %515, 1
br label %518
518: ; preds = %514, %512, %505
%519 = phi double [ %509, %505 ], [ %509, %512 ], [ %516, %514 ]
%520 = phi double [ %510, %505 ], [ %510, %512 ], [ %517, %514 ]
%521 = load double, double* %3
%522 = fneg double %521
%523 = fmul double %522, 0.000000e+00
%524 = fmul double %522, 1.000000e+00
%525 = fsub double %523, 0.000000e+00
%526 = fadd double %524, 0.000000e+00
%527 = fcmp uno double %525, %525
br i1 %527, label %528, label %534
528: ; preds = %518
%529 = fcmp uno double %526, %526
br i1 %529, label %530, label %534
530: ; preds = %528
%531 = call { double, double } @__muldc3(double %522, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%532 = extractvalue { double, double } %531, 0
%533 = extractvalue { double, double } %531, 1
br label %534
534: ; preds = %530, %528, %518
%535 = phi double [ %525, %518 ], [ %525, %528 ], [ %532, %530 ]
%536 = phi double [ %526, %518 ], [ %526, %528 ], [ %533, %530 ]
%537 = fneg double %535
%538 = fneg double %536
%539 = fcmp une double %519, %537
%540 = fcmp une double %520, %538
%541 = or i1 %539, %540
br i1 %541, label %542, label %544
542: ; preds = %534
%543 = call i32 (...) @link_error()
br label %544
544: ; preds = %542, %534
%545 = load double, double* %3
%546 = load double, double* %3
%547 = load double, double* %4
%548 = fsub double %546, %547
%549 = fmul double %548, 0.000000e+00
%550 = fmul double %548, 1.000000e+00
%551 = fsub double %549, 0.000000e+00
%552 = fadd double %550, 0.000000e+00
%553 = fcmp uno double %551, %551
br i1 %553, label %554, label %560
554: ; preds = %544
%555 = fcmp uno double %552, %552
br i1 %555, label %556, label %560
556: ; preds = %554
%557 = call { double, double } @__muldc3(double %548, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%558 = extractvalue { double, double } %557, 0
%559 = extractvalue { double, double } %557, 1
br label %560
560: ; preds = %556, %554, %544
%561 = phi double [ %551, %544 ], [ %551, %554 ], [ %558, %556 ]
%562 = phi double [ %552, %544 ], [ %552, %554 ], [ %559, %556 ]
%563 = fadd double %545, %561
%564 = load double, double* %3
%565 = fneg double %564
%566 = load double, double* %4
%567 = load double, double* %3
%568 = fsub double %566, %567
%569 = fmul double %568, 0.000000e+00
%570 = fmul double %568, 1.000000e+00
%571 = fsub double %569, 0.000000e+00
%572 = fadd double %570, 0.000000e+00
%573 = fcmp uno double %571, %571
br i1 %573, label %574, label %580
574: ; preds = %560
%575 = fcmp uno double %572, %572
br i1 %575, label %576, label %580
576: ; preds = %574
%577 = call { double, double } @__muldc3(double %568, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%578 = extractvalue { double, double } %577, 0
%579 = extractvalue { double, double } %577, 1
br label %580
580: ; preds = %576, %574, %560
%581 = phi double [ %571, %560 ], [ %571, %574 ], [ %578, %576 ]
%582 = phi double [ %572, %560 ], [ %572, %574 ], [ %579, %576 ]
%583 = fadd double %565, %581
%584 = fneg double %583
%585 = fneg double %582
%586 = fcmp une double %563, %584
%587 = fcmp une double %562, %585
%588 = or i1 %586, %587
br i1 %588, label %589, label %591
589: ; preds = %580
%590 = call i32 (...) @link_error()
br label %591
591: ; preds = %589, %580
%592 = load double, double* %3
%593 = load double, double* %3
%594 = load double, double* %4
%595 = fsub double %593, %594
%596 = fmul double %595, 0.000000e+00
%597 = fmul double %595, 1.000000e+00
%598 = fsub double %596, 0.000000e+00
%599 = fadd double %597, 0.000000e+00
%600 = fcmp uno double %598, %598
br i1 %600, label %601, label %607
601: ; preds = %591
%602 = fcmp uno double %599, %599
br i1 %602, label %603, label %607
603: ; preds = %601
%604 = call { double, double } @__muldc3(double %595, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%605 = extractvalue { double, double } %604, 0
%606 = extractvalue { double, double } %604, 1
br label %607
607: ; preds = %603, %601, %591
%608 = phi double [ %598, %591 ], [ %598, %601 ], [ %605, %603 ]
%609 = phi double [ %599, %591 ], [ %599, %601 ], [ %606, %603 ]
%610 = fadd double %592, %608
%611 = load double, double* %3
%612 = fneg double %611
%613 = load double, double* %3
%614 = load double, double* %4
%615 = fsub double %613, %614
%616 = fmul double %615, 0.000000e+00
%617 = fmul double %615, 1.000000e+00
%618 = fsub double %616, 0.000000e+00
%619 = fadd double %617, 0.000000e+00
%620 = fcmp uno double %618, %618
br i1 %620, label %621, label %627
621: ; preds = %607
%622 = fcmp uno double %619, %619
br i1 %622, label %623, label %627
623: ; preds = %621
%624 = call { double, double } @__muldc3(double %615, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%625 = extractvalue { double, double } %624, 0
%626 = extractvalue { double, double } %624, 1
br label %627
627: ; preds = %623, %621, %607
%628 = phi double [ %618, %607 ], [ %618, %621 ], [ %625, %623 ]
%629 = phi double [ %619, %607 ], [ %619, %621 ], [ %626, %623 ]
%630 = fsub double %612, %628
%631 = fneg double %629
%632 = fneg double %630
%633 = fneg double %631
%634 = fcmp une double %610, %632
%635 = fcmp une double %609, %633
%636 = or i1 %634, %635
br i1 %636, label %637, label %639
637: ; preds = %627
%638 = call i32 (...) @link_error()
br label %639
639: ; preds = %637, %627
%640 = load double, double* %3
%641 = call double @tan(double %640)
%642 = load double, double* %4
%643 = call double @sin(double %642)
%644 = fmul double %643, 0.000000e+00
%645 = fmul double %643, 1.000000e+00
%646 = fsub double %644, 0.000000e+00
%647 = fadd double %645, 0.000000e+00
%648 = fcmp uno double %646, %646
br i1 %648, label %649, label %655
649: ; preds = %639
%650 = fcmp uno double %647, %647
br i1 %650, label %651, label %655
651: ; preds = %649
%652 = call { double, double } @__muldc3(double %643, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%653 = extractvalue { double, double } %652, 0
%654 = extractvalue { double, double } %652, 1
br label %655
655: ; preds = %651, %649, %639
%656 = phi double [ %646, %639 ], [ %646, %649 ], [ %653, %651 ]
%657 = phi double [ %647, %639 ], [ %647, %649 ], [ %654, %651 ]
%658 = fadd double %641, %656
%659 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 0
%660 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 1
store double %658, double* %659
store double %657, double* %660
%661 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 0
%662 = load double, double* %661
%663 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 1
%664 = load double, double* %663
%665 = call { double, double } @ccos(double %662, double %664)
%666 = extractvalue { double, double } %665, 0
%667 = extractvalue { double, double } %665, 1
%668 = load double, double* %3
%669 = fneg double %668
%670 = call double @tan(double %669)
%671 = fneg double %670
%672 = load double, double* %4
%673 = fneg double %672
%674 = call double @sin(double %673)
%675 = fneg double %674
%676 = fmul double %675, 0.000000e+00
%677 = fmul double %675, 1.000000e+00
%678 = fsub double %676, 0.000000e+00
%679 = fadd double %677, 0.000000e+00
%680 = fcmp uno double %678, %678
br i1 %680, label %681, label %687
681: ; preds = %655
%682 = fcmp uno double %679, %679
br i1 %682, label %683, label %687
683: ; preds = %681
%684 = call { double, double } @__muldc3(double %675, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%685 = extractvalue { double, double } %684, 0
%686 = extractvalue { double, double } %684, 1
br label %687
687: ; preds = %683, %681, %655
%688 = phi double [ %678, %655 ], [ %678, %681 ], [ %685, %683 ]
%689 = phi double [ %679, %655 ], [ %679, %681 ], [ %686, %683 ]
%690 = fadd double %671, %688
%691 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 0
%692 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 1
store double %690, double* %691
store double %689, double* %692
%693 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 0
%694 = load double, double* %693
%695 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 1
%696 = load double, double* %695
%697 = call { double, double } @ccos(double %694, double %696)
%698 = extractvalue { double, double } %697, 0
%699 = extractvalue { double, double } %697, 1
%700 = fcmp une double %666, %698
%701 = fcmp une double %667, %699
%702 = or i1 %700, %701
br i1 %702, label %703, label %705
703: ; preds = %687
%704 = call i32 (...) @link_error()
br label %705
705: ; preds = %703, %687
%706 = load double, double* %3
%707 = call double @tan(double %706)
%708 = load double, double* %3
%709 = load double, double* %4
%710 = fsub double %708, %709
%711 = call double @sin(double %710)
%712 = fmul double %711, 0.000000e+00
%713 = fmul double %711, 1.000000e+00
%714 = fsub double %712, 0.000000e+00
%715 = fadd double %713, 0.000000e+00
%716 = fcmp uno double %714, %714
br i1 %716, label %717, label %723
717: ; preds = %705
%718 = fcmp uno double %715, %715
br i1 %718, label %719, label %723
719: ; preds = %717
%720 = call { double, double } @__muldc3(double %711, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%721 = extractvalue { double, double } %720, 0
%722 = extractvalue { double, double } %720, 1
br label %723
723: ; preds = %719, %717, %705
%724 = phi double [ %714, %705 ], [ %714, %717 ], [ %721, %719 ]
%725 = phi double [ %715, %705 ], [ %715, %717 ], [ %722, %719 ]
%726 = fadd double %707, %724
%727 = getelementptr inbounds { double, double }, { double, double }* %7, i32 0, i32 0
%728 = getelementptr inbounds { double, double }, { double, double }* %7, i32 0, i32 1
store double %726, double* %727
store double %725, double* %728
%729 = getelementptr inbounds { double, double }, { double, double }* %7, i32 0, i32 0
%730 = load double, double* %729
%731 = getelementptr inbounds { double, double }, { double, double }* %7, i32 0, i32 1
%732 = load double, double* %731
%733 = call { double, double } @ccos(double %730, double %732)
%734 = extractvalue { double, double } %733, 0
%735 = extractvalue { double, double } %733, 1
%736 = load double, double* %3
%737 = fneg double %736
%738 = call double @tan(double %737)
%739 = fneg double %738
%740 = load double, double* %4
%741 = load double, double* %3
%742 = fsub double %740, %741
%743 = call double @sin(double %742)
%744 = fmul double %743, 0.000000e+00
%745 = fmul double %743, 1.000000e+00
%746 = fsub double %744, 0.000000e+00
%747 = fadd double %745, 0.000000e+00
%748 = fcmp uno double %746, %746
br i1 %748, label %749, label %755
749: ; preds = %723
%750 = fcmp uno double %747, %747
br i1 %750, label %751, label %755
751: ; preds = %749
%752 = call { double, double } @__muldc3(double %743, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%753 = extractvalue { double, double } %752, 0
%754 = extractvalue { double, double } %752, 1
br label %755
755: ; preds = %751, %749, %723
%756 = phi double [ %746, %723 ], [ %746, %749 ], [ %753, %751 ]
%757 = phi double [ %747, %723 ], [ %747, %749 ], [ %754, %751 ]
%758 = fsub double %739, %756
%759 = fneg double %757
%760 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 0
%761 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 1
store double %758, double* %760
store double %759, double* %761
%762 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 0
%763 = load double, double* %762
%764 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 1
%765 = load double, double* %764
%766 = call { double, double } @ccos(double %763, double %765)
%767 = extractvalue { double, double } %766, 0
%768 = extractvalue { double, double } %766, 1
%769 = fcmp une double %734, %767
%770 = fcmp une double %735, %768
%771 = or i1 %769, %770
br i1 %771, label %772, label %774
772: ; preds = %755
%773 = call i32 (...) @link_error()
br label %774
774: ; preds = %772, %755
%775 = load double, double* %3
%776 = fmul double %775, 0.000000e+00
%777 = fmul double %775, 1.000000e+00
%778 = fsub double %776, 0.000000e+00
%779 = fadd double %777, 0.000000e+00
%780 = fcmp uno double %778, %778
br i1 %780, label %781, label %787
781: ; preds = %774
%782 = fcmp uno double %779, %779
br i1 %782, label %783, label %787
783: ; preds = %781
%784 = call { double, double } @__muldc3(double %775, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%785 = extractvalue { double, double } %784, 0
%786 = extractvalue { double, double } %784, 1
br label %787
787: ; preds = %783, %781, %774
%788 = phi double [ %778, %774 ], [ %778, %781 ], [ %785, %783 ]
%789 = phi double [ %779, %774 ], [ %779, %781 ], [ %786, %783 ]
%790 = fadd double -5.000000e+00, %788
%791 = fadd double 0.000000e+00, %789
%792 = load double, double* %3
%793 = fmul double %792, 0.000000e+00
%794 = fmul double %792, 1.000000e+00
%795 = fsub double %793, 0.000000e+00
%796 = fadd double %794, 0.000000e+00
%797 = fcmp uno double %795, %795
br i1 %797, label %798, label %804
798: ; preds = %787
%799 = fcmp uno double %796, %796
br i1 %799, label %800, label %804
800: ; preds = %798
%801 = call { double, double } @__muldc3(double %792, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%802 = extractvalue { double, double } %801, 0
%803 = extractvalue { double, double } %801, 1
br label %804
804: ; preds = %800, %798, %787
%805 = phi double [ %795, %787 ], [ %795, %798 ], [ %802, %800 ]
%806 = phi double [ %796, %787 ], [ %796, %798 ], [ %803, %800 ]
%807 = fadd double 5.000000e+00, %805
%808 = fadd double 0.000000e+00, %806
%809 = fneg double %808
%810 = fneg double %807
%811 = fneg double %809
%812 = fcmp une double %790, %810
%813 = fcmp une double %791, %811
%814 = or i1 %812, %813
br i1 %814, label %815, label %817
815: ; preds = %804
%816 = call i32 (...) @link_error()
br label %817
817: ; preds = %815, %804
%818 = load double, double* %3
%819 = call double @tan(double %818)
%820 = load double, double* %4
%821 = call double @tan(double %820)
%822 = fmul double %821, 0.000000e+00
%823 = fmul double %821, 1.000000e+00
%824 = fsub double %822, 0.000000e+00
%825 = fadd double %823, 0.000000e+00
%826 = fcmp uno double %824, %824
br i1 %826, label %827, label %833
827: ; preds = %817
%828 = fcmp uno double %825, %825
br i1 %828, label %829, label %833
829: ; preds = %827
%830 = call { double, double } @__muldc3(double %821, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%831 = extractvalue { double, double } %830, 0
%832 = extractvalue { double, double } %830, 1
br label %833
833: ; preds = %829, %827, %817
%834 = phi double [ %824, %817 ], [ %824, %827 ], [ %831, %829 ]
%835 = phi double [ %825, %817 ], [ %825, %827 ], [ %832, %829 ]
%836 = fadd double %819, %834
%837 = load double, double* %3
%838 = fneg double %837
%839 = call double @tan(double %838)
%840 = load double, double* %4
%841 = call double @tan(double %840)
%842 = fmul double %841, 0.000000e+00
%843 = fmul double %841, 1.000000e+00
%844 = fsub double %842, 0.000000e+00
%845 = fadd double %843, 0.000000e+00
%846 = fcmp uno double %844, %844
br i1 %846, label %847, label %853
847: ; preds = %833
%848 = fcmp uno double %845, %845
br i1 %848, label %849, label %853
849: ; preds = %847
%850 = call { double, double } @__muldc3(double %841, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%851 = extractvalue { double, double } %850, 0
%852 = extractvalue { double, double } %850, 1
br label %853
853: ; preds = %849, %847, %833
%854 = phi double [ %844, %833 ], [ %844, %847 ], [ %851, %849 ]
%855 = phi double [ %845, %833 ], [ %845, %847 ], [ %852, %849 ]
%856 = fadd double %839, %854
%857 = fneg double %855
%858 = fneg double %856
%859 = fneg double %857
%860 = fcmp une double %836, %858
%861 = fcmp une double %835, %859
%862 = or i1 %860, %861
br i1 %862, label %863, label %865
863: ; preds = %853
%864 = call i32 (...) @link_error()
br label %865
865: ; preds = %863, %853
ret void
}

LLVM IR (-O2):
define void @test2(double %0, double %1) {
%3 = fsub double %0, %1
%4 = tail call double @tan(double %3)
%5 = fneg double %4
%6 = fsub double %1, %0
%7 = tail call double @tan(double %6)
%8 = fcmp une double %7, %5
br i1 %8, label %9, label %11
9: ; preds = %2
%10 = tail call i32 (...) @link_error()
br label %11
11: ; preds = %9, %2
%12 = tail call double @sin(double %3)
%13 = fneg double %12
%14 = tail call double @sin(double %6)
%15 = fcmp une double %14, %13
br i1 %15, label %16, label %18
16: ; preds = %11
%17 = tail call i32 (...) @link_error()
br label %18
18: ; preds = %16, %11
%19 = fneg double %0
%20 = fmul double %19, %1
%21 = tail call double @cos(double %20)
%22 = fmul double %0, %1
%23 = tail call double @cos(double %22)
%24 = fcmp une double %21, %23
br i1 %24, label %25, label %27
25: ; preds = %18
%26 = tail call i32 (...) @link_error()
br label %27
27: ; preds = %25, %18
%28 = fneg double %1
%29 = fmul double %28, %0
%30 = tail call double @cos(double %29)
%31 = tail call double @cos(double %22)
%32 = fcmp une double %30, %31
br i1 %32, label %33, label %35
33: ; preds = %27
%34 = tail call i32 (...) @link_error()
br label %35
35: ; preds = %33, %27
%36 = fdiv double %19, %1
%37 = tail call double @cos(double %36)
%38 = fdiv double %0, %1
%39 = tail call double @cos(double %38)
%40 = fcmp une double %37, %39
br i1 %40, label %41, label %43
41: ; preds = %35
%42 = tail call i32 (...) @link_error()
br label %43
43: ; preds = %41, %35
%44 = fdiv double %0, %28
%45 = tail call double @cos(double %44)
%46 = tail call double @cos(double %38)
%47 = fcmp une double %45, %46
br i1 %47, label %48, label %50
48: ; preds = %43
%49 = tail call i32 (...) @link_error()
br label %50
50: ; preds = %48, %43
%51 = tail call double @tan(double %44)
%52 = tail call double @llvm.fabs.f64(double %51)
%53 = tail call double @cos(double %52)
%54 = tail call double @tan(double %38)
%55 = tail call double @cos(double %54)
%56 = fcmp une double %53, %55
br i1 %56, label %57, label %59
57: ; preds = %50
%58 = tail call i32 (...) @link_error()
br label %59
59: ; preds = %57, %50
%60 = fcmp olt double %1, 1.000000e+01
%61 = select i1 %60, double %19, double %1
%62 = tail call double @cos(double %61)
%63 = select i1 %60, double %0, double %1
%64 = tail call double @cos(double %63)
%65 = fcmp une double %62, %64
br i1 %65, label %66, label %68
66: ; preds = %59
%67 = tail call i32 (...) @link_error()
br label %68
68: ; preds = %66, %59
%69 = select i1 %60, double %0, double %28
%70 = tail call double @cos(double %69)
%71 = tail call double @cos(double %63)
%72 = fcmp une double %70, %71
br i1 %72, label %73, label %75
73: ; preds = %68
%74 = tail call i32 (...) @link_error()
br label %75
75: ; preds = %73, %68
br i1 %60, label %76, label %79
76: ; preds = %75
%77 = tail call double @llvm.fabs.f64(double %0)
%78 = tail call double @cos(double %77)
br label %87
79: ; preds = %75
%80 = fcmp olt double %0, 2.000000e+01
%81 = tail call double @llvm.fabs.f64(double %1)
%82 = select i1 %80, double %0, double %81
%83 = tail call double @tan(double %82)
%84 = tail call double @cos(double %83)
%85 = select i1 %80, double %0, double %1
%86 = tail call double @tan(double %85)
br label %87
87: ; preds = %76, %79
%88 = phi double [ %84, %79 ], [ %78, %76 ]
%89 = phi double [ %86, %79 ], [ %0, %76 ]
%90 = tail call double @cos(double %89)
%91 = fcmp une double %88, %90
br i1 %91, label %92, label %94
92: ; preds = %87
%93 = tail call i32 (...) @link_error()
br label %94
94: ; preds = %92, %87
%95 = fmul double %1, 3.000000e+00
%96 = tail call double @cos(double %0)
%97 = fmul double %95, 3.000000e+00
%98 = tail call double @cos(double %0)
%99 = fcmp une double %96, %98
br i1 %99, label %100, label %102
100: ; preds = %94
%101 = tail call i32 (...) @link_error()
br label %102
102: ; preds = %100, %94
%103 = fneg double %97
%104 = fdiv double %0, %103
%105 = tail call double @tan(double %104)
%106 = tail call double @llvm.fabs.f64(double %105)
%107 = tail call double @cos(double %106)
%108 = fdiv double %0, %97
%109 = tail call double @tan(double %108)
%110 = tail call double @cos(double %109)
%111 = fcmp une double %107, %110
br i1 %111, label %112, label %114
112: ; preds = %102
%113 = tail call i32 (...) @link_error()
br label %114
114: ; preds = %112, %102
%115 = tail call double @llvm.copysign.f64(double %0, double %97)
%116 = tail call double @cos(double %115)
%117 = tail call double @cos(double %0)
%118 = fcmp une double %116, %117
br i1 %118, label %119, label %121
119: ; preds = %114
%120 = tail call i32 (...) @link_error()
br label %121
121: ; preds = %119, %114
%122 = tail call double @llvm.fabs.f64(double %0)
%123 = fmul double %97, 2.000000e+00
%124 = tail call double @llvm.copysign.f64(double %0, double %123)
%125 = tail call double @cos(double %124)
%126 = fmul double %123, 2.000000e+00
%127 = tail call double @cos(double %0)
%128 = fcmp une double %125, %127
br i1 %128, label %129, label %131
129: ; preds = %121
%130 = tail call i32 (...) @link_error()
br label %131
131: ; preds = %129, %121
%132 = tail call double @hypot(double %0, double 0.000000e+00)
%133 = fcmp une double %132, %122
br i1 %133, label %134, label %136
134: ; preds = %131
%135 = tail call i32 (...) @link_error()
br label %136
136: ; preds = %134, %131
%137 = tail call double @hypot(double 0.000000e+00, double %0)
%138 = fcmp une double %137, %122
br i1 %138, label %139, label %141
139: ; preds = %136
%140 = tail call i32 (...) @link_error()
br label %141
141: ; preds = %139, %136
%142 = tail call double @hypot(double %0, double %0)
%143 = fmul double %122, 0x3FF6A09E667F3BCD
%144 = fcmp une double %142, %143
br i1 %144, label %145, label %147
145: ; preds = %141
%146 = tail call i32 (...) @link_error()
br label %147
147: ; preds = %145, %141
%148 = tail call double @hypot(double %19, double %126)
%149 = tail call double @hypot(double %0, double %126)
%150 = fcmp une double %148, %149
br i1 %150, label %151, label %153
151: ; preds = %147
%152 = tail call i32 (...) @link_error()
br label %153
153: ; preds = %151, %147
%154 = fneg double %126
%155 = tail call double @hypot(double %0, double %154)
%156 = tail call double @hypot(double %0, double %126)
%157 = fcmp une double %155, %156
br i1 %157, label %158, label %160
158: ; preds = %153
%159 = tail call i32 (...) @link_error()
br label %160
160: ; preds = %158, %153
%161 = tail call double @hypot(double %19, double %154)
%162 = tail call double @hypot(double %0, double %126)
%163 = fcmp une double %161, %162
br i1 %163, label %164, label %166
164: ; preds = %160
%165 = tail call i32 (...) @link_error()
br label %166
166: ; preds = %164, %160
%167 = tail call double @hypot(double %122, double %126)
%168 = tail call double @hypot(double %0, double %126)
%169 = fcmp une double %167, %168
br i1 %169, label %170, label %172
170: ; preds = %166
%171 = tail call i32 (...) @link_error()
br label %172
172: ; preds = %170, %166
%173 = tail call double @llvm.fabs.f64(double %126)
%174 = tail call double @hypot(double %0, double %173)
%175 = tail call double @hypot(double %0, double %126)
%176 = fcmp une double %174, %175
br i1 %176, label %177, label %179
177: ; preds = %172
%178 = tail call i32 (...) @link_error()
br label %179
179: ; preds = %177, %172
%180 = tail call double @hypot(double %122, double %173)
%181 = tail call double @hypot(double %0, double %126)
%182 = fcmp une double %180, %181
br i1 %182, label %183, label %185
183: ; preds = %179
%184 = tail call i32 (...) @link_error()
br label %185
185: ; preds = %183, %179
%186 = tail call double @llvm.fabs.f64(double %19)
%187 = fneg double %186
%188 = tail call double @llvm.fabs.f64(double %154)
%189 = fneg double %188
%190 = tail call double @hypot(double %187, double %189)
%191 = tail call double @hypot(double %0, double %126)
%192 = fcmp une double %190, %191
br i1 %192, label %193, label %195
193: ; preds = %185
%194 = tail call i32 (...) @link_error()
br label %195
195: ; preds = %193, %185
%196 = tail call double @hypot(double %19, double 0.000000e+00)
%197 = fcmp une double %196, %122
br i1 %197, label %198, label %200
198: ; preds = %195
%199 = tail call i32 (...) @link_error()
br label %200
200: ; preds = %198, %195
%201 = tail call double @hypot(double %19, double %0)
%202 = fcmp une double %201, %143
br i1 %202, label %203, label %205
203: ; preds = %200
%204 = tail call i32 (...) @link_error()
br label %205
205: ; preds = %203, %200
%206 = tail call i32 (double, ...) bitcast (i32 (...)* @pure to i32 (double, ...)*)(double %0)
%207 = sitofp i32 %206 to double
%208 = tail call i32 (double, ...) bitcast (i32 (...)* @pure to i32 (double, ...)*)(double %0)
%209 = sub nsw i32 0, %208
%210 = sitofp i32 %209 to double
%211 = tail call double @hypot(double %207, double %210)
%212 = tail call i32 (double, ...) bitcast (i32 (...)* @pure to i32 (double, ...)*)(double %0)
%213 = sitofp i32 %212 to double
%214 = tail call double @llvm.fabs.f64(double %213)
%215 = fmul double %214, 0x3FF6A09E667F3BCD
%216 = fcmp une double %211, %215
br i1 %216, label %217, label %219
217: ; preds = %205
%218 = tail call i32 (...) @link_error()
br label %219
219: ; preds = %217, %205
%220 = tail call double @tan(double %19)
%221 = tail call double @tan(double %173)
%222 = fneg double %221
%223 = tail call double @hypot(double %220, double %222)
%224 = tail call double @tan(double %0)
%225 = tail call double @tan(double %126)
%226 = tail call double @hypot(double %224, double %225)
%227 = fcmp une double %223, %226
br i1 %227, label %228, label %230
228: ; preds = %219
%229 = tail call i32 (...) @link_error()
br label %230
230: ; preds = %228, %219
%231 = tail call double @llvm.maxnum.f64(double %0, double %126)
%232 = tail call double @llvm.minnum.f64(double %231, double %126)
%233 = fcmp une double %232, %126
br i1 %233, label %234, label %237
234: ; preds = %230
%235 = tail call i32 (...) @link_error()
%236 = tail call i32 (...) @link_error()
br label %237
237: ; preds = %230, %234
%238 = tail call double @llvm.minnum.f64(double %0, double %231)
%239 = fcmp une double %238, %0
br i1 %239, label %240, label %243
240: ; preds = %237
%241 = tail call i32 (...) @link_error()
%242 = tail call i32 (...) @link_error()
br label %243
243: ; preds = %237, %240
%244 = tail call double @llvm.minnum.f64(double %0, double %126)
%245 = tail call double @llvm.maxnum.f64(double %244, double %126)
%246 = fcmp une double %245, %126
br i1 %246, label %247, label %250
247: ; preds = %243
%248 = tail call i32 (...) @link_error()
%249 = tail call i32 (...) @link_error()
br label %250
250: ; preds = %243, %247
%251 = tail call double @llvm.maxnum.f64(double %0, double %244)
%252 = fcmp une double %251, %0
br i1 %252, label %253, label %256
253: ; preds = %250
%254 = tail call i32 (...) @link_error()
%255 = tail call i32 (...) @link_error()
br label %256
256: ; preds = %250, %253
%257 = fcmp uno double %0, 0.000000e+00
br i1 %257, label %258, label %260
258: ; preds = %256
%259 = tail call i32 (...) @link_error()
br label %260
260: ; preds = %258, %256
%261 = fmul double %0, 0.000000e+00
%262 = fadd double %0, 0.000000e+00
%263 = fcmp uno double %261, 0.000000e+00
br i1 %263, label %264, label %270
264: ; preds = %260
%265 = fcmp uno double %262, 0.000000e+00
br i1 %265, label %266, label %270
266: ; preds = %264
%267 = tail call { double, double } @__muldc3(double %0, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%268 = extractvalue { double, double } %267, 0
%269 = extractvalue { double, double } %267, 1
br label %270
270: ; preds = %266, %264, %260
%271 = phi double [ %261, %260 ], [ %261, %264 ], [ %268, %266 ]
%272 = phi double [ %262, %260 ], [ %262, %264 ], [ %269, %266 ]
%273 = fmul double %0, -0.000000e+00
%274 = fsub double 0.000000e+00, %0
%275 = fcmp uno double %273, 0.000000e+00
br i1 %275, label %276, label %282
276: ; preds = %270
%277 = fcmp uno double %274, 0.000000e+00
br i1 %277, label %278, label %282
278: ; preds = %276
%279 = tail call { double, double } @__muldc3(double %19, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%280 = extractvalue { double, double } %279, 0
%281 = extractvalue { double, double } %279, 1
br label %282
282: ; preds = %278, %276, %270
%283 = phi double [ %273, %270 ], [ %273, %276 ], [ %280, %278 ]
%284 = phi double [ %274, %270 ], [ %274, %276 ], [ %281, %278 ]
%285 = fneg double %283
%286 = fneg double %284
%287 = fcmp une double %271, %285
%288 = fcmp une double %272, %286
%289 = or i1 %287, %288
br i1 %289, label %290, label %292
290: ; preds = %282
%291 = tail call i32 (...) @link_error()
br label %292
292: ; preds = %290, %282
%293 = fsub double %0, %126
%294 = fmul double %293, 0.000000e+00
%295 = fadd double %293, 0.000000e+00
%296 = fcmp uno double %294, 0.000000e+00
br i1 %296, label %297, label %303
297: ; preds = %292
%298 = fcmp uno double %295, 0.000000e+00
br i1 %298, label %299, label %303
299: ; preds = %297
%300 = tail call { double, double } @__muldc3(double %293, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%301 = extractvalue { double, double } %300, 0
%302 = extractvalue { double, double } %300, 1
br label %303
303: ; preds = %299, %297, %292
%304 = phi double [ %294, %292 ], [ %294, %297 ], [ %301, %299 ]
%305 = phi double [ %295, %292 ], [ %295, %297 ], [ %302, %299 ]
%306 = fadd double %304, %0
%307 = fsub double %126, %0
%308 = fmul double %307, 0.000000e+00
%309 = fadd double %307, 0.000000e+00
%310 = fcmp uno double %308, 0.000000e+00
br i1 %310, label %311, label %317
311: ; preds = %303
%312 = fcmp uno double %309, 0.000000e+00
br i1 %312, label %313, label %317
313: ; preds = %311
%314 = tail call { double, double } @__muldc3(double %307, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%315 = extractvalue { double, double } %314, 0
%316 = extractvalue { double, double } %314, 1
br label %317
317: ; preds = %313, %311, %303
%318 = phi double [ %308, %303 ], [ %308, %311 ], [ %315, %313 ]
%319 = phi double [ %309, %303 ], [ %309, %311 ], [ %316, %313 ]
%320 = fsub double %318, %0
%321 = fneg double %320
%322 = fneg double %319
%323 = fcmp une double %306, %321
%324 = fcmp une double %305, %322
%325 = or i1 %323, %324
br i1 %325, label %326, label %328
326: ; preds = %317
%327 = tail call i32 (...) @link_error()
br label %328
328: ; preds = %326, %317
br i1 %296, label %329, label %338
329: ; preds = %328
%330 = fcmp uno double %295, 0.000000e+00
br i1 %330, label %331, label %338
331: ; preds = %329
%332 = tail call { double, double } @__muldc3(double %293, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%333 = extractvalue { double, double } %332, 0
%334 = extractvalue { double, double } %332, 1
%335 = tail call { double, double } @__muldc3(double %293, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%336 = extractvalue { double, double } %335, 0
%337 = extractvalue { double, double } %335, 1
br label %338
338: ; preds = %329, %328, %331
%339 = phi double [ %333, %331 ], [ %294, %328 ], [ %294, %329 ]
%340 = phi double [ %334, %331 ], [ %295, %328 ], [ %295, %329 ]
%341 = phi double [ %336, %331 ], [ %294, %328 ], [ %294, %329 ]
%342 = phi double [ %337, %331 ], [ %295, %328 ], [ %295, %329 ]
%343 = fadd double %339, %0
%344 = fsub double %19, %341
%345 = fneg double %344
%346 = fcmp une double %343, %345
%347 = fcmp une double %340, %342
%348 = or i1 %346, %347
br i1 %348, label %349, label %351
349: ; preds = %338
%350 = tail call i32 (...) @link_error()
br label %351
351: ; preds = %349, %338
%352 = tail call double @tan(double %0)
%353 = tail call double @sin(double %126)
%354 = fmul double %353, 0.000000e+00
%355 = fadd double %353, 0.000000e+00
%356 = fcmp uno double %354, 0.000000e+00
br i1 %356, label %357, label %363
357: ; preds = %351
%358 = fcmp uno double %355, 0.000000e+00
br i1 %358, label %359, label %363
359: ; preds = %357
%360 = tail call { double, double } @__muldc3(double %353, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%361 = extractvalue { double, double } %360, 0
%362 = extractvalue { double, double } %360, 1
br label %363
363: ; preds = %359, %357, %351
%364 = phi double [ %354, %351 ], [ %354, %357 ], [ %361, %359 ]
%365 = phi double [ %355, %351 ], [ %355, %357 ], [ %362, %359 ]
%366 = fadd double %352, %364
%367 = tail call { double, double } @ccos(double %366, double %365)
%368 = extractvalue { double, double } %367, 0
%369 = extractvalue { double, double } %367, 1
%370 = tail call double @tan(double %19)
%371 = tail call double @sin(double %154)
%372 = fneg double %371
%373 = fmul double %371, -0.000000e+00
%374 = fsub double 0.000000e+00, %371
%375 = fcmp uno double %373, 0.000000e+00
br i1 %375, label %376, label %382
376: ; preds = %363
%377 = fcmp uno double %374, 0.000000e+00
br i1 %377, label %378, label %382
378: ; preds = %376
%379 = tail call { double, double } @__muldc3(double %372, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%380 = extractvalue { double, double } %379, 0
%381 = extractvalue { double, double } %379, 1
br label %382
382: ; preds = %378, %376, %363
%383 = phi double [ %373, %363 ], [ %373, %376 ], [ %380, %378 ]
%384 = phi double [ %374, %363 ], [ %374, %376 ], [ %381, %378 ]
%385 = fsub double %383, %370
%386 = tail call { double, double } @ccos(double %385, double %384)
%387 = extractvalue { double, double } %386, 0
%388 = extractvalue { double, double } %386, 1
%389 = fcmp une double %368, %387
%390 = fcmp une double %369, %388
%391 = or i1 %389, %390
br i1 %391, label %392, label %394
392: ; preds = %382
%393 = tail call i32 (...) @link_error()
br label %394
394: ; preds = %392, %382
%395 = tail call double @tan(double %0)
%396 = tail call double @sin(double %293)
%397 = fmul double %396, 0.000000e+00
%398 = fadd double %396, 0.000000e+00
%399 = fcmp uno double %397, 0.000000e+00
br i1 %399, label %400, label %406
400: ; preds = %394
%401 = fcmp uno double %398, 0.000000e+00
br i1 %401, label %402, label %406
402: ; preds = %400
%403 = tail call { double, double } @__muldc3(double %396, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%404 = extractvalue { double, double } %403, 0
%405 = extractvalue { double, double } %403, 1
br label %406
406: ; preds = %402, %400, %394
%407 = phi double [ %397, %394 ], [ %397, %400 ], [ %404, %402 ]
%408 = phi double [ %398, %394 ], [ %398, %400 ], [ %405, %402 ]
%409 = fadd double %395, %407
%410 = tail call { double, double } @ccos(double %409, double %408)
%411 = extractvalue { double, double } %410, 0
%412 = extractvalue { double, double } %410, 1
%413 = tail call double @tan(double %19)
%414 = fneg double %413
%415 = tail call double @sin(double %307)
%416 = fmul double %415, 0.000000e+00
%417 = fadd double %415, 0.000000e+00
%418 = fcmp uno double %416, 0.000000e+00
br i1 %418, label %419, label %425
419: ; preds = %406
%420 = fcmp uno double %417, 0.000000e+00
br i1 %420, label %421, label %425
421: ; preds = %419
%422 = tail call { double, double } @__muldc3(double %415, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%423 = extractvalue { double, double } %422, 0
%424 = extractvalue { double, double } %422, 1
br label %425
425: ; preds = %421, %419, %406
%426 = phi double [ %416, %406 ], [ %416, %419 ], [ %423, %421 ]
%427 = phi double [ %417, %406 ], [ %417, %419 ], [ %424, %421 ]
%428 = fsub double %414, %426
%429 = fneg double %427
%430 = tail call { double, double } @ccos(double %428, double %429)
%431 = extractvalue { double, double } %430, 0
%432 = extractvalue { double, double } %430, 1
%433 = fcmp une double %411, %431
%434 = fcmp une double %412, %432
%435 = or i1 %433, %434
br i1 %435, label %436, label %438
436: ; preds = %425
%437 = tail call i32 (...) @link_error()
br label %438
438: ; preds = %436, %425
br i1 %263, label %439, label %449
439: ; preds = %438
%440 = fcmp uno double %262, 0.000000e+00
br i1 %440, label %441, label %449
441: ; preds = %439
%442 = tail call { double, double } @__muldc3(double %0, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%443 = extractvalue { double, double } %442, 0
%444 = extractvalue { double, double } %442, 1
%445 = fadd double %444, 0.000000e+00
%446 = tail call { double, double } @__muldc3(double %0, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%447 = extractvalue { double, double } %446, 0
%448 = extractvalue { double, double } %446, 1
br label %449
449: ; preds = %439, %438, %441
%450 = phi double [ %445, %441 ], [ %262, %438 ], [ %262, %439 ]
%451 = phi double [ %443, %441 ], [ %261, %438 ], [ %261, %439 ]
%452 = phi double [ %447, %441 ], [ %261, %438 ], [ %261, %439 ]
%453 = phi double [ %448, %441 ], [ %262, %438 ], [ %262, %439 ]
%454 = fadd double %451, -5.000000e+00
%455 = fadd double %452, 5.000000e+00
%456 = fadd double %453, 0.000000e+00
%457 = fneg double %455
%458 = fcmp une double %454, %457
%459 = fcmp une double %450, %456
%460 = or i1 %458, %459
br i1 %460, label %461, label %463
461: ; preds = %449
%462 = tail call i32 (...) @link_error()
br label %463
463: ; preds = %461, %449
%464 = tail call double @tan(double %0)
%465 = tail call double @tan(double %126)
%466 = fmul double %465, 0.000000e+00
%467 = fadd double %465, 0.000000e+00
%468 = fcmp uno double %466, 0.000000e+00
br i1 %468, label %469, label %475
469: ; preds = %463
%470 = fcmp uno double %467, 0.000000e+00
br i1 %470, label %471, label %475
471: ; preds = %469
%472 = tail call { double, double } @__muldc3(double %465, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%473 = extractvalue { double, double } %472, 0
%474 = extractvalue { double, double } %472, 1
br label %475
475: ; preds = %471, %469, %463
%476 = phi double [ %466, %463 ], [ %466, %469 ], [ %473, %471 ]
%477 = phi double [ %467, %463 ], [ %467, %469 ], [ %474, %471 ]
%478 = fadd double %464, %476
%479 = tail call double @tan(double %19)
%480 = tail call double @tan(double %126)
%481 = fmul double %480, 0.000000e+00
%482 = fadd double %480, 0.000000e+00
%483 = fcmp uno double %481, 0.000000e+00
br i1 %483, label %484, label %490
484: ; preds = %475
%485 = fcmp uno double %482, 0.000000e+00
br i1 %485, label %486, label %490
486: ; preds = %484
%487 = tail call { double, double } @__muldc3(double %480, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00)
%488 = extractvalue { double, double } %487, 0
%489 = extractvalue { double, double } %487, 1
br label %490
490: ; preds = %486, %484, %475
%491 = phi double [ %481, %475 ], [ %481, %484 ], [ %488, %486 ]
%492 = phi double [ %482, %475 ], [ %482, %484 ], [ %489, %486 ]
%493 = fadd double %479, %491
%494 = fneg double %493
%495 = fcmp une double %478, %494
%496 = fcmp une double %477, %492
%497 = or i1 %495, %496
br i1 %497, label %498, label %500
498: ; preds = %490
%499 = tail call i32 (...) @link_error()
br label %500
500: ; preds = %498, %490
ret void
}