#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
double vrr(double, double, double, double, int, int, int, double, double,
           double, double, double, double, double, double, double, double, int,
           int, int, double, double, double, double, double, double,
           int /*<<< orphan*/);
double hrr(double xa, double ya, double za, double norma, int la, int ma,
           int na, double alphaa, double xb, double yb, double zb, double normb,
           int lb, int mb, int nb, double alphab, double xc, double yc,
           double zc, double normc, int lc, int mc, int nc, double alphac,
           double xd, double yd, double zd, double normd, int ld, int md,
           int nd, double alphad) {
  if (lb > 0) {
    return hrr(xa, ya, za, norma, la + 1, ma, na, alphaa, xb, yb, zb, normb,
               lb - 1, mb, nb, alphab, xc, yc, zc, normc, lc, mc, nc, alphac,
               xd, yd, zd, normd, ld, md, nd, alphad) +
           (xa - xb) * hrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb,
                           normb, lb - 1, mb, nb, alphab, xc, yc, zc, normc, lc,
                           mc, nc, alphac, xd, yd, zd, normd, ld, md, nd,
                           alphad);
  } else if (mb > 0) {
    return hrr(xa, ya, za, norma, la, ma + 1, na, alphaa, xb, yb, zb, normb, lb,
               mb - 1, nb, alphab, xc, yc, zc, normc, lc, mc, nc, alphac, xd,
               yd, zd, normd, ld, md, nd, alphad) +
           (ya - yb) * hrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb,
                           normb, lb, mb - 1, nb, alphab, xc, yc, zc, normc, lc,
                           mc, nc, alphac, xd, yd, zd, normd, ld, md, nd,
                           alphad);
  } else if (nb > 0) {
    return hrr(xa, ya, za, norma, la, ma, na + 1, alphaa, xb, yb, zb, normb, lb,
               mb, nb - 1, alphab, xc, yc, zc, normc, lc, mc, nc, alphac, xd,
               yd, zd, normd, ld, md, nd, alphad) +
           (za - zb) * hrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb,
                           normb, lb, mb, nb - 1, alphab, xc, yc, zc, normc, lc,
                           mc, nc, alphac, xd, yd, zd, normd, ld, md, nd,
                           alphad);
  } else if (ld > 0) {
    return hrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb, normb, lb, mb,
               nb, alphab, xc, yc, zc, normc, lc + 1, mc, nc, alphac, xd, yd,
               zd, normd, ld - 1, md, nd, alphad) +
           (xc - xd) * hrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb,
                           normb, lb, mb, nb, alphab, xc, yc, zc, normc, lc, mc,
                           nc, alphac, xd, yd, zd, normd, ld - 1, md, nd,
                           alphad);
  } else if (md > 0) {
    return hrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb, normb, lb, mb,
               nb, alphab, xc, yc, zc, normc, lc, mc + 1, nc, alphac, xd, yd,
               zd, normd, ld, md - 1, nd, alphad) +
           (yc - yd) * hrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb,
                           normb, lb, mb, nb, alphab, xc, yc, zc, normc, lc, mc,
                           nc, alphac, xd, yd, zd, normd, ld, md - 1, nd,
                           alphad);
  } else if (nd > 0) {
    return hrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb, normb, lb, mb,
               nb, alphab, xc, yc, zc, normc, lc, mc, nc + 1, alphac, xd, yd,
               zd, normd, ld, md, nd - 1, alphad) +
           (zc - zd) * hrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb,
                           normb, lb, mb, nb, alphab, xc, yc, zc, normc, lc, mc,
                           nc, alphac, xd, yd, zd, normd, ld, md, nd - 1,
                           alphad);
  }
  return vrr(xa, ya, za, norma, la, ma, na, alphaa, xb, yb, zb, normb, alphab,
             xc, yc, zc, normc, lc, mc, nc, alphac, xd, yd, zd, normd, alphad,
             0);
}


