double getMin(double x, double y, double z, double w, double delta) {
  return ((((((x - delta) < 0 ? (-(x - delta)) : (x - delta))) <
                    (((y - delta) < 0 ? (-(y - delta)) : (y - delta)))
                ? (((x - delta) < 0 ? (-(x - delta)) : (x - delta)))
                : (((y - delta) < 0 ? (-(y - delta)) : (y - delta))))) <
                  (((((z - delta) < 0 ? (-(z - delta)) : (z - delta))) <
                            (((w - delta) < 0 ? (-(w - delta)) : (w - delta)))
                        ? (((z - delta) < 0 ? (-(z - delta)) : (z - delta)))
                        : (((w - delta) < 0 ? (-(w - delta)) : (w - delta)))))
              ? (((((x - delta) < 0 ? (-(x - delta)) : (x - delta))) <
                          (((y - delta) < 0 ? (-(y - delta)) : (y - delta)))
                      ? (((x - delta) < 0 ? (-(x - delta)) : (x - delta)))
                      : (((y - delta) < 0 ? (-(y - delta)) : (y - delta)))))
              : (((((z - delta) < 0 ? (-(z - delta)) : (z - delta))) <
                          (((w - delta) < 0 ? (-(w - delta)) : (w - delta)))
                      ? (((z - delta) < 0 ? (-(z - delta)) : (z - delta)))
                      : (((w - delta) < 0 ? (-(w - delta)) : (w - delta))))));
}


