#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*/ DBL_DECIMAL_DIG;
int /*<<< orphan*/ DBL_DIG;
int /*<<< orphan*/ DBL_EPSILON;
int /*<<< orphan*/ DBL_HAS_SUBNORM;
int /*<<< orphan*/ DBL_MANT_DIG;
int /*<<< orphan*/ DBL_MAX;
int /*<<< orphan*/ DBL_MAX_10_EXP;
int /*<<< orphan*/ DBL_MAX_EXP;
int /*<<< orphan*/ DBL_MIN;
int /*<<< orphan*/ DBL_MIN_10_EXP;
int /*<<< orphan*/ DBL_MIN_EXP;
int /*<<< orphan*/ DBL_TRUE_MIN;
int /*<<< orphan*/ DECIMAL_DIG;
int EXIT_SUCCESS;
int /*<<< orphan*/ FLT_DECIMAL_DIG;
int /*<<< orphan*/ FLT_DIG;
int /*<<< orphan*/ FLT_EPSILON;
int /*<<< orphan*/ FLT_EVAL_METHOD;
int /*<<< orphan*/ FLT_HAS_SUBNORM;
int /*<<< orphan*/ FLT_MANT_DIG;
int /*<<< orphan*/ FLT_MAX;
int /*<<< orphan*/ FLT_MAX_10_EXP;
int /*<<< orphan*/ FLT_MAX_EXP;
int /*<<< orphan*/ FLT_MIN;
int /*<<< orphan*/ FLT_MIN_10_EXP;
int /*<<< orphan*/ FLT_MIN_EXP;
int /*<<< orphan*/ FLT_RADIX;
int /*<<< orphan*/ FLT_ROUNDS;
int /*<<< orphan*/ FLT_TRUE_MIN;
int /*<<< orphan*/ LDBL_DECIMAL_DIG;
int /*<<< orphan*/ LDBL_DIG;
int /*<<< orphan*/ LDBL_EPSILON;
int /*<<< orphan*/ LDBL_HAS_SUBNORM;
int /*<<< orphan*/ LDBL_MANT_DIG;
int /*<<< orphan*/ LDBL_MAX;
int /*<<< orphan*/ LDBL_MAX_10_EXP;
int /*<<< orphan*/ LDBL_MAX_EXP;
int /*<<< orphan*/ LDBL_MIN;
int /*<<< orphan*/ LDBL_MIN_10_EXP;
int /*<<< orphan*/ LDBL_MIN_EXP;
int /*<<< orphan*/ LDBL_TRUE_MIN;
int main(void) {
  (void)DECIMAL_DIG;
  (void)FLT_EVAL_METHOD;
  (void)FLT_RADIX;
  (void)FLT_ROUNDS;
  (void)FLT_DECIMAL_DIG;
  (void)FLT_DIG;
  (void)FLT_EPSILON;
  (void)FLT_HAS_SUBNORM;
  (void)FLT_MANT_DIG;
  (void)FLT_MAX;
  (void)FLT_MAX_10_EXP;
  (void)FLT_MAX_EXP;
  (void)FLT_MIN;
  (void)FLT_MIN_10_EXP;
  (void)FLT_MIN_EXP;
  (void)FLT_TRUE_MIN;
  (void)DBL_DECIMAL_DIG;
  (void)DBL_DIG;
  (void)DBL_EPSILON;
  (void)DBL_HAS_SUBNORM;
  (void)DBL_MANT_DIG;
  (void)DBL_MAX;
  (void)DBL_MAX_10_EXP;
  (void)DBL_MAX_EXP;
  (void)DBL_MIN;
  (void)DBL_MIN_10_EXP;
  (void)DBL_MIN_EXP;
  (void)DBL_TRUE_MIN;
  (void)LDBL_DECIMAL_DIG;
  (void)LDBL_DIG;
  (void)LDBL_EPSILON;
  (void)LDBL_HAS_SUBNORM;
  (void)LDBL_MANT_DIG;
  (void)LDBL_MAX;
  (void)LDBL_MAX_10_EXP;
  (void)LDBL_MAX_EXP;
  (void)LDBL_MIN;
  (void)LDBL_MIN_10_EXP;
  (void)LDBL_MIN_EXP;
  (void)LDBL_TRUE_MIN;
  return EXIT_SUCCESS;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
movl   $0x0,-0x4(%rbp)
mov    0x2ece(%rip),%rax
mov    (%rax),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
mov    0x2ed9(%rip),%rax
mov    (%rax),%eax
ret

LLVM IR (-O0):
@DECIMAL_DIG = global i32 0
@FLT_EVAL_METHOD = global i32 0
@FLT_RADIX = global i32 0
@FLT_ROUNDS = global i32 0
@FLT_DECIMAL_DIG = global i32 0
@FLT_DIG = global i32 0
@FLT_EPSILON = global i32 0
@FLT_HAS_SUBNORM = global i32 0
@FLT_MANT_DIG = global i32 0
@FLT_MAX = global i32 0
@FLT_MAX_10_EXP = global i32 0
@FLT_MAX_EXP = global i32 0
@FLT_MIN = global i32 0
@FLT_MIN_10_EXP = global i32 0
@FLT_MIN_EXP = global i32 0
@FLT_TRUE_MIN = global i32 0
@DBL_DECIMAL_DIG = global i32 0
@DBL_DIG = global i32 0
@DBL_EPSILON = global i32 0
@DBL_HAS_SUBNORM = global i32 0
@DBL_MANT_DIG = global i32 0
@DBL_MAX = global i32 0
@DBL_MAX_10_EXP = global i32 0
@DBL_MAX_EXP = global i32 0
@DBL_MIN = global i32 0
@DBL_MIN_10_EXP = global i32 0
@DBL_MIN_EXP = global i32 0
@DBL_TRUE_MIN = global i32 0
@LDBL_DECIMAL_DIG = global i32 0
@LDBL_DIG = global i32 0
@LDBL_EPSILON = global i32 0
@LDBL_HAS_SUBNORM = global i32 0
@LDBL_MANT_DIG = global i32 0
@LDBL_MAX = global i32 0
@LDBL_MAX_10_EXP = global i32 0
@LDBL_MAX_EXP = global i32 0
@LDBL_MIN = global i32 0
@LDBL_MIN_10_EXP = global i32 0
@LDBL_MIN_EXP = global i32 0
@LDBL_TRUE_MIN = global i32 0
@EXIT_SUCCESS = global i32 0
define i32 @main() {
%1 = alloca i32
store i32 0, i32* %1
%2 = load i32, i32* @DECIMAL_DIG
%3 = load i32, i32* @FLT_EVAL_METHOD
%4 = load i32, i32* @FLT_RADIX
%5 = load i32, i32* @FLT_ROUNDS
%6 = load i32, i32* @FLT_DECIMAL_DIG
%7 = load i32, i32* @FLT_DIG
%8 = load i32, i32* @FLT_EPSILON
%9 = load i32, i32* @FLT_HAS_SUBNORM
%10 = load i32, i32* @FLT_MANT_DIG
%11 = load i32, i32* @FLT_MAX
%12 = load i32, i32* @FLT_MAX_10_EXP
%13 = load i32, i32* @FLT_MAX_EXP
%14 = load i32, i32* @FLT_MIN
%15 = load i32, i32* @FLT_MIN_10_EXP
%16 = load i32, i32* @FLT_MIN_EXP
%17 = load i32, i32* @FLT_TRUE_MIN
%18 = load i32, i32* @DBL_DECIMAL_DIG
%19 = load i32, i32* @DBL_DIG
%20 = load i32, i32* @DBL_EPSILON
%21 = load i32, i32* @DBL_HAS_SUBNORM
%22 = load i32, i32* @DBL_MANT_DIG
%23 = load i32, i32* @DBL_MAX
%24 = load i32, i32* @DBL_MAX_10_EXP
%25 = load i32, i32* @DBL_MAX_EXP
%26 = load i32, i32* @DBL_MIN
%27 = load i32, i32* @DBL_MIN_10_EXP
%28 = load i32, i32* @DBL_MIN_EXP
%29 = load i32, i32* @DBL_TRUE_MIN
%30 = load i32, i32* @LDBL_DECIMAL_DIG
%31 = load i32, i32* @LDBL_DIG
%32 = load i32, i32* @LDBL_EPSILON
%33 = load i32, i32* @LDBL_HAS_SUBNORM
%34 = load i32, i32* @LDBL_MANT_DIG
%35 = load i32, i32* @LDBL_MAX
%36 = load i32, i32* @LDBL_MAX_10_EXP
%37 = load i32, i32* @LDBL_MAX_EXP
%38 = load i32, i32* @LDBL_MIN
%39 = load i32, i32* @LDBL_MIN_10_EXP
%40 = load i32, i32* @LDBL_MIN_EXP
%41 = load i32, i32* @LDBL_TRUE_MIN
%42 = load i32, i32* @EXIT_SUCCESS
ret i32 %42
}

LLVM IR (-O2):
@DECIMAL_DIG = global i32 0
@FLT_EVAL_METHOD = global i32 0
@FLT_RADIX = global i32 0
@FLT_ROUNDS = global i32 0
@FLT_DECIMAL_DIG = global i32 0
@FLT_DIG = global i32 0
@FLT_EPSILON = global i32 0
@FLT_HAS_SUBNORM = global i32 0
@FLT_MANT_DIG = global i32 0
@FLT_MAX = global i32 0
@FLT_MAX_10_EXP = global i32 0
@FLT_MAX_EXP = global i32 0
@FLT_MIN = global i32 0
@FLT_MIN_10_EXP = global i32 0
@FLT_MIN_EXP = global i32 0
@FLT_TRUE_MIN = global i32 0
@DBL_DECIMAL_DIG = global i32 0
@DBL_DIG = global i32 0
@DBL_EPSILON = global i32 0
@DBL_HAS_SUBNORM = global i32 0
@DBL_MANT_DIG = global i32 0
@DBL_MAX = global i32 0
@DBL_MAX_10_EXP = global i32 0
@DBL_MAX_EXP = global i32 0
@DBL_MIN = global i32 0
@DBL_MIN_10_EXP = global i32 0
@DBL_MIN_EXP = global i32 0
@DBL_TRUE_MIN = global i32 0
@LDBL_DECIMAL_DIG = global i32 0
@LDBL_DIG = global i32 0
@LDBL_EPSILON = global i32 0
@LDBL_HAS_SUBNORM = global i32 0
@LDBL_MANT_DIG = global i32 0
@LDBL_MAX = global i32 0
@LDBL_MAX_10_EXP = global i32 0
@LDBL_MAX_EXP = global i32 0
@LDBL_MIN = global i32 0
@LDBL_MIN_10_EXP = global i32 0
@LDBL_MIN_EXP = global i32 0
@LDBL_TRUE_MIN = global i32 0
@EXIT_SUCCESS = global i32 0
define i32 @main() {
%1 = load i32, i32* @EXIT_SUCCESS
ret i32 %1
}