x86 assembly (clang, -O0):
<hrr>:
push   %rbp
mov    %rsp,%rbp
push   %r15
push   %r14
push   %rbx
sub    $0x368,%rsp
movsd  0x98(%rbp),%xmm8
mov    0x90(%rbp),%eax
mov    0x88(%rbp),%eax
mov    0x80(%rbp),%eax
movsd  0x78(%rbp),%xmm8
movsd  0x70(%rbp),%xmm8
movsd  0x68(%rbp),%xmm8
movsd  0x60(%rbp),%xmm8
movsd  0x58(%rbp),%xmm8
mov    0x50(%rbp),%eax
mov    0x48(%rbp),%eax
mov    0x40(%rbp),%eax
movsd  0x38(%rbp),%xmm8
movsd  0x30(%rbp),%xmm8
movsd  0x28(%rbp),%xmm8
movsd  0x20(%rbp),%xmm8
movsd  0x18(%rbp),%xmm8
movsd  0x10(%rbp),%xmm8
movsd  %xmm0,-0x28(%rbp)
movsd  %xmm1,-0x30(%rbp)
movsd  %xmm2,-0x38(%rbp)
movsd  %xmm3,-0x40(%rbp)
mov    %edi,-0x44(%rbp)
mov    %esi,-0x48(%rbp)
mov    %edx,-0x4c(%rbp)
movsd  %xmm4,-0x58(%rbp)
movsd  %xmm5,-0x60(%rbp)
movsd  %xmm6,-0x68(%rbp)
movsd  %xmm7,-0x70(%rbp)
mov    %ecx,-0x74(%rbp)
mov    %r8d,-0x78(%rbp)
mov    %r9d,-0x7c(%rbp)
cmpl   $0x0,-0x74(%rbp)
jle    1504 <hrr+0x3e4>
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
add    $0x1,%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
sub    $0x1,%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0xd8(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0xd0(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0xc8(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0xc0(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
subsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
sub    $0x1,%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0xb0(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0xa8(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0xa0(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x98(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  -0x90(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x88(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
jmp    2668 <hrr+0x1548>
cmpl   $0x0,-0x78(%rbp)
jle    1838 <hrr+0x718>
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
add    $0x1,%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
sub    $0x1,%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0x140(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x138(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x130(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x128(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x120(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
sub    $0x1,%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x110(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x108(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x100(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0xf8(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  -0xf0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0xe8(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
jmp    2668 <hrr+0x1548>
cmpl   $0x0,-0x7c(%rbp)
jle    1b6c <hrr+0xa4c>
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
add    $0x1,%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
sub    $0x1,%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0x1a0(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x198(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x190(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x188(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x180(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
subsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
sub    $0x1,%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x178(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x170(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x168(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x160(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x158(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  -0x150(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x148(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
jmp    2668 <hrr+0x1548>
cmpl   $0x0,0x80(%rbp)
jle    1ea4 <hrr+0xd84>
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
add    $0x1,%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
sub    $0x1,%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  -0x200(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x1f8(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x1f0(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x1e8(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x1e0(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  0x20(%rbp),%xmm0
subsd  0x60(%rbp),%xmm0
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
sub    $0x1,%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x1d8(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x1d0(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x1c8(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x1c0(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x1b8(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  -0x1b0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1a8(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
jmp    2668 <hrr+0x1548>
cmpl   $0x0,0x88(%rbp)
jle    21dc <hrr+0x10bc>
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x250(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
add    $0x1,%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
sub    $0x1,%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  -0x260(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x258(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x250(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x248(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x240(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  %xmm0,-0x210(%rbp)
ff
movsd  0x28(%rbp),%xmm0
subsd  0x68(%rbp),%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
sub    $0x1,%r10d
mov    0x90(%rbp),%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  -0x238(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x230(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x228(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x220(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x218(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  -0x210(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x208(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
jmp    2668 <hrr+0x1548>
cmpl   $0x0,0x90(%rbp)
jle    2511 <hrr+0x13f1>
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
add    $0x1,%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
sub    $0x1,%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  -0x2c0(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x2b8(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x2b0(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x2a8(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x2a0(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  %xmm0,-0x270(%rbp)
ff
movsd  0x30(%rbp),%xmm0
subsd  0x70(%rbp),%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
mov    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%r8d
mov    -0x7c(%rbp),%r9d
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%r15d
mov    0x48(%rbp),%r14d
mov    0x50(%rbp),%ebx
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
mov    0x80(%rbp),%r11d
mov    0x88(%rbp),%r10d
mov    0x90(%rbp),%eax
sub    $0x1,%eax
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x278(%rbp)
ff
movsd  -0x298(%rbp),%xmm0
ff
movsd  %xmm8,(%rsp)
movsd  -0x290(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x288(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x280(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x278(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
mov    %r15d,0x30(%rsp)
mov    %r14d,0x38(%rsp)
mov    %ebx,0x40(%rsp)
movsd  %xmm13,0x48(%rsp)
movsd  %xmm12,0x50(%rsp)
movsd  %xmm11,0x58(%rsp)
movsd  %xmm10,0x60(%rsp)
movsd  %xmm9,0x68(%rsp)
mov    %r11d,0x70(%rsp)
mov    %r10d,0x78(%rsp)
mov    %eax,0x80(%rsp)
movsd  %xmm8,0x88(%rsp)
call   1030 <hrr@plt>
movsd  -0x270(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x268(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
jmp    2668 <hrr+0x1548>
jmp    2516 <hrr+0x13f6>
jmp    251b <hrr+0x13fb>
jmp    2520 <hrr+0x1400>
jmp    2525 <hrr+0x1405>
jmp    252a <hrr+0x140a>
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
movsd  -0x40(%rbp),%xmm3
mov    -0x44(%rbp),%edi
mov    -0x48(%rbp),%esi
mov    -0x4c(%rbp),%edx
movsd  -0x58(%rbp),%xmm4
movsd  -0x60(%rbp),%xmm5
movsd  -0x68(%rbp),%xmm6
movsd  -0x70(%rbp),%xmm7
movsd  0x10(%rbp),%xmm8
movsd  0x18(%rbp),%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  0x20(%rbp),%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  0x28(%rbp),%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  0x30(%rbp),%xmm15
movsd  0x38(%rbp),%xmm14
mov    0x40(%rbp),%ecx
mov    0x48(%rbp),%r8d
mov    0x50(%rbp),%r9d
movsd  0x58(%rbp),%xmm13
movsd  0x60(%rbp),%xmm12
movsd  0x68(%rbp),%xmm11
movsd  0x70(%rbp),%xmm10
movsd  0x78(%rbp),%xmm9
movsd  0x98(%rbp),%xmm0
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  -0x2e8(%rbp),%xmm0
ff
xor    %eax,%eax
movsd  %xmm8,(%rsp)
movsd  -0x2e0(%rbp),%xmm8
ff ff
movsd  %xmm8,0x8(%rsp)
movsd  -0x2d8(%rbp),%xmm8
ff ff
movsd  %xmm8,0x10(%rsp)
movsd  -0x2d0(%rbp),%xmm8
ff ff
movsd  %xmm8,0x18(%rsp)
movsd  -0x2c8(%rbp),%xmm8
ff ff
movsd  %xmm15,0x20(%rsp)
movsd  %xmm14,0x28(%rsp)
movsd  %xmm13,0x30(%rsp)
movsd  %xmm12,0x38(%rsp)
movsd  %xmm11,0x40(%rsp)
movsd  %xmm10,0x48(%rsp)
movsd  %xmm9,0x50(%rsp)
movsd  %xmm8,0x58(%rsp)
movl   $0x0,0x60(%rsp)
call   1040 <vrr@plt>
movsd  %xmm0,-0x20(%rbp)
movsd  -0x20(%rbp),%xmm0
add    $0x368,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

x86 assembly (clang, -O2):
<hrr>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xf8,%rsp
movsd  %xmm7,0xa8(%rsp)
movsd  %xmm6,0xa0(%rsp)
movsd  %xmm5,0x98(%rsp)
mov    %esi,%ebp
movsd  0x1b8(%rsp),%xmm6
mov    0x1b0(%rsp),%r15d
mov    0x1a8(%rsp),%eax
mov    0x1a0(%rsp),%r10d
movsd  0x198(%rsp),%xmm7
movsd  0x190(%rsp),%xmm5
movsd  0x188(%rsp),%xmm15
movsd  0x180(%rsp),%xmm14
movsd  0x178(%rsp),%xmm13
mov    0x170(%rsp),%r11d
mov    0x168(%rsp),%r12d
mov    0x160(%rsp),%r14d
movsd  0x158(%rsp),%xmm12
movsd  0x150(%rsp),%xmm11
movsd  0x148(%rsp),%xmm10
movsd  0x140(%rsp),%xmm9
test   %ecx,%ecx
movsd  %xmm0,0xe0(%rsp)
movsd  %xmm1,0xd8(%rsp)
movsd  %xmm2,0xd0(%rsp)
movsd  %xmm3,0xc8(%rsp)
movsd  %xmm4,0xc0(%rsp)
jle    1442 <hrr+0x322>
mov    %rdi,%r13
add    $0x1,%edi
add    $0xffffffff,%ecx
movsd  %xmm6,0x88(%rsp)
mov    %r15d,0x80(%rsp)
mov    %eax,0x78(%rsp)
mov    %r10d,0x70(%rsp)
movsd  %xmm7,0x68(%rsp)
movsd  %xmm5,0x60(%rsp)
movsd  %xmm15,0x58(%rsp)
movsd  %xmm14,0x50(%rsp)
movsd  %xmm13,0x48(%rsp)
mov    %r11d,0x40(%rsp)
mov    %r12d,0x38(%rsp)
mov    %r14d,0x30(%rsp)
movsd  %xmm12,0x28(%rsp)
movsd  %xmm11,0x20(%rsp)
movsd  %xmm10,0x18(%rsp)
movsd  %xmm9,0x10(%rsp)
movsd  0x138(%rsp),%xmm5
movsd  %xmm5,0x8(%rsp)
movsd  0x130(%rsp),%xmm5
movsd  %xmm5,(%rsp)
mov    %ebp,%esi
mov    %rdx,%r14
movsd  0x98(%rsp),%xmm5
movsd  0xa0(%rsp),%xmm6
movsd  0xa8(%rsp),%xmm7
mov    %ecx,%ebx
mov    %r8d,%r12d
mov    %r9d,%r15d
call   1030 <hrr@plt>
movsd  %xmm0,0xb8(%rsp)
movsd  0xe0(%rsp),%xmm1
movapd %xmm1,%xmm0
movsd  0x98(%rsp),%xmm5
subsd  %xmm5,%xmm0
movsd  %xmm0,0xb0(%rsp)
movsd  0x1b8(%rsp),%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x198(%rsp),%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x190(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x188(%rsp),%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x180(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x178(%rsp),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x158(%rsp),%xmm0
movsd  %xmm0,0x28(%rsp)
movsd  0x150(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x148(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x140(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x138(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x130(%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    0x1b0(%rsp),%eax
mov    %eax,0x80(%rsp)
mov    0x1a8(%rsp),%eax
mov    %eax,0x78(%rsp)
mov    0x1a0(%rsp),%eax
mov    %eax,0x70(%rsp)
mov    0x170(%rsp),%eax
mov    %eax,0x40(%rsp)
mov    0x168(%rsp),%eax
mov    %eax,0x38(%rsp)
mov    0x160(%rsp),%eax
mov    %eax,0x30(%rsp)
movapd %xmm1,%xmm0
movsd  0xd8(%rsp),%xmm1
movsd  0xd0(%rsp),%xmm2
movsd  0xc8(%rsp),%xmm3
mov    %r13d,%edi
mov    %ebp,%esi
mov    %r14d,%edx
movsd  0xc0(%rsp),%xmm4
movsd  0xa0(%rsp),%xmm6
movsd  0xa8(%rsp),%xmm7
mov    %ebx,%ecx
mov    %r12d,%r8d
mov    %r15d,%r9d
jmp    18e5 <hrr+0x7c5>
test   %r8d,%r8d
jle    1697 <hrr+0x577>
lea    0x1(%rbp),%esi
mov    %r8d,%r13d
add    $0xffffffff,%r13d
movsd  %xmm6,0x88(%rsp)
mov    %r15d,0x80(%rsp)
mov    %eax,0x78(%rsp)
mov    %r10d,0x70(%rsp)
movsd  0x198(%rsp),%xmm8
movsd  %xmm8,0x68(%rsp)
movsd  %xmm5,0x60(%rsp)
movsd  0x188(%rsp),%xmm15
movsd  %xmm15,0x58(%rsp)
movsd  %xmm14,0x50(%rsp)
movsd  %xmm13,0x48(%rsp)
mov    %r11d,0x40(%rsp)
mov    %r12d,0x38(%rsp)
mov    %r14d,0x30(%rsp)
movsd  %xmm12,0x28(%rsp)
movsd  %xmm11,0x20(%rsp)
movsd  %xmm10,0x18(%rsp)
movsd  %xmm9,0x10(%rsp)
movsd  0x138(%rsp),%xmm5
movsd  %xmm5,0x8(%rsp)
movsd  0x130(%rsp),%xmm5
movsd  %xmm5,(%rsp)
mov    %rdi,%r15
mov    %rbp,0xe8(%rsp)
mov    %r9d,%r14d
mov    %rdx,%rbp
movsd  0x98(%rsp),%xmm5
movsd  0xa0(%rsp),%xmm6
movsd  0xa8(%rsp),%xmm7
mov    %ecx,%ebx
mov    %r13d,%r8d
mov    %r10d,%r12d
call   1030 <hrr@plt>
movsd  %xmm0,0xb8(%rsp)
movsd  0xd8(%rsp),%xmm1
movapd %xmm1,%xmm0
movsd  0xa0(%rsp),%xmm6
subsd  %xmm6,%xmm0
movsd  %xmm0,0xb0(%rsp)
movsd  0x1b8(%rsp),%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x198(%rsp),%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x190(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x188(%rsp),%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x180(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x178(%rsp),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x158(%rsp),%xmm0
movsd  %xmm0,0x28(%rsp)
movsd  0x150(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x148(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x140(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x138(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x130(%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    0x1b0(%rsp),%eax
mov    %eax,0x80(%rsp)
mov    0x1a8(%rsp),%eax
mov    %eax,0x78(%rsp)
mov    %r12d,0x70(%rsp)
mov    0x170(%rsp),%eax
mov    %eax,0x40(%rsp)
mov    0x168(%rsp),%eax
mov    %eax,0x38(%rsp)
mov    0x160(%rsp),%eax
mov    %eax,0x30(%rsp)
movsd  0xe0(%rsp),%xmm0
movsd  0xd0(%rsp),%xmm2
movsd  0xc8(%rsp),%xmm3
mov    %r15d,%edi
mov    0xe8(%rsp),%rsi
mov    %ebp,%edx
movsd  0xc0(%rsp),%xmm4
movsd  0x98(%rsp),%xmm5
movsd  0xa8(%rsp),%xmm7
mov    %ebx,%ecx
mov    %r13d,%r8d
mov    %r14d,%r9d
jmp    18e5 <hrr+0x7c5>
test   %r9d,%r9d
jle    190e <hrr+0x7ee>
mov    %rdx,0xf0(%rsp)
add    $0x1,%edx
mov    %r9d,%r13d
add    $0xffffffff,%r13d
movsd  %xmm6,0x88(%rsp)
mov    %r15d,0x80(%rsp)
mov    %eax,0x78(%rsp)
mov    %r10d,0x70(%rsp)
movsd  0x198(%rsp),%xmm8
movsd  %xmm8,0x68(%rsp)
movsd  %xmm5,0x60(%rsp)
movsd  0x188(%rsp),%xmm15
movsd  %xmm15,0x58(%rsp)
movsd  %xmm14,0x50(%rsp)
movsd  %xmm13,0x48(%rsp)
mov    %r11d,0x40(%rsp)
mov    %r12d,0x38(%rsp)
mov    %r14d,0x30(%rsp)
movsd  %xmm12,0x28(%rsp)
movsd  %xmm11,0x20(%rsp)
movsd  %xmm10,0x18(%rsp)
movsd  %xmm9,0x10(%rsp)
movsd  0x138(%rsp),%xmm5
movsd  %xmm5,0x8(%rsp)
movsd  0x130(%rsp),%xmm5
movsd  %xmm5,(%rsp)
mov    %rdi,%r15
mov    %ebp,%esi
movsd  0x98(%rsp),%xmm5
movsd  0xa0(%rsp),%xmm6
movsd  0xa8(%rsp),%xmm7
mov    %ecx,%r12d
mov    %r8d,%ebx
mov    %r13d,%r9d
call   1030 <hrr@plt>
movsd  %xmm0,0xb8(%rsp)
movsd  0xd0(%rsp),%xmm2
movapd %xmm2,%xmm0
movsd  0xa8(%rsp),%xmm7
subsd  %xmm7,%xmm0
movsd  %xmm0,0xb0(%rsp)
movsd  0x1b8(%rsp),%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x198(%rsp),%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x190(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x188(%rsp),%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x180(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x178(%rsp),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x158(%rsp),%xmm0
movsd  %xmm0,0x28(%rsp)
movsd  0x150(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x148(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x140(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x138(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x130(%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    0x1b0(%rsp),%eax
mov    %eax,0x80(%rsp)
mov    0x1a8(%rsp),%eax
mov    %eax,0x78(%rsp)
mov    0x1a0(%rsp),%eax
mov    %eax,0x70(%rsp)
mov    0x170(%rsp),%eax
mov    %eax,0x40(%rsp)
mov    0x168(%rsp),%eax
mov    %eax,0x38(%rsp)
mov    %r14d,0x30(%rsp)
movsd  0xe0(%rsp),%xmm0
movsd  0xd8(%rsp),%xmm1
movsd  0xc8(%rsp),%xmm3
mov    %r15d,%edi
mov    %ebp,%esi
mov    0xf0(%rsp),%rdx
movsd  0xc0(%rsp),%xmm4
movsd  0x98(%rsp),%xmm5
movsd  0xa0(%rsp),%xmm6
mov    %r12d,%ecx
mov    %ebx,%r8d
mov    %r13d,%r9d
call   1030 <hrr@plt>
mulsd  0xb0(%rsp),%xmm0
addsd  0xb8(%rsp),%xmm0
add    $0xf8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
test   %r10d,%r10d
mov    %rbp,0xe8(%rsp)
jle    1ae4 <hrr+0x9c4>
lea    0x1(%r14),%esi
add    $0xffffffff,%r10d
movsd  %xmm6,0x88(%rsp)
mov    %r15d,0x80(%rsp)
mov    %eax,0x78(%rsp)
mov    %r10d,0x70(%rsp)
movsd  0x198(%rsp),%xmm8
movsd  %xmm8,0x68(%rsp)
movsd  %xmm5,0x60(%rsp)
movsd  0x188(%rsp),%xmm15
movsd  %xmm15,0x58(%rsp)
movsd  %xmm14,0x50(%rsp)
movsd  %xmm13,0x48(%rsp)
mov    %r11d,0x40(%rsp)
mov    %r12d,0x38(%rsp)
mov    %esi,0x30(%rsp)
movsd  %xmm12,0x28(%rsp)
movsd  %xmm11,0x20(%rsp)
movsd  %xmm10,0x18(%rsp)
movsd  %xmm9,0x10(%rsp)
movsd  0x138(%rsp),%xmm5
movsd  %xmm5,0x8(%rsp)
movsd  0x130(%rsp),%xmm5
movsd  %xmm5,(%rsp)
mov    %rdi,%r15
mov    %ebp,%esi
mov    %r8d,%r13d
mov    %r9d,%r14d
mov    %rdx,%rbp
movsd  0x98(%rsp),%xmm5
movsd  0xa0(%rsp),%xmm6
movsd  0xa8(%rsp),%xmm7
mov    %ecx,%ebx
mov    %r10d,%r12d
call   1030 <hrr@plt>
movsd  %xmm0,0xb8(%rsp)
movsd  0x140(%rsp),%xmm1
movapd %xmm1,%xmm0
movsd  0x180(%rsp),%xmm2
subsd  %xmm2,%xmm0
movsd  %xmm0,0xb0(%rsp)
movsd  0x1b8(%rsp),%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x198(%rsp),%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x190(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  0x188(%rsp),%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  %xmm2,0x50(%rsp)
movsd  0x178(%rsp),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x158(%rsp),%xmm0
movsd  %xmm0,0x28(%rsp)
movsd  0x150(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x148(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  0x138(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x130(%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    0x1b0(%rsp),%eax
mov    %eax,0x80(%rsp)
mov    0x1a8(%rsp),%eax
mov    %eax,0x78(%rsp)
mov    %r12d,0x70(%rsp)
jmp    1cac <hrr+0xb8c>
test   %eax,%eax
jle    1d1e <hrr+0xbfe>
lea    0x1(%r12),%esi
add    $0xffffffff,%eax
movsd  %xmm6,0x88(%rsp)
mov    %r15d,0x80(%rsp)
mov    %eax,0x78(%rsp)
mov    %r10d,0x70(%rsp)
movsd  0x198(%rsp),%xmm8
movsd  %xmm8,0x68(%rsp)
movsd  %xmm5,0x60(%rsp)
movsd  0x188(%rsp),%xmm15
movsd  %xmm15,0x58(%rsp)
movsd  %xmm14,0x50(%rsp)
movsd  %xmm13,0x48(%rsp)
mov    %r11d,0x40(%rsp)
mov    %esi,0x38(%rsp)
mov    %r14d,0x30(%rsp)
movsd  %xmm12,0x28(%rsp)
movsd  %xmm11,0x20(%rsp)
movsd  %xmm10,0x18(%rsp)
movsd  %xmm9,0x10(%rsp)
movsd  0x138(%rsp),%xmm5
movsd  %xmm5,0x8(%rsp)
movsd  0x130(%rsp),%xmm5
movsd  %xmm5,(%rsp)
mov    %rdi,%r15
mov    %ebp,%esi
mov    %r8d,%r13d
mov    %r9d,%r14d
mov    %rdx,%rbp
movsd  0x98(%rsp),%xmm5
movsd  0xa0(%rsp),%xmm6
movsd  0xa8(%rsp),%xmm7
mov    %eax,%r12d
mov    %ecx,%ebx
call   1030 <hrr@plt>
movsd  %xmm0,0xb8(%rsp)
movsd  0x148(%rsp),%xmm2
movapd %xmm2,%xmm0
movsd  0x188(%rsp),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0xb0(%rsp)
movsd  0x1b8(%rsp),%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x198(%rsp),%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  0x190(%rsp),%xmm0
movsd  %xmm0,0x60(%rsp)
movsd  %xmm1,0x58(%rsp)
movsd  0x180(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x178(%rsp),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x158(%rsp),%xmm0
movsd  %xmm0,0x28(%rsp)
movsd  0x150(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  %xmm2,0x18(%rsp)
movsd  0x140(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x138(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x130(%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    0x1b0(%rsp),%eax
mov    %eax,0x80(%rsp)
mov    %r12d,0x78(%rsp)
mov    0x1a0(%rsp),%eax
mov    %eax,0x70(%rsp)
mov    0x170(%rsp),%eax
mov    %eax,0x40(%rsp)
mov    0x168(%rsp),%eax
mov    %eax,0x38(%rsp)
mov    0x160(%rsp),%eax
mov    %eax,0x30(%rsp)
movsd  0xe0(%rsp),%xmm0
movsd  0xd8(%rsp),%xmm1
movsd  0xd0(%rsp),%xmm2
movsd  0xc8(%rsp),%xmm3
mov    %r15d,%edi
mov    0xe8(%rsp),%rsi
mov    %ebp,%edx
movsd  0xc0(%rsp),%xmm4
movsd  0x98(%rsp),%xmm5
movsd  0xa0(%rsp),%xmm6
jmp    1681 <hrr+0x561>
test   %r15d,%r15d
jle    1f31 <hrr+0xe11>
lea    0x1(%r11),%esi
add    $0xffffffff,%r15d
movsd  %xmm6,0x88(%rsp)
mov    %r15d,0x80(%rsp)
mov    %eax,0x78(%rsp)
mov    %r10d,0x70(%rsp)
movsd  0x198(%rsp),%xmm8
movsd  %xmm8,0x68(%rsp)
movsd  %xmm5,0x60(%rsp)
movsd  0x188(%rsp),%xmm15
movsd  %xmm15,0x58(%rsp)
movsd  %xmm14,0x50(%rsp)
movsd  %xmm13,0x48(%rsp)
mov    %esi,0x40(%rsp)
mov    %r12d,0x38(%rsp)
mov    %r14d,0x30(%rsp)
movsd  %xmm12,0x28(%rsp)
movsd  %xmm11,0x20(%rsp)
movsd  %xmm10,0x18(%rsp)
movsd  %xmm9,0x10(%rsp)
movsd  0x138(%rsp),%xmm5
movsd  %xmm5,0x8(%rsp)
movsd  0x130(%rsp),%xmm5
movsd  %xmm5,(%rsp)
mov    %rdi,%r12
mov    %ebp,%esi
mov    %r8d,%r13d
mov    %r9d,%r14d
mov    %rdx,%rbp
movsd  0x98(%rsp),%xmm5
movsd  0xa0(%rsp),%xmm6
movsd  0xa8(%rsp),%xmm7
mov    %ecx,%ebx
call   1030 <hrr@plt>
movsd  %xmm0,0xb8(%rsp)
movsd  0x150(%rsp),%xmm2
movapd %xmm2,%xmm0
movsd  0x190(%rsp),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0xb0(%rsp)
movsd  0x1b8(%rsp),%xmm0
movsd  %xmm0,0x88(%rsp)
movsd  0x198(%rsp),%xmm0
movsd  %xmm0,0x68(%rsp)
movsd  %xmm1,0x60(%rsp)
movsd  0x188(%rsp),%xmm0
movsd  %xmm0,0x58(%rsp)
movsd  0x180(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x178(%rsp),%xmm0
movsd  %xmm0,0x48(%rsp)
movsd  0x158(%rsp),%xmm0
movsd  %xmm0,0x28(%rsp)
movsd  %xmm2,0x20(%rsp)
movsd  0x148(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x140(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x138(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x130(%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    %r15d,0x80(%rsp)
mov    0x1a8(%rsp),%eax
mov    %eax,0x78(%rsp)
mov    0x1a0(%rsp),%eax
mov    %eax,0x70(%rsp)
mov    0x170(%rsp),%eax
mov    %eax,0x40(%rsp)
mov    0x168(%rsp),%eax
mov    %eax,0x38(%rsp)
mov    0x160(%rsp),%eax
mov    %eax,0x30(%rsp)
movsd  0xe0(%rsp),%xmm0
movsd  0xd8(%rsp),%xmm1
movsd  0xd0(%rsp),%xmm2
movsd  0xc8(%rsp),%xmm3
mov    %r12d,%edi
jmp    1cf4 <hrr+0xbd4>
movsd  %xmm6,0x58(%rsp)
movsd  0x198(%rsp),%xmm8
movsd  %xmm8,0x50(%rsp)
movsd  %xmm5,0x48(%rsp)
movsd  0x188(%rsp),%xmm15
movsd  %xmm15,0x40(%rsp)
movsd  %xmm14,0x38(%rsp)
movsd  %xmm13,0x30(%rsp)
movsd  %xmm12,0x28(%rsp)
movsd  %xmm11,0x20(%rsp)
movsd  %xmm10,0x18(%rsp)
movsd  %xmm9,0x10(%rsp)
movsd  0x138(%rsp),%xmm8
movsd  %xmm8,0x8(%rsp)
movsd  0x130(%rsp),%xmm8
movsd  %xmm8,(%rsp)
movl   $0x0,0x60(%rsp)
mov    %ebp,%esi
movsd  0x98(%rsp),%xmm5
movsd  0xa0(%rsp),%xmm6
movsd  0xa8(%rsp),%xmm7
mov    %r14d,%ecx
mov    %r12d,%r8d
mov    %r11d,%r9d
call   1040 <vrr@plt>
jmp    18fc <hrr+0x7dc>

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

LLVM IR (-O2):
define double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %13, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %29, i32 %30, double %31) {
%33 = icmp sgt i32 %12, 0
br i1 %33, label %36, label %43
34: ; preds = %88, %81, %72, %63, %54, %45, %36
%35 = phi double [ %42, %36 ], [ %51, %45 ], [ %60, %54 ], [ %69, %63 ], [ %78, %72 ], [ %87, %81 ], [ %89, %88 ]
ret double %35
36: ; preds = %32
%37 = add nsw i32 %4, 1
%38 = add nsw i32 %12, -1
%39 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %37, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %38, i32 %13, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %29, i32 %30, double %31)
%40 = fsub double %0, %8
%41 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %38, i32 %13, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %29, i32 %30, double %31)
%42 = tail call double @llvm.fmuladd.f64(double %40, double %41, double %39)
br label %34
43: ; preds = %32
%44 = icmp sgt i32 %13, 0
br i1 %44, label %45, label %52
45: ; preds = %43
%46 = add nsw i32 %5, 1
%47 = add nsw i32 %13, -1
%48 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %46, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %47, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %29, i32 %30, double %31)
%49 = fsub double %1, %9
%50 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %47, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %29, i32 %30, double %31)
%51 = tail call double @llvm.fmuladd.f64(double %49, double %50, double %48)
br label %34
52: ; preds = %43
%53 = icmp sgt i32 %14, 0
br i1 %53, label %54, label %61
54: ; preds = %52
%55 = add nsw i32 %6, 1
%56 = add nsw i32 %14, -1
%57 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %55, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %13, i32 %56, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %29, i32 %30, double %31)
%58 = fsub double %2, %10
%59 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %13, i32 %56, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %29, i32 %30, double %31)
%60 = tail call double @llvm.fmuladd.f64(double %58, double %59, double %57)
br label %34
61: ; preds = %52
%62 = icmp sgt i32 %28, 0
br i1 %62, label %63, label %70
63: ; preds = %61
%64 = add nsw i32 %20, 1
%65 = add nsw i32 %28, -1
%66 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %13, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %64, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %65, i32 %29, i32 %30, double %31)
%67 = fsub double %16, %24
%68 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %13, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %65, i32 %29, i32 %30, double %31)
%69 = tail call double @llvm.fmuladd.f64(double %67, double %68, double %66)
br label %34
70: ; preds = %61
%71 = icmp sgt i32 %29, 0
br i1 %71, label %72, label %79
72: ; preds = %70
%73 = add nsw i32 %21, 1
%74 = add nsw i32 %29, -1
%75 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %13, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %73, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %74, i32 %30, double %31)
%76 = fsub double %17, %25
%77 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %13, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %74, i32 %30, double %31)
%78 = tail call double @llvm.fmuladd.f64(double %76, double %77, double %75)
br label %34
79: ; preds = %70
%80 = icmp sgt i32 %30, 0
br i1 %80, label %81, label %88
81: ; preds = %79
%82 = add nsw i32 %22, 1
%83 = add nsw i32 %30, -1
%84 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %13, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %82, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %29, i32 %83, double %31)
%85 = fsub double %18, %26
%86 = tail call double @hrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, i32 %12, i32 %13, i32 %14, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, i32 %28, i32 %29, i32 %83, double %31)
%87 = tail call double @llvm.fmuladd.f64(double %85, double %86, double %84)
br label %34
88: ; preds = %79
%89 = tail call double @vrr(double %0, double %1, double %2, double %3, i32 %4, i32 %5, i32 %6, double %7, double %8, double %9, double %10, double %11, double %15, double %16, double %17, double %18, double %19, i32 %20, i32 %21, i32 %22, double %23, double %24, double %25, double %26, double %27, double %31, i32 0)
br label %34
}