#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 */
typedef void *f;

/* Variables and functions */
float SCHAR_MAX;
float SCHAR_MIN;
float UCHAR_MAX;
int main(void) {
  volatile float f;
  volatile signed char s;
  f = SCHAR_MIN;
  (s) = (f)-5.0;
  (s) = (f)-1.5;
  (s) = (f)-1.0;
  (s) = (f)-0.75;
  (s) = (f)-0.5;
  (s) = (f)-0.0000001;
  (s) = (f)-0.0;
  (s) = (f);
  (s) = (f) + 0.0;
  (s) = (f) + 0.0000001;
  (s) = (f) + 0.5;
  (s) = (f) + 0.75;
  (s) = (f) + 1.0;
  (s) = (f) + 1.5;
  (s) = (f) + 5.0;
  ;
  f = 0.0;
  (s) = (f)-5.0;
  (s) = (f)-1.5;
  (s) = (f)-1.0;
  (s) = (f)-0.75;
  (s) = (f)-0.5;
  (s) = (f)-0.0000001;
  (s) = (f)-0.0;
  (s) = (f);
  (s) = (f) + 0.0;
  (s) = (f) + 0.0000001;
  (s) = (f) + 0.5;
  (s) = (f) + 0.75;
  (s) = (f) + 1.0;
  (s) = (f) + 1.5;
  (s) = (f) + 5.0;
  ;
  f = SCHAR_MAX;
  (s) = (f)-5.0;
  (s) = (f)-1.5;
  (s) = (f)-1.0;
  (s) = (f)-0.75;
  (s) = (f)-0.5;
  (s) = (f)-0.0000001;
  (s) = (f)-0.0;
  (s) = (f);
  (s) = (f) + 0.0;
  (s) = (f) + 0.0000001;
  (s) = (f) + 0.5;
  (s) = (f) + 0.75;
  (s) = (f) + 1.0;
  (s) = (f) + 1.5;
  (s) = (f) + 5.0;
  ;
  volatile unsigned char u;
  f = UCHAR_MAX;
  (u) = (f)-5.0;
  (u) = (f)-1.5;
  (u) = (f)-1.0;
  (u) = (f)-0.75;
  (u) = (f)-0.5;
  (u) = (f)-0.0000001;
  (u) = (f)-0.0;
  (u) = (f);
  (u) = (f) + 0.0;
  (u) = (f) + 0.0000001;
  (u) = (f) + 0.5;
  (u) = (f) + 0.75;
  (u) = (f) + 1.0;
  (u) = (f) + 1.5;
  (u) = (f) + 5.0;
  ;
  f = 0.0;
  (u) = (f)-5.0;
  (u) = (f)-1.5;
  (u) = (f)-1.0;
  (u) = (f)-0.75;
  (u) = (f)-0.5;
  (u) = (f)-0.0000001;
  (u) = (f)-0.0;
  (u) = (f);
  (u) = (f) + 0.0;
  (u) = (f) + 0.0000001;
  (u) = (f) + 0.5;
  (u) = (f) + 0.75;
  (u) = (f) + 1.0;
  (u) = (f) + 1.5;
  (u) = (f) + 5.0;
  ;
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
movl   $0x0,-0x4(%rbp)
mov    0x2ec6(%rip),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x8(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xed4(%rip),%xmm1
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xec0(%rip),%xmm2
subsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xeac(%rip),%xmm3
subsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xe98(%rip),%xmm4
subsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xe84(%rip),%xmm5
subsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xe70(%rip),%xmm6
subsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
cvttss2si -0x8(%rbp),%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
xorps  %xmm7,%xmm7
addsd  %xmm7,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movl   $0x0,-0x8(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
cvttss2si -0x8(%rbp),%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm7,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
mov    0x2c3c(%rip),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x8(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
cvttss2si -0x8(%rbp),%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm7,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x9(%rbp)
mov    0x2b30(%rip),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x8(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
cvttss2si -0x8(%rbp),%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm7,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movl   $0x0,-0x8(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
subsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
cvttss2si -0x8(%rbp),%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm7,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm5,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0xa(%rbp)
xor    %eax,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
mov    0x2ed1(%rip),%rax
movss  (%rax),%xmm0
movss  %xmm0,-0x4(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xedc(%rip),%xmm8
addsd  %xmm8,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xec4(%rip),%xmm9
addsd  %xmm9,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xeac(%rip),%xmm10
addsd  %xmm10,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xe94(%rip),%xmm11
addsd  %xmm11,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xe7c(%rip),%xmm12
addsd  %xmm12,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xe64(%rip),%xmm13
addsd  %xmm13,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x6(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x6(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
xorpd  %xmm6,%xmm6
addsd  %xmm6,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xe1f(%rip),%xmm7
addsd  %xmm7,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0xe09(%rip),%xmm0
addsd  %xmm0,%xmm1
cvttsd2si %xmm1,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm1
cvtss2sd %xmm1,%xmm2
movsd  0xdf3(%rip),%xmm1
addsd  %xmm1,%xmm2
cvttsd2si %xmm2,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm2
cvtss2sd %xmm2,%xmm3
movsd  0xddd(%rip),%xmm2
addsd  %xmm2,%xmm3
cvttsd2si %xmm3,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm3
cvtss2sd %xmm3,%xmm4
movsd  0xdc7(%rip),%xmm3
addsd  %xmm3,%xmm4
cvttsd2si %xmm4,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm4
cvtss2sd %xmm4,%xmm5
movsd  0xdb1(%rip),%xmm4
addsd  %xmm4,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movl   $0x0,-0x4(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm8,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm9,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm10,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm11,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm12,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm13,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x6(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm6,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm7,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm0,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm1,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm2,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm3,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm4,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
mov    0x2bd6(%rip),%rax
movss  (%rax),%xmm5
movss  %xmm5,-0x4(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm8,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm9,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm10,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm11,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm12,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm13,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x6(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm6,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm7,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm0,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm1,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm2,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm3,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm4,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x6(%rsp)
mov    0x2aad(%rip),%rax
movss  (%rax),%xmm5
movss  %xmm5,-0x4(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm8,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm9,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm10,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm11,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm12,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm13,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x5(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm6,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm7,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm0,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm1,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm2,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm3,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm4,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movl   $0x0,-0x4(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm8,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm9,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm10,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm11,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm12,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm13,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x5(%rsp)
cvttss2si -0x4(%rsp),%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm6,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm7,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm5
cvtss2sd %xmm5,%xmm5
addsd  %xmm0,%xmm5
cvttsd2si %xmm5,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm3,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x5(%rsp)
movss  -0x4(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
addsd  %xmm4,%xmm0
cvttsd2si %xmm0,%eax
mov    %al,-0x5(%rsp)
xor    %eax,%eax
ret

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

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