#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 DBL_DIG;
double DBL_EPSILON;
double DBL_MAX;
double DBL_MIN;
int FLT_DIG;
double FLT_EPSILON;
double FLT_MAX;
double FLT_MIN;
int INT_MAX;
int INT_MIN;
int LDBL_DIG;
double LDBL_EPSILON;
double LDBL_MAX;
double LDBL_MIN;
double LLONG_MAX;
double LLONG_MIN;
double LONG_MAX;
double LONG_MIN;
int SHRT_MAX;
int SHRT_MIN;
int /*<<< orphan*/ printf(char *, ...);
int main() {
  printf("|%11s|%21s|%21s|%13s|%10s|%11s|\n", "TYP", "MINIMUM", "Maksimum",
         "ZIARNO", "PRECYZJA", "WE/WY");
  printf("|-----------|---------------------|---------------------|------------"
         "-|----------|-----------|\n");
  printf("|%11s|%21i|%21i|%13c|%10c|%11s|\n", "short", SHRT_MIN, SHRT_MAX, ' ',
         ' ', "i");
  printf("|%11s|%21i|%21i|%13c|%10c|%11s|\n", "int", INT_MIN, INT_MAX, ' ', ' ',
         "i");
  printf("|%11s|%21li|%21li|%13c|%10c|%11s|\n", "long", LONG_MIN, LONG_MAX, ' ',
         ' ', "li");
  printf("|%11s|%21lli|%21lli|%13c|%10c|%11s|\n", "long long", LLONG_MIN,
         LLONG_MAX, ' ', ' ', "lli");
  printf("|%11s|%21e|%21e|%13e|%10i|%11s|\n", "float", FLT_MIN, FLT_MAX,
         FLT_EPSILON, FLT_DIG, "e, f");
  printf("|%11s|%21le|%21le|%13e|%10i|%11s|\n", "double", DBL_MIN, DBL_MAX,
         DBL_EPSILON, DBL_DIG, "le, lf");
  printf("|%11s|%21Le|%21Le|%13Le|%10i|%11s|\n", "long double", LDBL_MIN,
         LDBL_MAX, LDBL_EPSILON, LDBL_DIG, "Le, Lf");
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
lea    0xee1(%rip),%rdi
lea    0xefb(%rip),%rsi
lea    0xef8(%rip),%rdx
lea    0xef9(%rip),%rcx
lea    0xefb(%rip),%r8
lea    0xefb(%rip),%r9
lea    0xefd(%rip),%rax
mov    %rax,(%rsp)
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xef1(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    0x2e07(%rip),%rax
mov    (%rax),%edx
mov    0x2df6(%rip),%rax
mov    (%rax),%ecx
lea    0xf31(%rip),%rdi
lea    0xf4b(%rip),%rsi
mov    $0x20,%r9d
lea    0xf9c(%rip),%rax
mov    %r9d,%r8d
mov    %rax,(%rsp)
mov    $0x0,%al
call   1030 <printf@plt>
mov    0x2e14(%rip),%rax
mov    (%rax),%edx
mov    0x2e23(%rip),%rax
mov    (%rax),%ecx
lea    0xef6(%rip),%rdi
lea    0xf16(%rip),%rsi
mov    $0x20,%r9d
lea    0xf61(%rip),%rax
mov    %r9d,%r8d
mov    %rax,(%rsp)
mov    $0x0,%al
call   1030 <printf@plt>
mov    0x2de9(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2d96(%rip),%rax
movsd  (%rax),%xmm1
lea    0xee2(%rip),%rdi
lea    0xf28(%rip),%rsi
mov    $0x20,%ecx
lea    0xf22(%rip),%r8
mov    %ecx,%edx
mov    $0x2,%al
call   1030 <printf@plt>
mov    0x2d80(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2d8d(%rip),%rax
movsd  (%rax),%xmm1
lea    0xecc(%rip),%rdi
lea    0xeea(%rip),%rsi
mov    $0x20,%ecx
lea    0xee8(%rip),%r8
mov    %ecx,%edx
mov    $0x2,%al
call   1030 <printf@plt>
mov    0x2d87(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2d4c(%rip),%rax
movsd  (%rax),%xmm1
mov    0x2d29(%rip),%rax
movsd  (%rax),%xmm2
mov    0x2d86(%rip),%rax
mov    (%rax),%edx
lea    0xeb2(%rip),%rdi
lea    0xecc(%rip),%rsi
lea    0xecb(%rip),%rcx
mov    $0x3,%al
call   1030 <printf@plt>
mov    0x2cc1(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2cae(%rip),%rax
movsd  (%rax),%xmm1
mov    0x2d33(%rip),%rax
movsd  (%rax),%xmm2
mov    0x2d08(%rip),%rax
mov    (%rax),%edx
lea    0xe98(%rip),%rdi
lea    0xee4(%rip),%rsi
lea    0xead(%rip),%rcx
mov    $0x3,%al
call   1030 <printf@plt>
mov    0x2c83(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2ca0(%rip),%rax
movsd  (%rax),%xmm1
mov    0x2c4d(%rip),%rax
movsd  (%rax),%xmm2
mov    0x2c7a(%rip),%rax
mov    (%rax),%edx
lea    0xe7c(%rip),%rdi
lea    0xe99(%rip),%rsi
lea    0xe9e(%rip),%rcx
mov    $0x3,%al
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
push   %rax
lea    0xf1b(%rip),%rax
mov    %rax,(%rsp)
lea    0xeca(%rip),%rdi
lea    0xee4(%rip),%rsi
lea    0xee1(%rip),%rdx
lea    0xee2(%rip),%rcx
lea    0xee4(%rip),%r8
lea    0xee4(%rip),%r9
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xff3(%rip),%rdi
call   1030 <puts@plt>
mov    0x2dfd(%rip),%rax
mov    (%rax),%edx
mov    0x2dec(%rip),%rax
mov    (%rax),%ecx
lea    0xf46(%rip),%r14
mov    %r14,(%rsp)
lea    0xebc(%rip),%rbx
lea    0xed6(%rip),%rsi
mov    %rbx,%rdi
mov    $0x20,%r8d
mov    $0x20,%r9d
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x2e04(%rip),%rax
mov    (%rax),%edx
mov    0x2e13(%rip),%rax
mov    (%rax),%ecx
mov    %r14,(%rsp)
lea    0xea9(%rip),%rsi
mov    %rbx,%rdi
mov    $0x20,%r8d
mov    $0x20,%r9d
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x2de1(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2d8e(%rip),%rax
movsd  (%rax),%xmm1
lea    0xe7a(%rip),%rdi
lea    0xec0(%rip),%rsi
lea    0xebf(%rip),%r8
mov    $0x20,%edx
mov    $0x20,%ecx
mov    $0x2,%al
call   1040 <printf@plt>
mov    0x2d75(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2d82(%rip),%rax
movsd  (%rax),%xmm1
lea    0xe61(%rip),%rdi
lea    0xe7f(%rip),%rsi
lea    0xe82(%rip),%r8
mov    $0x20,%edx
mov    $0x20,%ecx
mov    $0x2,%al
call   1040 <printf@plt>
mov    0x2d79(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2d3e(%rip),%rax
movsd  (%rax),%xmm1
mov    0x2d1b(%rip),%rax
movsd  (%rax),%xmm2
mov    0x2d78(%rip),%rax
mov    (%rax),%edx
lea    0xe44(%rip),%rdi
lea    0xe5e(%rip),%rsi
lea    0xe5d(%rip),%rcx
mov    $0x3,%al
call   1040 <printf@plt>
mov    0x2cb3(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2ca0(%rip),%rax
movsd  (%rax),%xmm1
mov    0x2d25(%rip),%rax
movsd  (%rax),%xmm2
mov    0x2cfa(%rip),%rax
mov    (%rax),%edx
lea    0xe2a(%rip),%rdi
lea    0xe76(%rip),%rsi
lea    0xe3f(%rip),%rcx
mov    $0x3,%al
call   1040 <printf@plt>
mov    0x2c75(%rip),%rax
movsd  (%rax),%xmm0
mov    0x2c92(%rip),%rax
movsd  (%rax),%xmm1
mov    0x2c3f(%rip),%rax
movsd  (%rax),%xmm2
mov    0x2c6c(%rip),%rax
mov    (%rax),%edx
lea    0xe0e(%rip),%rdi
lea    0xe2b(%rip),%rsi
lea    0xe30(%rip),%rcx
mov    $0x3,%al
call   1040 <printf@plt>
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
@.str = [33 x i8] c"|%11s|%21s|%21s|%13s|%10s|%11s|\0A\00"
@.str.1 = [4 x i8] c"TYP\00"
@.str.2 = [8 x i8] c"MINIMUM\00"
@.str.3 = [9 x i8] c"Maksimum\00"
@.str.4 = [7 x i8] c"ZIARNO\00"
@.str.5 = [9 x i8] c"PRECYZJA\00"
@.str.6 = [6 x i8] c"WE/WY\00"
@.str.7 = [96 x i8] c"|-----------|---------------------|---------------------|-------------|----------|-----------|\0A\00"
@.str.8 = [33 x i8] c"|%11s|%21i|%21i|%13c|%10c|%11s|\0A\00"
@.str.9 = [6 x i8] c"short\00"
@SHRT_MIN = global i32 0
@SHRT_MAX = global i32 0
@.str.10 = [2 x i8] c"i\00"
@.str.11 = [4 x i8] c"int\00"
@INT_MIN = global i32 0
@INT_MAX = global i32 0
@.str.12 = [35 x i8] c"|%11s|%21li|%21li|%13c|%10c|%11s|\0A\00"
@.str.13 = [5 x i8] c"long\00"
@LONG_MIN = global double 0.000000e+00
@LONG_MAX = global double 0.000000e+00
@.str.14 = [3 x i8] c"li\00"
@.str.15 = [37 x i8] c"|%11s|%21lli|%21lli|%13c|%10c|%11s|\0A\00"
@.str.16 = [10 x i8] c"long long\00"
@LLONG_MIN = global double 0.000000e+00
@LLONG_MAX = global double 0.000000e+00
@.str.17 = [4 x i8] c"lli\00"
@.str.18 = [33 x i8] c"|%11s|%21e|%21e|%13e|%10i|%11s|\0A\00"
@.str.19 = [6 x i8] c"float\00"
@FLT_MIN = global double 0.000000e+00
@FLT_MAX = global double 0.000000e+00
@FLT_EPSILON = global double 0.000000e+00
@FLT_DIG = global i32 0
@.str.20 = [5 x i8] c"e, f\00"
@.str.21 = [35 x i8] c"|%11s|%21le|%21le|%13e|%10i|%11s|\0A\00"
@.str.22 = [7 x i8] c"double\00"
@DBL_MIN = global double 0.000000e+00
@DBL_MAX = global double 0.000000e+00
@DBL_EPSILON = global double 0.000000e+00
@DBL_DIG = global i32 0
@.str.23 = [7 x i8] c"le, lf\00"
@.str.24 = [36 x i8] c"|%11s|%21Le|%21Le|%13Le|%10i|%11s|\0A\00"
@.str.25 = [12 x i8] c"long double\00"
@LDBL_MIN = global double 0.000000e+00
@LDBL_MAX = global double 0.000000e+00
@LDBL_EPSILON = global double 0.000000e+00
@LDBL_DIG = global i32 0
@.str.26 = [7 x i8] c"Le, Lf\00"
define i32 @main() {
%1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0))
%2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.7, i64 0, i64 0))
%3 = load i32, i32* @SHRT_MIN
%4 = load i32, i32* @SHRT_MAX
%5 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.9, i64 0, i64 0), i32 %3, i32 %4, i32 32, i32 32, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0))
%6 = load i32, i32* @INT_MIN
%7 = load i32, i32* @INT_MAX
%8 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), i32 %6, i32 %7, i32 32, i32 32, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0))
%9 = load double, double* @LONG_MIN
%10 = load double, double* @LONG_MAX
%11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.13, i64 0, i64 0), double %9, double %10, i32 32, i32 32, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.14, i64 0, i64 0))
%12 = load double, double* @LLONG_MIN
%13 = load double, double* @LLONG_MAX
%14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16, i64 0, i64 0), double %12, double %13, i32 32, i32 32, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0))
%15 = load double, double* @FLT_MIN
%16 = load double, double* @FLT_MAX
%17 = load double, double* @FLT_EPSILON
%18 = load i32, i32* @FLT_DIG
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.18, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), double %15, double %16, double %17, i32 %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.20, i64 0, i64 0))
%20 = load double, double* @DBL_MIN
%21 = load double, double* @DBL_MAX
%22 = load double, double* @DBL_EPSILON
%23 = load i32, i32* @DBL_DIG
%24 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.22, i64 0, i64 0), double %20, double %21, double %22, i32 %23, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.23, i64 0, i64 0))
%25 = load double, double* @LDBL_MIN
%26 = load double, double* @LDBL_MAX
%27 = load double, double* @LDBL_EPSILON
%28 = load i32, i32* @LDBL_DIG
%29 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.24, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.25, i64 0, i64 0), double %25, double %26, double %27, i32 %28, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.26, i64 0, i64 0))
ret i32 0
}

