#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 */
int /*<<< orphan*/ printf(char *, int);
int /*<<< orphan*/ putchar;
int putflt(double, int, int /*<<< orphan*/);
int putfltfld(double, int, int, int /*<<< orphan*/);
int main(void) {
  double val;
  int i, fld;
  val = 10.0 / 7.0;
  fld = putflt(-val / 100, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(-val, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(-val * 100, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(val / 100, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(val, 10, (putchar));
  printf(" Field = %d\n", fld);
  for (i = 12; i > 0; i--) {
    val = 10 * val;
    fld = putflt(val, 10, (putchar));
    printf(" Field = %d\n", fld);
  }
  fld = putflt(0.0, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(1e-30, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(1e30, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(0.1e-30, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(0.2e-30, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(0.3e-30, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(0.01e-30, 10, (putchar));
  printf(" Field = %d\n", fld);
  fld = putflt(0.001e-30, 10, (putchar));
  printf(" Field = %d\n", fld);
  val = 30.0 / 13.0;
  fld = putfltfld(-val, 10, 20, (putchar));
  printf(" Field = %d\n", fld);
  fld = putfltfld(-val * 100, 10, -20, (putchar));
  printf(" Field = %d\n", fld);
  fld = putfltfld(val / 100, 10, -20, (putchar));
  printf(" Field = %d\n", fld);
  fld = putfltfld(val, 10, 20, (putchar));
  printf(" Field = %d\n", fld);
  fld = putfltfld(val, 25, 35, (putchar));
  printf(" Field = %d\n", fld);
  val = 5419351.0 / 1725033.0;
  fld = putfltfld(val, 25, 35, (putchar));
  printf(" Field = %d\n", fld);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
movl   $0x0,-0x4(%rbp)
movsd  0xec1(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0xe90(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    0x2e65(%rip),%rax
mov    (%rax),%esi
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xecc(%rip),%rdi
call   1030 <printf@plt>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    0x2e24(%rip),%rax
mov    (%rax),%esi
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xe8b(%rip),%rdi
call   1030 <printf@plt>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0xe02(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    0x2dd7(%rip),%rax
mov    (%rax),%esi
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xe3e(%rip),%rdi
call   1030 <printf@plt>
movsd  -0x10(%rbp),%xmm0
movsd  0xdcc(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    0x2da1(%rip),%rax
mov    (%rax),%esi
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xe08(%rip),%rdi
call   1030 <printf@plt>
movsd  -0x10(%rbp),%xmm0
mov    0x2d77(%rip),%rax
mov    (%rax),%esi
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xdde(%rip),%rdi
call   1030 <printf@plt>
movl   $0xc,-0x14(%rbp)
cmpl   $0x0,-0x14(%rbp)
jle    12e2 <main+0x1b2>
movsd  0xdb8(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x10(%rbp),%xmm0
mov    0x2d2a(%rip),%rax
mov    (%rax),%esi
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xd91(%rip),%rdi
call   1030 <printf@plt>
mov    -0x14(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x14(%rbp)
jmp    128e <main+0x15e>
mov    0x2cf7(%rip),%rax
mov    (%rax),%esi
xorps  %xmm0,%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xd5b(%rip),%rdi
call   1030 <printf@plt>
mov    0x2ccf(%rip),%rax
mov    (%rax),%esi
movsd  0xd35(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xd2e(%rip),%rdi
call   1030 <printf@plt>
mov    0x2ca2(%rip),%rax
mov    (%rax),%esi
movsd  0xd00(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xd01(%rip),%rdi
call   1030 <printf@plt>
mov    0x2c75(%rip),%rax
mov    (%rax),%esi
movsd  0xccb(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xcd4(%rip),%rdi
call   1030 <printf@plt>
mov    0x2c48(%rip),%rax
mov    (%rax),%esi
movsd  0xc96(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xca7(%rip),%rdi
call   1030 <printf@plt>
mov    0x2c1b(%rip),%rax
mov    (%rax),%esi
movsd  0xc61(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xc7a(%rip),%rdi
call   1030 <printf@plt>
mov    0x2bee(%rip),%rax
mov    (%rax),%esi
movsd  0xc2c(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xc4d(%rip),%rdi
call   1030 <printf@plt>
mov    0x2bc1(%rip),%rax
mov    (%rax),%esi
movsd  0xbf7(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xc20(%rip),%rdi
call   1030 <printf@plt>
movsd  0xbcb(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    0x2b6b(%rip),%rax
mov    (%rax),%edx
mov    $0xa,%edi
mov    $0x14,%esi
call   1050 <putfltfld@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xbcd(%rip),%rdi
call   1030 <printf@plt>
movsd  -0x10(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0xb44(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    0x2b19(%rip),%rax
mov    (%rax),%edx
mov    $0xa,%edi
mov    $0xffffffec,%esi
call   1050 <putfltfld@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xb7b(%rip),%rdi
call   1030 <printf@plt>
movsd  -0x10(%rbp),%xmm0
movsd  0xb09(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    0x2ade(%rip),%rax
mov    (%rax),%edx
mov    $0xa,%edi
mov    $0xffffffec,%esi
call   1050 <putfltfld@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xb40(%rip),%rdi
call   1030 <printf@plt>
movsd  -0x10(%rbp),%xmm0
mov    0x2aaf(%rip),%rax
mov    (%rax),%edx
mov    $0xa,%edi
mov    $0x14,%esi
call   1050 <putfltfld@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xb11(%rip),%rdi
call   1030 <printf@plt>
movsd  -0x10(%rbp),%xmm0
mov    0x2a80(%rip),%rax
mov    (%rax),%edx
mov    $0x19,%edi
mov    $0x23,%esi
call   1050 <putfltfld@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xae2(%rip),%rdi
call   1030 <printf@plt>
movsd  0xa85(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x10(%rbp),%xmm0
mov    0x2a44(%rip),%rax
mov    (%rax),%edx
mov    $0x19,%edi
mov    $0x23,%esi
call   1050 <putfltfld@plt>
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%esi
lea    0xaa6(%rip),%rdi
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
push   %rax
mov    0x2ea5(%rip),%r14
mov    (%r14),%esi
movsd  0xeba(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
lea    0xf91(%rip),%rbx
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xe9c(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xe85(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xe6e(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xe57(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xe40(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xe29(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xe12(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xdfb(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xde4(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xdcd(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xdb6(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xd9f(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xd88(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xd71(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xd5a(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xd43(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
xorps  %xmm0,%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xd12(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xcfb(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xce4(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xccd(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xcb6(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xc9f(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%esi
movsd  0xc88(%rip),%xmm0
mov    $0xa,%edi
call   1040 <putflt@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%edx
movsd  0xc71(%rip),%xmm0
mov    $0xa,%edi
mov    $0x14,%esi
call   1050 <putfltfld@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%edx
movsd  0xc55(%rip),%xmm0
mov    $0xa,%edi
mov    $0xffffffec,%esi
call   1050 <putfltfld@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%edx
movsd  0xc39(%rip),%xmm0
mov    $0xa,%edi
mov    $0xffffffec,%esi
call   1050 <putfltfld@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%edx
movsd  0xc1d(%rip),%xmm0
mov    $0xa,%edi
mov    $0x14,%esi
call   1050 <putfltfld@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%edx
movsd  0xbf9(%rip),%xmm0
mov    $0x19,%edi
mov    $0x23,%esi
call   1050 <putfltfld@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
mov    (%r14),%edx
movsd  0xbdd(%rip),%xmm0
mov    $0x19,%edi
mov    $0x23,%esi
call   1050 <putfltfld@plt>
mov    %rbx,%rdi
mov    %eax,%esi
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
@putchar = global i32 0
@.str = [13 x i8] c" Field = %d\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca double
%3 = alloca i32
%4 = alloca i32
store i32 0, i32* %1
store double 0x3FF6DB6DB6DB6DB7, double* %2
%5 = load double, double* %2
%6 = fneg double %5
%7 = fdiv double %6, 1.000000e+02
%8 = load i32, i32* @putchar
%9 = call i32 @putflt(double %7, i32 10, i32 %8)
store i32 %9, i32* %4
%10 = load i32, i32* %4
%11 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %10)
%12 = load double, double* %2
%13 = fneg double %12
%14 = load i32, i32* @putchar
%15 = call i32 @putflt(double %13, i32 10, i32 %14)
store i32 %15, i32* %4
%16 = load i32, i32* %4
%17 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %16)
%18 = load double, double* %2
%19 = fneg double %18
%20 = fmul double %19, 1.000000e+02
%21 = load i32, i32* @putchar
%22 = call i32 @putflt(double %20, i32 10, i32 %21)
store i32 %22, i32* %4
%23 = load i32, i32* %4
%24 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %23)
%25 = load double, double* %2
%26 = fdiv double %25, 1.000000e+02
%27 = load i32, i32* @putchar
%28 = call i32 @putflt(double %26, i32 10, i32 %27)
store i32 %28, i32* %4
%29 = load i32, i32* %4
%30 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %29)
%31 = load double, double* %2
%32 = load i32, i32* @putchar
%33 = call i32 @putflt(double %31, i32 10, i32 %32)
store i32 %33, i32* %4
%34 = load i32, i32* %4
%35 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %34)
store i32 12, i32* %3
br label %36
36: ; preds = %47, %0
%37 = load i32, i32* %3
%38 = icmp sgt i32 %37, 0
br i1 %38, label %39, label %50
39: ; preds = %36
%40 = load double, double* %2
%41 = fmul double 1.000000e+01, %40
store double %41, double* %2
%42 = load double, double* %2
%43 = load i32, i32* @putchar
%44 = call i32 @putflt(double %42, i32 10, i32 %43)
store i32 %44, i32* %4
%45 = load i32, i32* %4
%46 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %45)
br label %47
47: ; preds = %39
%48 = load i32, i32* %3
%49 = add nsw i32 %48, -1
store i32 %49, i32* %3
br label %36
50: ; preds = %36
%51 = load i32, i32* @putchar
%52 = call i32 @putflt(double 0.000000e+00, i32 10, i32 %51)
store i32 %52, i32* %4
%53 = load i32, i32* %4
%54 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %53)
%55 = load i32, i32* @putchar
%56 = call i32 @putflt(double 1.000000e-30, i32 10, i32 %55)
store i32 %56, i32* %4
%57 = load i32, i32* %4
%58 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %57)
%59 = load i32, i32* @putchar
%60 = call i32 @putflt(double 1.000000e+30, i32 10, i32 %59)
store i32 %60, i32* %4
%61 = load i32, i32* %4
%62 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %61)
%63 = load i32, i32* @putchar
%64 = call i32 @putflt(double 1.000000e-31, i32 10, i32 %63)
store i32 %64, i32* %4
%65 = load i32, i32* %4
%66 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %65)
%67 = load i32, i32* @putchar
%68 = call i32 @putflt(double 2.000000e-31, i32 10, i32 %67)
store i32 %68, i32* %4
%69 = load i32, i32* %4
%70 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %69)
%71 = load i32, i32* @putchar
%72 = call i32 @putflt(double 3.000000e-31, i32 10, i32 %71)
store i32 %72, i32* %4
%73 = load i32, i32* %4
%74 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %73)
%75 = load i32, i32* @putchar
%76 = call i32 @putflt(double 1.000000e-32, i32 10, i32 %75)
store i32 %76, i32* %4
%77 = load i32, i32* %4
%78 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %77)
%79 = load i32, i32* @putchar
%80 = call i32 @putflt(double 1.000000e-33, i32 10, i32 %79)
store i32 %80, i32* %4
%81 = load i32, i32* %4
%82 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %81)
store double 0x4002762762762762, double* %2
%83 = load double, double* %2
%84 = fneg double %83
%85 = load i32, i32* @putchar
%86 = call i32 @putfltfld(double %84, i32 10, i32 20, i32 %85)
store i32 %86, i32* %4
%87 = load i32, i32* %4
%88 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %87)
%89 = load double, double* %2
%90 = fneg double %89
%91 = fmul double %90, 1.000000e+02
%92 = load i32, i32* @putchar
%93 = call i32 @putfltfld(double %91, i32 10, i32 -20, i32 %92)
store i32 %93, i32* %4
%94 = load i32, i32* %4
%95 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %94)
%96 = load double, double* %2
%97 = fdiv double %96, 1.000000e+02
%98 = load i32, i32* @putchar
%99 = call i32 @putfltfld(double %97, i32 10, i32 -20, i32 %98)
store i32 %99, i32* %4
%100 = load i32, i32* %4
%101 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %100)
%102 = load double, double* %2
%103 = load i32, i32* @putchar
%104 = call i32 @putfltfld(double %102, i32 10, i32 20, i32 %103)
store i32 %104, i32* %4
%105 = load i32, i32* %4
%106 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %105)
%107 = load double, double* %2
%108 = load i32, i32* @putchar
%109 = call i32 @putfltfld(double %107, i32 25, i32 35, i32 %108)
store i32 %109, i32* %4
%110 = load i32, i32* %4
%111 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %110)
store double 0x400921FB54442D4A, double* %2
%112 = load double, double* %2
%113 = load i32, i32* @putchar
%114 = call i32 @putfltfld(double %112, i32 25, i32 35, i32 %113)
store i32 %114, i32* %4
%115 = load i32, i32* %4
%116 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %115)
ret i32 0
}

LLVM IR (-O2):
@putchar = global i32 0
@.str = [13 x i8] c" Field = %d\0A\00"
define i32 @main() {
%1 = load i32, i32* @putchar
%2 = tail call i32 @putflt(double 0xBF8D41D41D41D41D, i32 10, i32 %1)
%3 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %2)
%4 = load i32, i32* @putchar
%5 = tail call i32 @putflt(double 0xBFF6DB6DB6DB6DB7, i32 10, i32 %4)
%6 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %5)
%7 = load i32, i32* @putchar
%8 = tail call i32 @putflt(double 0xC061DB6DB6DB6DB7, i32 10, i32 %7)
%9 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %8)
%10 = load i32, i32* @putchar
%11 = tail call i32 @putflt(double 0x3F8D41D41D41D41D, i32 10, i32 %10)
%12 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %11)
%13 = load i32, i32* @putchar
%14 = tail call i32 @putflt(double 0x3FF6DB6DB6DB6DB7, i32 10, i32 %13)
%15 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %14)
%16 = load i32, i32* @putchar
%17 = tail call i32 @putflt(double 0x402C924924924925, i32 10, i32 %16)
%18 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %17)
%19 = load i32, i32* @putchar
%20 = tail call i32 @putflt(double 0x4061DB6DB6DB6DB7, i32 10, i32 %19)
%21 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %20)
%22 = load i32, i32* @putchar
%23 = tail call i32 @putflt(double 0x4096524924924925, i32 10, i32 %22)
%24 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %23)
%25 = load i32, i32* @putchar
%26 = tail call i32 @putflt(double 0x40CBE6DB6DB6DB6E, i32 10, i32 %25)
%27 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %26)
%28 = load i32, i32* @putchar
%29 = tail call i32 @putflt(double 0x4101704924924925, i32 10, i32 %28)
%30 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %29)
%31 = load i32, i32* @putchar
%32 = tail call i32 @putflt(double 0x4135CC5B6DB6DB6E, i32 10, i32 %31)
%33 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %32)
%34 = load i32, i32* @putchar
%35 = tail call i32 @putflt(double 0x416B3F724924924A, i32 10, i32 %34)
%36 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %35)
%37 = load i32, i32* @putchar
%38 = tail call i32 @putflt(double 0x41A107A76DB6DB6E, i32 10, i32 %37)
%39 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %38)
%40 = load i32, i32* @putchar
%41 = tail call i32 @putflt(double 0x41D549914924924A, i32 10, i32 %40)
%42 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %41)
%43 = load i32, i32* @putchar
%44 = tail call i32 @putflt(double 0x420A9BF59B6DB6DC, i32 10, i32 %43)
%45 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %44)
%46 = load i32, i32* @putchar
%47 = tail call i32 @putflt(double 0x4240A1798124924A, i32 10, i32 %46)
%48 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %47)
%49 = load i32, i32* @putchar
%50 = tail call i32 @putflt(double 0x4274C9D7E16DB6DC, i32 10, i32 %49)
%51 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %50)
%52 = load i32, i32* @putchar
%53 = tail call i32 @putflt(double 0.000000e+00, i32 10, i32 %52)
%54 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %53)
%55 = load i32, i32* @putchar
%56 = tail call i32 @putflt(double 1.000000e-30, i32 10, i32 %55)
%57 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %56)
%58 = load i32, i32* @putchar
%59 = tail call i32 @putflt(double 1.000000e+30, i32 10, i32 %58)
%60 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %59)
%61 = load i32, i32* @putchar
%62 = tail call i32 @putflt(double 1.000000e-31, i32 10, i32 %61)
%63 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %62)
%64 = load i32, i32* @putchar
%65 = tail call i32 @putflt(double 2.000000e-31, i32 10, i32 %64)
%66 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %65)
%67 = load i32, i32* @putchar
%68 = tail call i32 @putflt(double 3.000000e-31, i32 10, i32 %67)
%69 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %68)
%70 = load i32, i32* @putchar
%71 = tail call i32 @putflt(double 1.000000e-32, i32 10, i32 %70)
%72 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %71)
%73 = load i32, i32* @putchar
%74 = tail call i32 @putflt(double 1.000000e-33, i32 10, i32 %73)
%75 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %74)
%76 = load i32, i32* @putchar
%77 = tail call i32 @putfltfld(double 0xC002762762762762, i32 10, i32 20, i32 %76)
%78 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %77)
%79 = load i32, i32* @putchar
%80 = tail call i32 @putfltfld(double 0xC06CD89D89D89D89, i32 10, i32 -20, i32 %79)
%81 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %80)
%82 = load i32, i32* @putchar
%83 = tail call i32 @putfltfld(double 0x3F97A17A17A17A17, i32 10, i32 -20, i32 %82)
%84 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %83)
%85 = load i32, i32* @putchar
%86 = tail call i32 @putfltfld(double 0x4002762762762762, i32 10, i32 20, i32 %85)
%87 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %86)
%88 = load i32, i32* @putchar
%89 = tail call i32 @putfltfld(double 0x4002762762762762, i32 25, i32 35, i32 %88)
%90 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %89)
%91 = load i32, i32* @putchar
%92 = tail call i32 @putfltfld(double 0x400921FB54442D4A, i32 25, i32 35, i32 %91)
%93 = tail call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0), i32 %92)
ret i32 0
}