int main() {
  float f = (float)1.0;
  long l = 1;
  int si = 1;
  unsigned int ui = 1;
  char c = (char)1;
  int sum = 0;
  sum += f <= f;
  sum += l <= l;
  sum += si <= si;
  sum += ui <= ui;
  sum += c <= c;
  sum += f <= l;
  sum += f <= si;
  sum += f <= ui;
  sum += f <= c;
  sum += l <= f;
  sum += l <= si;
  sum += l <= ui;
  sum += l <= c;
  sum += si <= f;
  sum += si <= l;
  sum += si <= si;
  sum += si <= ui;
  sum += si <= c;
  sum += ui <= f;
  sum += ui <= l;
  sum += ui <= si;
  sum += ui <= c;
  sum += c <= f;
  sum += c <= l;
  sum += c <= si;
  sum += c <= ui;
  sum += c <= c;
  c = 0;
  l = 0;
  si = 3;
  sum += f <= f;
  sum += l <= l;
  sum += si <= si;
  sum += ui <= ui;
  sum += c <= c;
  sum += f <= l;
  sum += f <= si;
  sum += f <= ui;
  sum += f <= c;
  sum += l <= f;
  sum += l <= si;
  sum += l <= ui;
  sum += l <= c;
  sum += si <= f;
  sum += si <= l;
  sum += si <= si;
  sum += si <= ui;
  sum += si <= c;
  sum += ui <= f;
  sum += ui <= l;
  sum += ui <= si;
  sum += ui <= c;
  sum += c <= f;
  sum += c <= l;
  sum += c <= si;
  sum += c <= ui;
  sum += c <= c;
  return sum;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
movl   $0x0,-0x4(%rbp)
movl   $0x3f800000,-0x8(%rbp)
movq   $0x1,-0x10(%rbp)
movl   $0x1,-0x14(%rbp)
movl   $0x1,-0x18(%rbp)
movb   $0x1,-0x19(%rbp)
movl   $0x0,-0x20(%rbp)
movss  -0x8(%rbp),%xmm0
ucomiss %xmm0,%xmm0
setnp  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
movss  -0x8(%rbp),%xmm1
cvtsi2ssq -0x10(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
movss  -0x8(%rbp),%xmm1
cvtsi2ssl -0x14(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
movss  -0x8(%rbp),%xmm1
mov    -0x18(%rbp),%eax
cvtsi2ss %rax,%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
movss  -0x8(%rbp),%xmm1
movsbl -0x19(%rbp),%eax
cvtsi2ss %eax,%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
cvtsi2ssq -0x10(%rbp),%xmm1
movss  -0x8(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
mov    -0x18(%rbp),%ecx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
movsbq -0x19(%rbp),%rcx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
cvtsi2ssl -0x14(%rbp),%xmm1
movss  -0x8(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
movslq -0x14(%rbp),%rax
mov    -0x10(%rbp),%rcx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%ecx
mov    -0x18(%rbp),%eax
sub    %ecx,%eax
sbbl   $0xffffffff,-0x20(%rbp)
mov    -0x14(%rbp),%eax
movsbl -0x19(%rbp),%ecx
sub    %ecx,%eax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x18(%rbp),%eax
cvtsi2ss %rax,%xmm1
movss  -0x8(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
mov    -0x18(%rbp),%eax
mov    -0x10(%rbp),%rcx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x18(%rbp),%ecx
mov    -0x14(%rbp),%eax
sub    %ecx,%eax
sbbl   $0xffffffff,-0x20(%rbp)
mov    -0x18(%rbp),%ecx
movsbl -0x19(%rbp),%eax
sub    %ecx,%eax
sbbl   $0xffffffff,-0x20(%rbp)
movsbl -0x19(%rbp),%eax
cvtsi2ss %eax,%xmm1
movss  -0x8(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
movsbq -0x19(%rbp),%rax
mov    -0x10(%rbp),%rcx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
movsbl -0x19(%rbp),%eax
mov    -0x14(%rbp),%ecx
sub    %ecx,%eax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
movsbl -0x19(%rbp),%ecx
mov    -0x18(%rbp),%eax
sub    %ecx,%eax
sbbl   $0xffffffff,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
movb   $0x0,-0x19(%rbp)
movq   $0x0,-0x10(%rbp)
movl   $0x3,-0x14(%rbp)
movss  -0x8(%rbp),%xmm0
ucomiss %xmm0,%xmm0
setnp  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
movss  -0x8(%rbp),%xmm1
cvtsi2ssq -0x10(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
movss  -0x8(%rbp),%xmm1
cvtsi2ssl -0x14(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
movss  -0x8(%rbp),%xmm1
mov    -0x18(%rbp),%eax
cvtsi2ss %rax,%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
movss  -0x8(%rbp),%xmm1
movsbl -0x19(%rbp),%eax
cvtsi2ss %eax,%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
cvtsi2ssq -0x10(%rbp),%xmm1
movss  -0x8(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
mov    -0x18(%rbp),%ecx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
movsbq -0x19(%rbp),%rcx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
cvtsi2ssl -0x14(%rbp),%xmm1
movss  -0x8(%rbp),%xmm0
ucomiss %xmm1,%xmm0
sbbl   $0xffffffff,-0x20(%rbp)
movslq -0x14(%rbp),%rax
mov    -0x10(%rbp),%rcx
sub    %rcx,%rax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
mov    -0x14(%rbp),%ecx
mov    -0x18(%rbp),%eax
sub    %ecx,%eax
sbbl   $0xffffffff,-0x20(%rbp)
mov    -0x14(%rbp),%eax
movsbl -0x19(%rbp),%ecx
sub    %ecx,%eax
setle  %al
movzbl %al,%ecx
mov    -0x20(%rbp),%eax
add    %ecx,%eax
mov    %eax,-0x20(%rbp)
mov    -0x18(%rbp),%eax
cvtsi2ss %rax,%xmm1
movss  -0x8(%rbp),%xmm0
ucomiss %xmm1,%xmm0
setae  %al
and    $0x1,%al
movzbl %al,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x18(%rbp),%eax
cmp    -0x10(%rbp),%rax
setle  %al
and    $0x1,%al
movzbl %al,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x18(%rbp),%eax
cmp    -0x14(%rbp),%eax
setbe  %al
and    $0x1,%al
movzbl %al,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x18(%rbp),%eax
movsbl -0x19(%rbp),%ecx
cmp    %ecx,%eax
setbe  %al
and    $0x1,%al
movzbl %al,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
movsbl -0x19(%rbp),%eax
cvtsi2ss %eax,%xmm1
movss  -0x8(%rbp),%xmm0
ucomiss %xmm1,%xmm0
setae  %al
and    $0x1,%al
movzbl %al,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
movsbq -0x19(%rbp),%rax
cmp    -0x10(%rbp),%rax
setle  %al
and    $0x1,%al
movzbl %al,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
movsbl -0x19(%rbp),%eax
cmp    -0x14(%rbp),%eax
setle  %al
and    $0x1,%al
movzbl %al,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
movsbl -0x19(%rbp),%eax
cmp    -0x18(%rbp),%eax
setbe  %al
and    $0x1,%al
movzbl %al,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
movsbl -0x19(%rbp),%eax
movsbl -0x19(%rbp),%ecx
cmp    %ecx,%eax
setle  %al
and    $0x1,%al
movzbl %al,%eax
add    -0x20(%rbp),%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
mov    $0x2e,%eax
ret

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
%2 = alloca float
%3 = alloca i64
%4 = alloca i32
%5 = alloca i32
%6 = alloca i8
%7 = alloca i32
store i32 0, i32* %1
store float 1.000000e+00, float* %2
store i64 1, i64* %3
store i32 1, i32* %4
store i32 1, i32* %5
store i8 1, i8* %6
store i32 0, i32* %7
%8 = load float, float* %2
%9 = load float, float* %2
%10 = fcmp ole float %8, %9
%11 = zext i1 %10 to i32
%12 = load i32, i32* %7
%13 = add nsw i32 %12, %11
store i32 %13, i32* %7
%14 = load i64, i64* %3
%15 = load i64, i64* %3
%16 = icmp sle i64 %14, %15
%17 = zext i1 %16 to i32
%18 = load i32, i32* %7
%19 = add nsw i32 %18, %17
store i32 %19, i32* %7
%20 = load i32, i32* %4
%21 = load i32, i32* %4
%22 = icmp sle i32 %20, %21
%23 = zext i1 %22 to i32
%24 = load i32, i32* %7
%25 = add nsw i32 %24, %23
store i32 %25, i32* %7
%26 = load i32, i32* %5
%27 = load i32, i32* %5
%28 = icmp ule i32 %26, %27
%29 = zext i1 %28 to i32
%30 = load i32, i32* %7
%31 = add nsw i32 %30, %29
store i32 %31, i32* %7
%32 = load i8, i8* %6
%33 = sext i8 %32 to i32
%34 = load i8, i8* %6
%35 = sext i8 %34 to i32
%36 = icmp sle i32 %33, %35
%37 = zext i1 %36 to i32
%38 = load i32, i32* %7
%39 = add nsw i32 %38, %37
store i32 %39, i32* %7
%40 = load float, float* %2
%41 = load i64, i64* %3
%42 = sitofp i64 %41 to float
%43 = fcmp ole float %40, %42
%44 = zext i1 %43 to i32
%45 = load i32, i32* %7
%46 = add nsw i32 %45, %44
store i32 %46, i32* %7
%47 = load float, float* %2
%48 = load i32, i32* %4
%49 = sitofp i32 %48 to float
%50 = fcmp ole float %47, %49
%51 = zext i1 %50 to i32
%52 = load i32, i32* %7
%53 = add nsw i32 %52, %51
store i32 %53, i32* %7
%54 = load float, float* %2
%55 = load i32, i32* %5
%56 = uitofp i32 %55 to float
%57 = fcmp ole float %54, %56
%58 = zext i1 %57 to i32
%59 = load i32, i32* %7
%60 = add nsw i32 %59, %58
store i32 %60, i32* %7
%61 = load float, float* %2
%62 = load i8, i8* %6
%63 = sext i8 %62 to i32
%64 = sitofp i32 %63 to float
%65 = fcmp ole float %61, %64
%66 = zext i1 %65 to i32
%67 = load i32, i32* %7
%68 = add nsw i32 %67, %66
store i32 %68, i32* %7
%69 = load i64, i64* %3
%70 = sitofp i64 %69 to float
%71 = load float, float* %2
%72 = fcmp ole float %70, %71
%73 = zext i1 %72 to i32
%74 = load i32, i32* %7
%75 = add nsw i32 %74, %73
store i32 %75, i32* %7
%76 = load i64, i64* %3
%77 = load i32, i32* %4
%78 = sext i32 %77 to i64
%79 = icmp sle i64 %76, %78
%80 = zext i1 %79 to i32
%81 = load i32, i32* %7
%82 = add nsw i32 %81, %80
store i32 %82, i32* %7
%83 = load i64, i64* %3
%84 = load i32, i32* %5
%85 = zext i32 %84 to i64
%86 = icmp sle i64 %83, %85
%87 = zext i1 %86 to i32
%88 = load i32, i32* %7
%89 = add nsw i32 %88, %87
store i32 %89, i32* %7
%90 = load i64, i64* %3
%91 = load i8, i8* %6
%92 = sext i8 %91 to i64
%93 = icmp sle i64 %90, %92
%94 = zext i1 %93 to i32
%95 = load i32, i32* %7
%96 = add nsw i32 %95, %94
store i32 %96, i32* %7
%97 = load i32, i32* %4
%98 = sitofp i32 %97 to float
%99 = load float, float* %2
%100 = fcmp ole float %98, %99
%101 = zext i1 %100 to i32
%102 = load i32, i32* %7
%103 = add nsw i32 %102, %101
store i32 %103, i32* %7
%104 = load i32, i32* %4
%105 = sext i32 %104 to i64
%106 = load i64, i64* %3
%107 = icmp sle i64 %105, %106
%108 = zext i1 %107 to i32
%109 = load i32, i32* %7
%110 = add nsw i32 %109, %108
store i32 %110, i32* %7
%111 = load i32, i32* %4
%112 = load i32, i32* %4
%113 = icmp sle i32 %111, %112
%114 = zext i1 %113 to i32
%115 = load i32, i32* %7
%116 = add nsw i32 %115, %114
store i32 %116, i32* %7
%117 = load i32, i32* %4
%118 = load i32, i32* %5
%119 = icmp ule i32 %117, %118
%120 = zext i1 %119 to i32
%121 = load i32, i32* %7
%122 = add nsw i32 %121, %120
store i32 %122, i32* %7
%123 = load i32, i32* %4
%124 = load i8, i8* %6
%125 = sext i8 %124 to i32
%126 = icmp sle i32 %123, %125
%127 = zext i1 %126 to i32
%128 = load i32, i32* %7
%129 = add nsw i32 %128, %127
store i32 %129, i32* %7
%130 = load i32, i32* %5
%131 = uitofp i32 %130 to float
%132 = load float, float* %2
%133 = fcmp ole float %131, %132
%134 = zext i1 %133 to i32
%135 = load i32, i32* %7
%136 = add nsw i32 %135, %134
store i32 %136, i32* %7
%137 = load i32, i32* %5
%138 = zext i32 %137 to i64
%139 = load i64, i64* %3
%140 = icmp sle i64 %138, %139
%141 = zext i1 %140 to i32
%142 = load i32, i32* %7
%143 = add nsw i32 %142, %141
store i32 %143, i32* %7
%144 = load i32, i32* %5
%145 = load i32, i32* %4
%146 = icmp ule i32 %144, %145
%147 = zext i1 %146 to i32
%148 = load i32, i32* %7
%149 = add nsw i32 %148, %147
store i32 %149, i32* %7
%150 = load i32, i32* %5
%151 = load i8, i8* %6
%152 = sext i8 %151 to i32
%153 = icmp ule i32 %150, %152
%154 = zext i1 %153 to i32
%155 = load i32, i32* %7
%156 = add nsw i32 %155, %154
store i32 %156, i32* %7
%157 = load i8, i8* %6
%158 = sext i8 %157 to i32
%159 = sitofp i32 %158 to float
%160 = load float, float* %2
%161 = fcmp ole float %159, %160
%162 = zext i1 %161 to i32
%163 = load i32, i32* %7
%164 = add nsw i32 %163, %162
store i32 %164, i32* %7
%165 = load i8, i8* %6
%166 = sext i8 %165 to i64
%167 = load i64, i64* %3
%168 = icmp sle i64 %166, %167
%169 = zext i1 %168 to i32
%170 = load i32, i32* %7
%171 = add nsw i32 %170, %169
store i32 %171, i32* %7
%172 = load i8, i8* %6
%173 = sext i8 %172 to i32
%174 = load i32, i32* %4
%175 = icmp sle i32 %173, %174
%176 = zext i1 %175 to i32
%177 = load i32, i32* %7
%178 = add nsw i32 %177, %176
store i32 %178, i32* %7
%179 = load i8, i8* %6
%180 = sext i8 %179 to i32
%181 = load i32, i32* %5
%182 = icmp ule i32 %180, %181
%183 = zext i1 %182 to i32
%184 = load i32, i32* %7
%185 = add nsw i32 %184, %183
store i32 %185, i32* %7
%186 = load i8, i8* %6
%187 = sext i8 %186 to i32
%188 = load i8, i8* %6
%189 = sext i8 %188 to i32
%190 = icmp sle i32 %187, %189
%191 = zext i1 %190 to i32
%192 = load i32, i32* %7
%193 = add nsw i32 %192, %191
store i32 %193, i32* %7
store i8 0, i8* %6
store i64 0, i64* %3
store i32 3, i32* %4
%194 = load float, float* %2
%195 = load float, float* %2
%196 = fcmp ole float %194, %195
%197 = zext i1 %196 to i32
%198 = load i32, i32* %7
%199 = add nsw i32 %198, %197
store i32 %199, i32* %7
%200 = load i64, i64* %3
%201 = load i64, i64* %3
%202 = icmp sle i64 %200, %201
%203 = zext i1 %202 to i32
%204 = load i32, i32* %7
%205 = add nsw i32 %204, %203
store i32 %205, i32* %7
%206 = load i32, i32* %4
%207 = load i32, i32* %4
%208 = icmp sle i32 %206, %207
%209 = zext i1 %208 to i32
%210 = load i32, i32* %7
%211 = add nsw i32 %210, %209
store i32 %211, i32* %7
%212 = load i32, i32* %5
%213 = load i32, i32* %5
%214 = icmp ule i32 %212, %213
%215 = zext i1 %214 to i32
%216 = load i32, i32* %7
%217 = add nsw i32 %216, %215
store i32 %217, i32* %7
%218 = load i8, i8* %6
%219 = sext i8 %218 to i32
%220 = load i8, i8* %6
%221 = sext i8 %220 to i32
%222 = icmp sle i32 %219, %221
%223 = zext i1 %222 to i32
%224 = load i32, i32* %7
%225 = add nsw i32 %224, %223
store i32 %225, i32* %7
%226 = load float, float* %2
%227 = load i64, i64* %3
%228 = sitofp i64 %227 to float
%229 = fcmp ole float %226, %228
%230 = zext i1 %229 to i32
%231 = load i32, i32* %7
%232 = add nsw i32 %231, %230
store i32 %232, i32* %7
%233 = load float, float* %2
%234 = load i32, i32* %4
%235 = sitofp i32 %234 to float
%236 = fcmp ole float %233, %235
%237 = zext i1 %236 to i32
%238 = load i32, i32* %7
%239 = add nsw i32 %238, %237
store i32 %239, i32* %7
%240 = load float, float* %2
%241 = load i32, i32* %5
%242 = uitofp i32 %241 to float
%243 = fcmp ole float %240, %242
%244 = zext i1 %243 to i32
%245 = load i32, i32* %7
%246 = add nsw i32 %245, %244
store i32 %246, i32* %7
%247 = load float, float* %2
%248 = load i8, i8* %6
%249 = sext i8 %248 to i32
%250 = sitofp i32 %249 to float
%251 = fcmp ole float %247, %250
%252 = zext i1 %251 to i32
%253 = load i32, i32* %7
%254 = add nsw i32 %253, %252
store i32 %254, i32* %7
%255 = load i64, i64* %3
%256 = sitofp i64 %255 to float
%257 = load float, float* %2
%258 = fcmp ole float %256, %257
%259 = zext i1 %258 to i32
%260 = load i32, i32* %7
%261 = add nsw i32 %260, %259
store i32 %261, i32* %7
%262 = load i64, i64* %3
%263 = load i32, i32* %4
%264 = sext i32 %263 to i64
%265 = icmp sle i64 %262, %264
%266 = zext i1 %265 to i32
%267 = load i32, i32* %7
%268 = add nsw i32 %267, %266
store i32 %268, i32* %7
%269 = load i64, i64* %3
%270 = load i32, i32* %5
%271 = zext i32 %270 to i64
%272 = icmp sle i64 %269, %271
%273 = zext i1 %272 to i32
%274 = load i32, i32* %7
%275 = add nsw i32 %274, %273
store i32 %275, i32* %7
%276 = load i64, i64* %3
%277 = load i8, i8* %6
%278 = sext i8 %277 to i64
%279 = icmp sle i64 %276, %278
%280 = zext i1 %279 to i32
%281 = load i32, i32* %7
%282 = add nsw i32 %281, %280
store i32 %282, i32* %7
%283 = load i32, i32* %4
%284 = sitofp i32 %283 to float
%285 = load float, float* %2
%286 = fcmp ole float %284, %285
%287 = zext i1 %286 to i32
%288 = load i32, i32* %7
%289 = add nsw i32 %288, %287
store i32 %289, i32* %7
%290 = load i32, i32* %4
%291 = sext i32 %290 to i64
%292 = load i64, i64* %3
%293 = icmp sle i64 %291, %292
%294 = zext i1 %293 to i32
%295 = load i32, i32* %7
%296 = add nsw i32 %295, %294
store i32 %296, i32* %7
%297 = load i32, i32* %4
%298 = load i32, i32* %4
%299 = icmp sle i32 %297, %298
%300 = zext i1 %299 to i32
%301 = load i32, i32* %7
%302 = add nsw i32 %301, %300
store i32 %302, i32* %7
%303 = load i32, i32* %4
%304 = load i32, i32* %5
%305 = icmp ule i32 %303, %304
%306 = zext i1 %305 to i32
%307 = load i32, i32* %7
%308 = add nsw i32 %307, %306
store i32 %308, i32* %7
%309 = load i32, i32* %4
%310 = load i8, i8* %6
%311 = sext i8 %310 to i32
%312 = icmp sle i32 %309, %311
%313 = zext i1 %312 to i32
%314 = load i32, i32* %7
%315 = add nsw i32 %314, %313
store i32 %315, i32* %7
%316 = load i32, i32* %5
%317 = uitofp i32 %316 to float
%318 = load float, float* %2
%319 = fcmp ole float %317, %318
%320 = zext i1 %319 to i32
%321 = load i32, i32* %7
%322 = add nsw i32 %321, %320
store i32 %322, i32* %7
%323 = load i32, i32* %5
%324 = zext i32 %323 to i64
%325 = load i64, i64* %3
%326 = icmp sle i64 %324, %325
%327 = zext i1 %326 to i32
%328 = load i32, i32* %7
%329 = add nsw i32 %328, %327
store i32 %329, i32* %7
%330 = load i32, i32* %5
%331 = load i32, i32* %4
%332 = icmp ule i32 %330, %331
%333 = zext i1 %332 to i32
%334 = load i32, i32* %7
%335 = add nsw i32 %334, %333
store i32 %335, i32* %7
%336 = load i32, i32* %5
%337 = load i8, i8* %6
%338 = sext i8 %337 to i32
%339 = icmp ule i32 %336, %338
%340 = zext i1 %339 to i32
%341 = load i32, i32* %7
%342 = add nsw i32 %341, %340
store i32 %342, i32* %7
%343 = load i8, i8* %6
%344 = sext i8 %343 to i32
%345 = sitofp i32 %344 to float
%346 = load float, float* %2
%347 = fcmp ole float %345, %346
%348 = zext i1 %347 to i32
%349 = load i32, i32* %7
%350 = add nsw i32 %349, %348
store i32 %350, i32* %7
%351 = load i8, i8* %6
%352 = sext i8 %351 to i64
%353 = load i64, i64* %3
%354 = icmp sle i64 %352, %353
%355 = zext i1 %354 to i32
%356 = load i32, i32* %7
%357 = add nsw i32 %356, %355
store i32 %357, i32* %7
%358 = load i8, i8* %6
%359 = sext i8 %358 to i32
%360 = load i32, i32* %4
%361 = icmp sle i32 %359, %360
%362 = zext i1 %361 to i32
%363 = load i32, i32* %7
%364 = add nsw i32 %363, %362
store i32 %364, i32* %7
%365 = load i8, i8* %6
%366 = sext i8 %365 to i32
%367 = load i32, i32* %5
%368 = icmp ule i32 %366, %367
%369 = zext i1 %368 to i32
%370 = load i32, i32* %7
%371 = add nsw i32 %370, %369
store i32 %371, i32* %7
%372 = load i8, i8* %6
%373 = sext i8 %372 to i32
%374 = load i8, i8* %6
%375 = sext i8 %374 to i32
%376 = icmp sle i32 %373, %375
%377 = zext i1 %376 to i32
%378 = load i32, i32* %7
%379 = add nsw i32 %378, %377
store i32 %379, i32* %7
%380 = load i32, i32* %7
ret i32 %380
}

LLVM IR (-O2):
define i32 @main() {
ret i32 46
}