LLVM IR (-O2):
@.str = [33 x i8] c"|%11s|%21s|%21s|%13s|%10s|%11s|\0A\00"
@.str.1 = [4 x i8] c"TYP\00"
@.str.2 = [8 x i8] c"MINIMUM\00"
@.str.3 = [9 x i8] c"Maksimum\00"
@.str.4 = [7 x i8] c"ZIARNO\00"
@.str.5 = [9 x i8] c"PRECYZJA\00"
@.str.6 = [6 x i8] c"WE/WY\00"
@.str.8 = [33 x i8] c"|%11s|%21i|%21i|%13c|%10c|%11s|\0A\00"
@.str.9 = [6 x i8] c"short\00"
@SHRT_MIN = global i32 0
@SHRT_MAX = global i32 0
@.str.10 = [2 x i8] c"i\00"
@.str.11 = [4 x i8] c"int\00"
@INT_MIN = global i32 0
@INT_MAX = global i32 0
@.str.12 = [35 x i8] c"|%11s|%21li|%21li|%13c|%10c|%11s|\0A\00"
@.str.13 = [5 x i8] c"long\00"
@LONG_MIN = global double 0.000000e+00
@LONG_MAX = global double 0.000000e+00
@.str.14 = [3 x i8] c"li\00"
@.str.15 = [37 x i8] c"|%11s|%21lli|%21lli|%13c|%10c|%11s|\0A\00"
@.str.16 = [10 x i8] c"long long\00"
@LLONG_MIN = global double 0.000000e+00
@LLONG_MAX = global double 0.000000e+00
@.str.17 = [4 x i8] c"lli\00"
@.str.18 = [33 x i8] c"|%11s|%21e|%21e|%13e|%10i|%11s|\0A\00"
@.str.19 = [6 x i8] c"float\00"
@FLT_MIN = global double 0.000000e+00
@FLT_MAX = global double 0.000000e+00
@FLT_EPSILON = global double 0.000000e+00
@FLT_DIG = global i32 0
@.str.20 = [5 x i8] c"e, f\00"
@.str.21 = [35 x i8] c"|%11s|%21le|%21le|%13e|%10i|%11s|\0A\00"
@.str.22 = [7 x i8] c"double\00"
@DBL_MIN = global double 0.000000e+00
@DBL_MAX = global double 0.000000e+00
@DBL_EPSILON = global double 0.000000e+00
@DBL_DIG = global i32 0
@.str.23 = [7 x i8] c"le, lf\00"
@.str.24 = [36 x i8] c"|%11s|%21Le|%21Le|%13Le|%10i|%11s|\0A\00"
@.str.25 = [12 x i8] c"long double\00"
@LDBL_MIN = global double 0.000000e+00
@LDBL_MAX = global double 0.000000e+00
@LDBL_EPSILON = global double 0.000000e+00
@LDBL_DIG = global i32 0
@.str.26 = [7 x i8] c"Le, Lf\00"
@str = [95 x i8] c"|-----------|---------------------|---------------------|-------------|----------|-----------|\00"
define i32 @main() {
%1 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([95 x i8], [95 x i8]* @str, i64 0, i64 0))
%3 = load i32, i32* @SHRT_MIN
%4 = load i32, i32* @SHRT_MAX
%5 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.9, i64 0, i64 0), i32 %3, i32 %4, i32 32, i32 32, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0))
%6 = load i32, i32* @INT_MIN
%7 = load i32, i32* @INT_MAX
%8 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), i32 %6, i32 %7, i32 32, i32 32, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0))
%9 = load double, double* @LONG_MIN
%10 = load double, double* @LONG_MAX
%11 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([35 x i8], [35 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.13, i64 0, i64 0), double %9, double %10, i32 32, i32 32, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.14, i64 0, i64 0))
%12 = load double, double* @LLONG_MIN
%13 = load double, double* @LLONG_MAX
%14 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([37 x i8], [37 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16, i64 0, i64 0), double %12, double %13, i32 32, i32 32, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0))
%15 = load double, double* @FLT_MIN
%16 = load double, double* @FLT_MAX
%17 = load double, double* @FLT_EPSILON
%18 = load i32, i32* @FLT_DIG
%19 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @.str.18, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), double %15, double %16, double %17, i32 %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.20, i64 0, i64 0))
%20 = load double, double* @DBL_MIN
%21 = load double, double* @DBL_MAX
%22 = load double, double* @DBL_EPSILON
%23 = load i32, i32* @DBL_DIG
%24 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([35 x i8], [35 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.22, i64 0, i64 0), double %20, double %21, double %22, i32 %23, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.23, i64 0, i64 0))
%25 = load double, double* @LDBL_MIN
%26 = load double, double* @LDBL_MAX
%27 = load double, double* @LDBL_EPSILON
%28 = load i32, i32* @LDBL_DIG
%29 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.24, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.25, i64 0, i64 0), double %25, double %26, double %27, i32 %28, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.26, i64 0, i64 0))
ret i32 0
}