#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 lbl11(double, double, double, double, double, double);
double lbl12(double, double, double, double, double, double);
double lbl13(double, double, double, double, double, double);
double lbl21(double, double, double, double, double, double);
double lbl22(double, double, double, double, double, double);
double lbl23(double, double, double, double, double, double);
double lbl31(double, double, double, double, double, double);
double lbl32(double, double, double, double, double, double);
double lbl33(double, double, double, double, double, double);
double lbl41(double, double, double, double, double, double);
double lbl42(double, double, double, double, double, double);
double lbl43(double, double, double, double, double, double);
double lbl51(double, double, double, double, double, double);
double lbl52(double, double, double, double, double, double);
double lbl53(double, double, double, double, double, double);
double lbl61(double, double, double, double, double, double);
double lbl62(double, double, double, double, double, double);
double lbl63(double, double, double, double, double, double);
double nlo2(double *vars) {
  double s = vars[0], s1 = vars[1], s2 = vars[2], t1 = vars[3], t2 = vars[4],
         m = vars[5];
  double r1, r2, r3, r4, r5, r6, a;
  r1 = lbl11(s, s1, s2, t1, t2, m) + lbl12(s, s1, s2, t1, t2, m) +
       lbl13(s, s1, s2, t1, t2, m);
  r2 = lbl21(s, s1, s2, t1, t2, m) + lbl22(s, s1, s2, t1, t2, m) +
       lbl23(s, s1, s2, t1, t2, m);
  r3 = lbl31(s, s1, s2, t1, t2, m) + lbl32(s, s1, s2, t1, t2, m) +
       lbl33(s, s1, s2, t1, t2, m);
  r4 = lbl41(s, s1, s2, t1, t2, m) + lbl42(s, s1, s2, t1, t2, m) +
       lbl43(s, s1, s2, t1, t2, m);
  r5 = lbl51(s, s1, s2, t1, t2, m) + lbl52(s, s1, s2, t1, t2, m) +
       lbl53(s, s1, s2, t1, t2, m);
  r6 = lbl61(s, s1, s2, t1, t2, m) + lbl62(s, s1, s2, t1, t2, m) +
       lbl63(s, s1, s2, t1, t2, m);
  a = (r1 + r2 + r3 + r4 + r5 + r6) / 4.;
  return a;
}