x86 assembly (clang, -O0):
<getMin>:
push   %rbp
mov    %rsp,%rbp
sub    $0x78,%rsp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  %xmm3,-0x20(%rbp)
movsd  %xmm4,-0x28(%rbp)
movsd  -0x8(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    1163 <getMin+0x63>
movsd  -0x8(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x30(%rbp)
jmp    1172 <getMin+0x72>
movsd  -0x8(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  -0x10(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    11be <getMin+0xbe>
movsd  -0x10(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x40(%rbp)
jmp    11cd <getMin+0xcd>
movsd  -0x10(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x38(%rbp),%xmm1
movsd  -0x40(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jbe    1241 <getMin+0x141>
movsd  -0x8(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    1223 <getMin+0x123>
movsd  -0x8(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x48(%rbp)
jmp    1232 <getMin+0x132>
movsd  -0x8(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x50(%rbp)
jmp    129c <getMin+0x19c>
movsd  -0x10(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    1283 <getMin+0x183>
movsd  -0x10(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x58(%rbp)
jmp    1292 <getMin+0x192>
movsd  -0x10(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x18(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    12e8 <getMin+0x1e8>
movsd  -0x18(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x68(%rbp)
jmp    12f7 <getMin+0x1f7>
movsd  -0x18(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x20(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    1343 <getMin+0x243>
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x78(%rbp)
jmp    1352 <getMin+0x252>
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x70(%rbp),%xmm1
movsd  -0x78(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jbe    13c9 <getMin+0x2c9>
movsd  -0x18(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    13a8 <getMin+0x2a8>
movsd  -0x18(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x80(%rbp)
jmp    13b7 <getMin+0x2b7>
movsd  -0x18(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
jmp    1430 <getMin+0x330>
movsd  -0x20(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    140e <getMin+0x30e>
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
jmp    1420 <getMin+0x320>
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0x88(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    1607 <getMin+0x507>
movsd  -0x8(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    148c <getMin+0x38c>
movsd  -0x8(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
jmp    149e <getMin+0x39e>
movsd  -0x8(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x10(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    14f3 <getMin+0x3f3>
movsd  -0x10(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
jmp    1505 <getMin+0x405>
movsd  -0x10(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xa8(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    158b <getMin+0x48b>
movsd  -0x8(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    1564 <getMin+0x464>
movsd  -0x8(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
jmp    1576 <getMin+0x476>
movsd  -0x8(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
jmp    15f2 <getMin+0x4f2>
movsd  -0x10(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    15d0 <getMin+0x4d0>
movsd  -0x10(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
jmp    15e2 <getMin+0x4e2>
movsd  -0x10(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
jmp    17c2 <getMin+0x6c2>
movsd  -0x18(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    164c <getMin+0x54c>
movsd  -0x18(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
jmp    165e <getMin+0x55e>
movsd  -0x18(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0x20(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    16b3 <getMin+0x5b3>
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
jmp    16c5 <getMin+0x5c5>
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xd8(%rbp),%xmm1
ff
movsd  -0xe0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    174b <getMin+0x64b>
movsd  -0x18(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    1724 <getMin+0x624>
movsd  -0x18(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
jmp    1736 <getMin+0x636>
movsd  -0x18(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
jmp    17b2 <getMin+0x6b2>
movsd  -0x20(%rbp),%xmm1
subsd  -0x28(%rbp),%xmm1
xorps  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
jbe    1790 <getMin+0x690>
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
jmp    17a2 <getMin+0x6a2>
movsd  -0x20(%rbp),%xmm0
subsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
add    $0x78,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<getMin>:
subsd  %xmm4,%xmm0
movapd 0xef3(%rip),%xmm12
movapd %xmm0,%xmm8
xorpd  %xmm12,%xmm8
xorpd  %xmm10,%xmm10
movapd %xmm0,%xmm14
cmpltsd %xmm10,%xmm14
movapd %xmm8,%xmm7
andpd  %xmm14,%xmm7
andnpd %xmm0,%xmm14
orpd   %xmm7,%xmm14
subsd  %xmm4,%xmm1
movapd %xmm1,%xmm9
xorpd  %xmm12,%xmm9
movapd %xmm1,%xmm7
cmpltsd %xmm10,%xmm7
movapd %xmm9,%xmm5
andpd  %xmm7,%xmm5
andnpd %xmm1,%xmm7
orpd   %xmm5,%xmm7
ucomisd %xmm14,%xmm7
jbe    117e <getMin+0x7e>
ucomisd %xmm0,%xmm10
movapd %xmm0,%xmm11
jbe    118f <getMin+0x8f>
movapd %xmm8,%xmm11
jmp    118f <getMin+0x8f>
ucomisd %xmm1,%xmm10
movapd %xmm1,%xmm11
jbe    118f <getMin+0x8f>
movapd %xmm9,%xmm11
subsd  %xmm4,%xmm2
movapd %xmm2,%xmm10
xorpd  %xmm12,%xmm10
xorpd  %xmm13,%xmm13
movapd %xmm2,%xmm5
cmpltsd %xmm13,%xmm5
movapd %xmm10,%xmm6
andpd  %xmm5,%xmm6
andnpd %xmm2,%xmm5
orpd   %xmm6,%xmm5
subsd  %xmm4,%xmm3
xorpd  %xmm3,%xmm12
movapd %xmm3,%xmm4
cmpltsd %xmm13,%xmm4
movapd %xmm12,%xmm6
andpd  %xmm4,%xmm6
andnpd %xmm3,%xmm4
orpd   %xmm6,%xmm4
ucomisd %xmm5,%xmm4
jbe    11fa <getMin+0xfa>
ucomisd %xmm2,%xmm13
movapd %xmm2,%xmm13
jbe    120b <getMin+0x10b>
movapd %xmm10,%xmm13
jmp    120b <getMin+0x10b>
ucomisd %xmm3,%xmm13
movapd %xmm3,%xmm13
jbe    120b <getMin+0x10b>
movapd %xmm12,%xmm13
ucomisd %xmm11,%xmm13
jbe    1229 <getMin+0x129>
ucomisd %xmm14,%xmm7
jbe    1243 <getMin+0x143>
xorpd  %xmm1,%xmm1
ucomisd %xmm0,%xmm1
jbe    1266 <getMin+0x166>
movapd %xmm8,%xmm0
ret
xorpd  %xmm0,%xmm0
ucomisd %xmm5,%xmm4
jbe    1257 <getMin+0x157>
ucomisd %xmm2,%xmm0
movapd %xmm2,%xmm0
jbe    1266 <getMin+0x166>
movapd %xmm10,%xmm0
ret
xorpd  %xmm0,%xmm0
ucomisd %xmm1,%xmm0
movapd %xmm1,%xmm0
jbe    1266 <getMin+0x166>
movapd %xmm9,%xmm0
ret
ucomisd %xmm3,%xmm0
movapd %xmm3,%xmm0
jbe    1266 <getMin+0x166>
movapd %xmm12,%xmm0
ret

LLVM IR (-O0):
define double @getMin(double %0, double %1, double %2, double %3, double %4) {
%6 = alloca double
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
store double %0, double* %6
store double %1, double* %7
store double %2, double* %8
store double %3, double* %9
store double %4, double* %10
%11 = load double, double* %6
%12 = load double, double* %10
%13 = fsub double %11, %12
%14 = fcmp olt double %13, 0.000000e+00
br i1 %14, label %15, label %20
15: ; preds = %5
%16 = load double, double* %6
%17 = load double, double* %10
%18 = fsub double %16, %17
%19 = fneg double %18
br label %24
20: ; preds = %5
%21 = load double, double* %6
%22 = load double, double* %10
%23 = fsub double %21, %22
br label %24
24: ; preds = %20, %15
%25 = phi double [ %19, %15 ], [ %23, %20 ]
%26 = load double, double* %7
%27 = load double, double* %10
%28 = fsub double %26, %27
%29 = fcmp olt double %28, 0.000000e+00
br i1 %29, label %30, label %35
30: ; preds = %24
%31 = load double, double* %7
%32 = load double, double* %10
%33 = fsub double %31, %32
%34 = fneg double %33
br label %39
35: ; preds = %24
%36 = load double, double* %7
%37 = load double, double* %10
%38 = fsub double %36, %37
br label %39
39: ; preds = %35, %30
%40 = phi double [ %34, %30 ], [ %38, %35 ]
%41 = fcmp olt double %25, %40
br i1 %41, label %42, label %58
42: ; preds = %39
%43 = load double, double* %6
%44 = load double, double* %10
%45 = fsub double %43, %44
%46 = fcmp olt double %45, 0.000000e+00
br i1 %46, label %47, label %52
47: ; preds = %42
%48 = load double, double* %6
%49 = load double, double* %10
%50 = fsub double %48, %49
%51 = fneg double %50
br label %56
52: ; preds = %42
%53 = load double, double* %6
%54 = load double, double* %10
%55 = fsub double %53, %54
br label %56
56: ; preds = %52, %47
%57 = phi double [ %51, %47 ], [ %55, %52 ]
br label %74
58: ; preds = %39
%59 = load double, double* %7
%60 = load double, double* %10
%61 = fsub double %59, %60
%62 = fcmp olt double %61, 0.000000e+00
br i1 %62, label %63, label %68
63: ; preds = %58
%64 = load double, double* %7
%65 = load double, double* %10
%66 = fsub double %64, %65
%67 = fneg double %66
br label %72
68: ; preds = %58
%69 = load double, double* %7
%70 = load double, double* %10
%71 = fsub double %69, %70
br label %72
72: ; preds = %68, %63
%73 = phi double [ %67, %63 ], [ %71, %68 ]
br label %74
74: ; preds = %72, %56
%75 = phi double [ %57, %56 ], [ %73, %72 ]
%76 = load double, double* %8
%77 = load double, double* %10
%78 = fsub double %76, %77
%79 = fcmp olt double %78, 0.000000e+00
br i1 %79, label %80, label %85
80: ; preds = %74
%81 = load double, double* %8
%82 = load double, double* %10
%83 = fsub double %81, %82
%84 = fneg double %83
br label %89
85: ; preds = %74
%86 = load double, double* %8
%87 = load double, double* %10
%88 = fsub double %86, %87
br label %89
89: ; preds = %85, %80
%90 = phi double [ %84, %80 ], [ %88, %85 ]
%91 = load double, double* %9
%92 = load double, double* %10
%93 = fsub double %91, %92
%94 = fcmp olt double %93, 0.000000e+00
br i1 %94, label %95, label %100
95: ; preds = %89
%96 = load double, double* %9
%97 = load double, double* %10
%98 = fsub double %96, %97
%99 = fneg double %98
br label %104
100: ; preds = %89
%101 = load double, double* %9
%102 = load double, double* %10
%103 = fsub double %101, %102
br label %104
104: ; preds = %100, %95
%105 = phi double [ %99, %95 ], [ %103, %100 ]
%106 = fcmp olt double %90, %105
br i1 %106, label %107, label %123
107: ; preds = %104
%108 = load double, double* %8
%109 = load double, double* %10
%110 = fsub double %108, %109
%111 = fcmp olt double %110, 0.000000e+00
br i1 %111, label %112, label %117
112: ; preds = %107
%113 = load double, double* %8
%114 = load double, double* %10
%115 = fsub double %113, %114
%116 = fneg double %115
br label %121
117: ; preds = %107
%118 = load double, double* %8
%119 = load double, double* %10
%120 = fsub double %118, %119
br label %121
121: ; preds = %117, %112
%122 = phi double [ %116, %112 ], [ %120, %117 ]
br label %139
123: ; preds = %104
%124 = load double, double* %9
%125 = load double, double* %10
%126 = fsub double %124, %125
%127 = fcmp olt double %126, 0.000000e+00
br i1 %127, label %128, label %133
128: ; preds = %123
%129 = load double, double* %9
%130 = load double, double* %10
%131 = fsub double %129, %130
%132 = fneg double %131
br label %137
133: ; preds = %123
%134 = load double, double* %9
%135 = load double, double* %10
%136 = fsub double %134, %135
br label %137
137: ; preds = %133, %128
%138 = phi double [ %132, %128 ], [ %136, %133 ]
br label %139
139: ; preds = %137, %121
%140 = phi double [ %122, %121 ], [ %138, %137 ]
%141 = fcmp olt double %75, %140
br i1 %141, label %142, label %208
142: ; preds = %139
%143 = load double, double* %6
%144 = load double, double* %10
%145 = fsub double %143, %144
%146 = fcmp olt double %145, 0.000000e+00
br i1 %146, label %147, label %152
147: ; preds = %142
%148 = load double, double* %6
%149 = load double, double* %10
%150 = fsub double %148, %149
%151 = fneg double %150
br label %156
152: ; preds = %142
%153 = load double, double* %6
%154 = load double, double* %10
%155 = fsub double %153, %154
br label %156
156: ; preds = %152, %147
%157 = phi double [ %151, %147 ], [ %155, %152 ]
%158 = load double, double* %7
%159 = load double, double* %10
%160 = fsub double %158, %159
%161 = fcmp olt double %160, 0.000000e+00
br i1 %161, label %162, label %167
162: ; preds = %156
%163 = load double, double* %7
%164 = load double, double* %10
%165 = fsub double %163, %164
%166 = fneg double %165
br label %171
167: ; preds = %156
%168 = load double, double* %7
%169 = load double, double* %10
%170 = fsub double %168, %169
br label %171
171: ; preds = %167, %162
%172 = phi double [ %166, %162 ], [ %170, %167 ]
%173 = fcmp olt double %157, %172
br i1 %173, label %174, label %190
174: ; preds = %171
%175 = load double, double* %6
%176 = load double, double* %10
%177 = fsub double %175, %176
%178 = fcmp olt double %177, 0.000000e+00
br i1 %178, label %179, label %184
179: ; preds = %174
%180 = load double, double* %6
%181 = load double, double* %10
%182 = fsub double %180, %181
%183 = fneg double %182
br label %188
184: ; preds = %174
%185 = load double, double* %6
%186 = load double, double* %10
%187 = fsub double %185, %186
br label %188
188: ; preds = %184, %179
%189 = phi double [ %183, %179 ], [ %187, %184 ]
br label %206
190: ; preds = %171
%191 = load double, double* %7
%192 = load double, double* %10
%193 = fsub double %191, %192
%194 = fcmp olt double %193, 0.000000e+00
br i1 %194, label %195, label %200
195: ; preds = %190
%196 = load double, double* %7
%197 = load double, double* %10
%198 = fsub double %196, %197
%199 = fneg double %198
br label %204
200: ; preds = %190
%201 = load double, double* %7
%202 = load double, double* %10
%203 = fsub double %201, %202
br label %204
204: ; preds = %200, %195
%205 = phi double [ %199, %195 ], [ %203, %200 ]
br label %206
206: ; preds = %204, %188
%207 = phi double [ %189, %188 ], [ %205, %204 ]
br label %274
208: ; preds = %139
%209 = load double, double* %8
%210 = load double, double* %10
%211 = fsub double %209, %210
%212 = fcmp olt double %211, 0.000000e+00
br i1 %212, label %213, label %218
213: ; preds = %208
%214 = load double, double* %8
%215 = load double, double* %10
%216 = fsub double %214, %215
%217 = fneg double %216
br label %222
218: ; preds = %208
%219 = load double, double* %8
%220 = load double, double* %10
%221 = fsub double %219, %220
br label %222
222: ; preds = %218, %213
%223 = phi double [ %217, %213 ], [ %221, %218 ]
%224 = load double, double* %9
%225 = load double, double* %10
%226 = fsub double %224, %225
%227 = fcmp olt double %226, 0.000000e+00
br i1 %227, label %228, label %233
228: ; preds = %222
%229 = load double, double* %9
%230 = load double, double* %10
%231 = fsub double %229, %230
%232 = fneg double %231
br label %237
233: ; preds = %222
%234 = load double, double* %9
%235 = load double, double* %10
%236 = fsub double %234, %235
br label %237
237: ; preds = %233, %228
%238 = phi double [ %232, %228 ], [ %236, %233 ]
%239 = fcmp olt double %223, %238
br i1 %239, label %240, label %256
240: ; preds = %237
%241 = load double, double* %8
%242 = load double, double* %10
%243 = fsub double %241, %242
%244 = fcmp olt double %243, 0.000000e+00
br i1 %244, label %245, label %250
245: ; preds = %240
%246 = load double, double* %8
%247 = load double, double* %10
%248 = fsub double %246, %247
%249 = fneg double %248
br label %254
250: ; preds = %240
%251 = load double, double* %8
%252 = load double, double* %10
%253 = fsub double %251, %252
br label %254
254: ; preds = %250, %245
%255 = phi double [ %249, %245 ], [ %253, %250 ]
br label %272
256: ; preds = %237
%257 = load double, double* %9
%258 = load double, double* %10
%259 = fsub double %257, %258
%260 = fcmp olt double %259, 0.000000e+00
br i1 %260, label %261, label %266
261: ; preds = %256
%262 = load double, double* %9
%263 = load double, double* %10
%264 = fsub double %262, %263
%265 = fneg double %264
br label %270
266: ; preds = %256
%267 = load double, double* %9
%268 = load double, double* %10
%269 = fsub double %267, %268
br label %270
270: ; preds = %266, %261
%271 = phi double [ %265, %261 ], [ %269, %266 ]
br label %272
272: ; preds = %270, %254
%273 = phi double [ %255, %254 ], [ %271, %270 ]
br label %274
274: ; preds = %272, %206
%275 = phi double [ %207, %206 ], [ %273, %272 ]
ret double %275
}

LLVM IR (-O2):
define double @getMin(double %0, double %1, double %2, double %3, double %4) {
%6 = fsub double %0, %4
%7 = fcmp olt double %6, 0.000000e+00
%8 = fneg double %6
%9 = select i1 %7, double %8, double %6
%10 = fsub double %1, %4
%11 = fcmp olt double %10, 0.000000e+00
%12 = fneg double %10
%13 = select i1 %11, double %12, double %10
%14 = fcmp olt double %9, %13
br i1 %14, label %15, label %17
15: ; preds = %5
br i1 %7, label %16, label %19
16: ; preds = %15
br label %19
17: ; preds = %5
br i1 %11, label %18, label %19
18: ; preds = %17
br label %19
19: ; preds = %17, %15, %18, %16
%20 = phi double [ %8, %16 ], [ %12, %18 ], [ %6, %15 ], [ %10, %17 ]
%21 = fsub double %2, %4
%22 = fcmp olt double %21, 0.000000e+00
%23 = fneg double %21
%24 = select i1 %22, double %23, double %21
%25 = fsub double %3, %4
%26 = fcmp olt double %25, 0.000000e+00
%27 = fneg double %25
%28 = select i1 %26, double %27, double %25
%29 = fcmp olt double %24, %28
br i1 %29, label %30, label %32
30: ; preds = %19
br i1 %22, label %31, label %34
31: ; preds = %30
br label %34
32: ; preds = %19
br i1 %26, label %33, label %34
33: ; preds = %32
br label %34
34: ; preds = %32, %30, %33, %31
%35 = phi double [ %23, %31 ], [ %27, %33 ], [ %21, %30 ], [ %25, %32 ]
%36 = fcmp olt double %20, %35
br i1 %36, label %37, label %42
37: ; preds = %34
br i1 %14, label %38, label %40
38: ; preds = %37
br i1 %7, label %39, label %47
39: ; preds = %38
br label %47
40: ; preds = %37
br i1 %11, label %41, label %47
41: ; preds = %40
br label %47
42: ; preds = %34
br i1 %29, label %43, label %45
43: ; preds = %42
br i1 %22, label %44, label %47
44: ; preds = %43
br label %47
45: ; preds = %42
br i1 %26, label %46, label %47
46: ; preds = %45
br label %47
47: ; preds = %45, %43, %40, %38, %44, %46, %39, %41
%48 = phi double [ %8, %39 ], [ %12, %41 ], [ %23, %44 ], [ %27, %46 ], [ %6, %38 ], [ %10, %40 ], [ %21, %43 ], [ %25, %45 ]
ret double %48
}