x86 assembly (clang, -O0):
<nlo2>:
push   %rbp
mov    %rsp,%rbp
sub    $0xd0,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  %xmm0,-0x28(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   10b0 <lbl11@plt>
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1120 <lbl12@plt>
movaps %xmm0,%xmm1
movsd  -0xd0(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1080 <lbl13@plt>
movaps %xmm0,%xmm1
movsd  -0xc8(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1110 <lbl21@plt>
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1070 <lbl22@plt>
movaps %xmm0,%xmm1
movsd  -0xc0(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   10e0 <lbl23@plt>
movaps %xmm0,%xmm1
movsd  -0xb8(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1140 <lbl31@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   10c0 <lbl32@plt>
movaps %xmm0,%xmm1
movsd  -0xb0(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1030 <lbl33@plt>
movaps %xmm0,%xmm1
movsd  -0xa8(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1090 <lbl41@plt>
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1130 <lbl42@plt>
movaps %xmm0,%xmm1
movsd  -0xa0(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   10a0 <lbl43@plt>
movaps %xmm0,%xmm1
movsd  -0x98(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   10f0 <lbl51@plt>
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1060 <lbl52@plt>
movaps %xmm0,%xmm1
movsd  -0x90(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1100 <lbl53@plt>
movaps %xmm0,%xmm1
movsd  -0x88(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1050 <lbl61@plt>
movsd  %xmm0,-0x80(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   10d0 <lbl62@plt>
movaps %xmm0,%xmm1
movsd  -0x80(%rbp),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
call   1040 <lbl63@plt>
movaps %xmm0,%xmm1
movsd  -0x78(%rbp),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x40(%rbp),%xmm0
addsd  -0x48(%rbp),%xmm0
addsd  -0x50(%rbp),%xmm0
addsd  -0x58(%rbp),%xmm0
addsd  -0x60(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  0x9bc(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x70(%rbp),%xmm0
add    $0xd0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<nlo2>:
sub    $0x48,%rsp
movsd  (%rdi),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x8(%rdi),%xmm1
movsd  %xmm1,0x30(%rsp)
movsd  0x10(%rdi),%xmm2
movsd  %xmm2,0x28(%rsp)
movsd  0x18(%rdi),%xmm3
movsd  %xmm3,0x20(%rsp)
movsd  0x20(%rdi),%xmm4
movsd  %xmm4,0x18(%rsp)
movsd  0x28(%rdi),%xmm5
movsd  %xmm5,0x10(%rsp)
call   10b0 <lbl11@plt>
movsd  %xmm0,0x40(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1120 <lbl12@plt>
addsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1080 <lbl13@plt>
addsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1110 <lbl21@plt>
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1070 <lbl22@plt>
addsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   10e0 <lbl23@plt>
addsd  0x8(%rsp),%xmm0
addsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1140 <lbl31@plt>
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   10c0 <lbl32@plt>
addsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1030 <lbl33@plt>
addsd  0x8(%rsp),%xmm0
addsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1090 <lbl41@plt>
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1130 <lbl42@plt>
addsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   10a0 <lbl43@plt>
addsd  0x8(%rsp),%xmm0
addsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   10f0 <lbl51@plt>
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1060 <lbl52@plt>
addsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1100 <lbl53@plt>
addsd  0x8(%rsp),%xmm0
addsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1050 <lbl61@plt>
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   10d0 <lbl62@plt>
addsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x38(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm3
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm5
call   1040 <lbl63@plt>
addsd  0x8(%rsp),%xmm0
addsd  0x40(%rsp),%xmm0
mulsd  0xa09(%rip),%xmm0
add    $0x48,%rsp
ret

LLVM IR (-O0):
define double @nlo2(double* %0) {
%2 = alloca double*
%3 = alloca double
%4 = alloca double
%5 = alloca double
%6 = alloca double
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
store double* %0, double** %2
%16 = load double*, double** %2
%17 = getelementptr inbounds double, double* %16, i64 0
%18 = load double, double* %17
store double %18, double* %3
%19 = load double*, double** %2
%20 = getelementptr inbounds double, double* %19, i64 1
%21 = load double, double* %20
store double %21, double* %4
%22 = load double*, double** %2
%23 = getelementptr inbounds double, double* %22, i64 2
%24 = load double, double* %23
store double %24, double* %5
%25 = load double*, double** %2
%26 = getelementptr inbounds double, double* %25, i64 3
%27 = load double, double* %26
store double %27, double* %6
%28 = load double*, double** %2
%29 = getelementptr inbounds double, double* %28, i64 4
%30 = load double, double* %29
store double %30, double* %7
%31 = load double*, double** %2
%32 = getelementptr inbounds double, double* %31, i64 5
%33 = load double, double* %32
store double %33, double* %8
%34 = load double, double* %3
%35 = load double, double* %4
%36 = load double, double* %5
%37 = load double, double* %6
%38 = load double, double* %7
%39 = load double, double* %8
%40 = call double @lbl11(double %34, double %35, double %36, double %37, double %38, double %39)
%41 = load double, double* %3
%42 = load double, double* %4
%43 = load double, double* %5
%44 = load double, double* %6
%45 = load double, double* %7
%46 = load double, double* %8
%47 = call double @lbl12(double %41, double %42, double %43, double %44, double %45, double %46)
%48 = fadd double %40, %47
%49 = load double, double* %3
%50 = load double, double* %4
%51 = load double, double* %5
%52 = load double, double* %6
%53 = load double, double* %7
%54 = load double, double* %8
%55 = call double @lbl13(double %49, double %50, double %51, double %52, double %53, double %54)
%56 = fadd double %48, %55
store double %56, double* %9
%57 = load double, double* %3
%58 = load double, double* %4
%59 = load double, double* %5
%60 = load double, double* %6
%61 = load double, double* %7
%62 = load double, double* %8
%63 = call double @lbl21(double %57, double %58, double %59, double %60, double %61, double %62)
%64 = load double, double* %3
%65 = load double, double* %4
%66 = load double, double* %5
%67 = load double, double* %6
%68 = load double, double* %7
%69 = load double, double* %8
%70 = call double @lbl22(double %64, double %65, double %66, double %67, double %68, double %69)
%71 = fadd double %63, %70
%72 = load double, double* %3
%73 = load double, double* %4
%74 = load double, double* %5
%75 = load double, double* %6
%76 = load double, double* %7
%77 = load double, double* %8
%78 = call double @lbl23(double %72, double %73, double %74, double %75, double %76, double %77)
%79 = fadd double %71, %78
store double %79, double* %10
%80 = load double, double* %3
%81 = load double, double* %4
%82 = load double, double* %5
%83 = load double, double* %6
%84 = load double, double* %7
%85 = load double, double* %8
%86 = call double @lbl31(double %80, double %81, double %82, double %83, double %84, double %85)
%87 = load double, double* %3
%88 = load double, double* %4
%89 = load double, double* %5
%90 = load double, double* %6
%91 = load double, double* %7
%92 = load double, double* %8
%93 = call double @lbl32(double %87, double %88, double %89, double %90, double %91, double %92)
%94 = fadd double %86, %93
%95 = load double, double* %3
%96 = load double, double* %4
%97 = load double, double* %5
%98 = load double, double* %6
%99 = load double, double* %7
%100 = load double, double* %8
%101 = call double @lbl33(double %95, double %96, double %97, double %98, double %99, double %100)
%102 = fadd double %94, %101
store double %102, double* %11
%103 = load double, double* %3
%104 = load double, double* %4
%105 = load double, double* %5
%106 = load double, double* %6
%107 = load double, double* %7
%108 = load double, double* %8
%109 = call double @lbl41(double %103, double %104, double %105, double %106, double %107, double %108)
%110 = load double, double* %3
%111 = load double, double* %4
%112 = load double, double* %5
%113 = load double, double* %6
%114 = load double, double* %7
%115 = load double, double* %8
%116 = call double @lbl42(double %110, double %111, double %112, double %113, double %114, double %115)
%117 = fadd double %109, %116
%118 = load double, double* %3
%119 = load double, double* %4
%120 = load double, double* %5
%121 = load double, double* %6
%122 = load double, double* %7
%123 = load double, double* %8
%124 = call double @lbl43(double %118, double %119, double %120, double %121, double %122, double %123)
%125 = fadd double %117, %124
store double %125, double* %12
%126 = load double, double* %3
%127 = load double, double* %4
%128 = load double, double* %5
%129 = load double, double* %6
%130 = load double, double* %7
%131 = load double, double* %8
%132 = call double @lbl51(double %126, double %127, double %128, double %129, double %130, double %131)
%133 = load double, double* %3
%134 = load double, double* %4
%135 = load double, double* %5
%136 = load double, double* %6
%137 = load double, double* %7
%138 = load double, double* %8
%139 = call double @lbl52(double %133, double %134, double %135, double %136, double %137, double %138)
%140 = fadd double %132, %139
%141 = load double, double* %3
%142 = load double, double* %4
%143 = load double, double* %5
%144 = load double, double* %6
%145 = load double, double* %7
%146 = load double, double* %8
%147 = call double @lbl53(double %141, double %142, double %143, double %144, double %145, double %146)
%148 = fadd double %140, %147
store double %148, double* %13
%149 = load double, double* %3
%150 = load double, double* %4
%151 = load double, double* %5
%152 = load double, double* %6
%153 = load double, double* %7
%154 = load double, double* %8
%155 = call double @lbl61(double %149, double %150, double %151, double %152, double %153, double %154)
%156 = load double, double* %3
%157 = load double, double* %4
%158 = load double, double* %5
%159 = load double, double* %6
%160 = load double, double* %7
%161 = load double, double* %8
%162 = call double @lbl62(double %156, double %157, double %158, double %159, double %160, double %161)
%163 = fadd double %155, %162
%164 = load double, double* %3
%165 = load double, double* %4
%166 = load double, double* %5
%167 = load double, double* %6
%168 = load double, double* %7
%169 = load double, double* %8
%170 = call double @lbl63(double %164, double %165, double %166, double %167, double %168, double %169)
%171 = fadd double %163, %170
store double %171, double* %14
%172 = load double, double* %9
%173 = load double, double* %10
%174 = fadd double %172, %173
%175 = load double, double* %11
%176 = fadd double %174, %175
%177 = load double, double* %12
%178 = fadd double %176, %177
%179 = load double, double* %13
%180 = fadd double %178, %179
%181 = load double, double* %14
%182 = fadd double %180, %181
%183 = fdiv double %182, 4.000000e+00
store double %183, double* %15
%184 = load double, double* %15
ret double %184
}

LLVM IR (-O2):
define double @nlo2(double* nocapture %0) {
%2 = load double, double* %0
%3 = getelementptr inbounds double, double* %0, i64 1
%4 = load double, double* %3
%5 = getelementptr inbounds double, double* %0, i64 2
%6 = load double, double* %5
%7 = getelementptr inbounds double, double* %0, i64 3
%8 = load double, double* %7
%9 = getelementptr inbounds double, double* %0, i64 4
%10 = load double, double* %9
%11 = getelementptr inbounds double, double* %0, i64 5
%12 = load double, double* %11
%13 = tail call double @lbl11(double %2, double %4, double %6, double %8, double %10, double %12)
%14 = tail call double @lbl12(double %2, double %4, double %6, double %8, double %10, double %12)
%15 = fadd double %13, %14
%16 = tail call double @lbl13(double %2, double %4, double %6, double %8, double %10, double %12)
%17 = fadd double %15, %16
%18 = tail call double @lbl21(double %2, double %4, double %6, double %8, double %10, double %12)
%19 = tail call double @lbl22(double %2, double %4, double %6, double %8, double %10, double %12)
%20 = fadd double %18, %19
%21 = tail call double @lbl23(double %2, double %4, double %6, double %8, double %10, double %12)
%22 = fadd double %20, %21
%23 = tail call double @lbl31(double %2, double %4, double %6, double %8, double %10, double %12)
%24 = tail call double @lbl32(double %2, double %4, double %6, double %8, double %10, double %12)
%25 = fadd double %23, %24
%26 = tail call double @lbl33(double %2, double %4, double %6, double %8, double %10, double %12)
%27 = fadd double %25, %26
%28 = tail call double @lbl41(double %2, double %4, double %6, double %8, double %10, double %12)
%29 = tail call double @lbl42(double %2, double %4, double %6, double %8, double %10, double %12)
%30 = fadd double %28, %29
%31 = tail call double @lbl43(double %2, double %4, double %6, double %8, double %10, double %12)
%32 = fadd double %30, %31
%33 = tail call double @lbl51(double %2, double %4, double %6, double %8, double %10, double %12)
%34 = tail call double @lbl52(double %2, double %4, double %6, double %8, double %10, double %12)
%35 = fadd double %33, %34
%36 = tail call double @lbl53(double %2, double %4, double %6, double %8, double %10, double %12)
%37 = fadd double %35, %36
%38 = tail call double @lbl61(double %2, double %4, double %6, double %8, double %10, double %12)
%39 = tail call double @lbl62(double %2, double %4, double %6, double %8, double %10, double %12)
%40 = fadd double %38, %39
%41 = tail call double @lbl63(double %2, double %4, double %6, double %8, double %10, double %12)
%42 = fadd double %40, %41
%43 = fadd double %17, %22
%44 = fadd double %43, %27
%45 = fadd double %44, %32
%46 = fadd double %45, %37
%47 = fadd double %46, %42
%48 = fmul double %47, 2.500000e-01
ret double %48
}