#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*/ acos(float);
int /*<<< orphan*/ acosf(float);
int /*<<< orphan*/ acosh(float);
int /*<<< orphan*/ acoshf(float);
int /*<<< orphan*/ acoshl(float);
int /*<<< orphan*/ acosl(float);
int /*<<< orphan*/ asin(float);
int /*<<< orphan*/ asinf(float);
int /*<<< orphan*/ asinh(float);
int /*<<< orphan*/ asinhf(float);
int /*<<< orphan*/ asinhl(float);
int /*<<< orphan*/ asinl(float);
int /*<<< orphan*/ atan(float);
int /*<<< orphan*/ atan2(float, float);
int /*<<< orphan*/ atan2f(float, float);
int /*<<< orphan*/ atan2l(float, float);
int /*<<< orphan*/ atanf(float);
int /*<<< orphan*/ atanh(float);
int /*<<< orphan*/ atanhf(float);
int /*<<< orphan*/ atanhl(float);
int /*<<< orphan*/ atanl(float);
int /*<<< orphan*/ cbrt(float);
int /*<<< orphan*/ cbrtf(float);
int /*<<< orphan*/ cbrtl(float);
int /*<<< orphan*/ ceil(float);
int /*<<< orphan*/ ceilf(float);
int /*<<< orphan*/ ceill(float);
int /*<<< orphan*/ copysign(float, float);
int /*<<< orphan*/ copysignf(float, float);
int /*<<< orphan*/ copysignl(float, float);
int /*<<< orphan*/ cos(float);
int /*<<< orphan*/ cosf(float);
int /*<<< orphan*/ cosh(float);
int /*<<< orphan*/ coshf(float);
int /*<<< orphan*/ coshl(float);
int /*<<< orphan*/ cosl(float);
int /*<<< orphan*/ erf(float);
int /*<<< orphan*/ erfc(float);
int /*<<< orphan*/ erfcf(float);
int /*<<< orphan*/ erfcl(float);
int /*<<< orphan*/ erff(float);
int /*<<< orphan*/ erfl(float);
int /*<<< orphan*/ exp(float);
int /*<<< orphan*/ exp2(float);
int /*<<< orphan*/ exp2f(float);
int /*<<< orphan*/ exp2l(float);
int /*<<< orphan*/ expf(float);
int /*<<< orphan*/ expl(float);
int /*<<< orphan*/ expm1(float);
int /*<<< orphan*/ expm1f(float);
int /*<<< orphan*/ expm1l(float);
int /*<<< orphan*/ fabs(float);
int /*<<< orphan*/ fabsf(float);
int /*<<< orphan*/ fabsl(float);
int /*<<< orphan*/ fdim(float, float);
int /*<<< orphan*/ fdimf(float, float);
int /*<<< orphan*/ fdiml(float, float);
int /*<<< orphan*/ floor(float);
int /*<<< orphan*/ floorf(float);
int /*<<< orphan*/ floorl(float);
int /*<<< orphan*/ fma(float, float, float);
int /*<<< orphan*/ fmaf(float, float, float);
int /*<<< orphan*/ fmal(float, float, float);
int /*<<< orphan*/ fmax(float, float);
int /*<<< orphan*/ fmaxf(float, float);
int /*<<< orphan*/ fmaxl(float, float);
int /*<<< orphan*/ fmin(float, float);
int /*<<< orphan*/ fminf(float, float);
int /*<<< orphan*/ fminl(float, float);
float fmod(float, float);
float fmodf(float, float);
float fmodl(float, float);
int /*<<< orphan*/ frexp(float, int *);
int /*<<< orphan*/ frexpf(float, int *);
int /*<<< orphan*/ frexpl(float, int *);
int /*<<< orphan*/ hypot(float, float);
int /*<<< orphan*/ hypotf(float, float);
int /*<<< orphan*/ hypotl(float, float);
int /*<<< orphan*/ ilogb(float);
int /*<<< orphan*/ ilogbf(float);
int /*<<< orphan*/ ilogbl(float);
int /*<<< orphan*/ ldexp(float, float);
int /*<<< orphan*/ ldexpf(float, float);
int /*<<< orphan*/ ldexpl(float, float);
int /*<<< orphan*/ lgamma(float);
int /*<<< orphan*/ lgammaf(float);
int /*<<< orphan*/ lgammal(float);
int /*<<< orphan*/ llrint(float);
int /*<<< orphan*/ llrintf(float);
int /*<<< orphan*/ llrintl(float);
int /*<<< orphan*/ llround(float);
int /*<<< orphan*/ llroundf(float);
int /*<<< orphan*/ llroundl(float);
int /*<<< orphan*/ log(float);
int /*<<< orphan*/ log10(float);
int /*<<< orphan*/ log10f(float);
int /*<<< orphan*/ log10l(float);
int /*<<< orphan*/ log1p(float);
int /*<<< orphan*/ log1pf(float);
int /*<<< orphan*/ log1pl(float);
int /*<<< orphan*/ log2(float);
int /*<<< orphan*/ log2f(float);
int /*<<< orphan*/ log2l(float);
int /*<<< orphan*/ logb(float);
int /*<<< orphan*/ logbf(float);
int /*<<< orphan*/ logbl(float);
int /*<<< orphan*/ logf(float);
int /*<<< orphan*/ logl(float);
int /*<<< orphan*/ lrint(float);
int /*<<< orphan*/ lrintf(float);
int /*<<< orphan*/ lrintl(float);
int /*<<< orphan*/ lround(float);
int /*<<< orphan*/ lroundf(float);
int /*<<< orphan*/ lroundl(float);
int /*<<< orphan*/ modf(float, double *);
int /*<<< orphan*/ modff(float, float *);
int /*<<< orphan*/ modfl(float, long double *);
int /*<<< orphan*/ nan(char const *);
int /*<<< orphan*/ nanf(char const *);
int /*<<< orphan*/ nanl(char const *);
int /*<<< orphan*/ nearbyint(float);
int /*<<< orphan*/ nearbyintf(float);
int /*<<< orphan*/ nearbyintl(float);
int /*<<< orphan*/ nextafter(float, float);
int /*<<< orphan*/ nextafterf(float, float);
int /*<<< orphan*/ nextafterl(float, float);
int /*<<< orphan*/ nexttoward(float, float);
int /*<<< orphan*/ nexttowardf(float, float);
int /*<<< orphan*/ nexttowardl(float, float);
int /*<<< orphan*/ pow(float, float);
int /*<<< orphan*/ powf(float, float);
int /*<<< orphan*/ powl(float, float);
int /*<<< orphan*/ remainder(float, float);
int /*<<< orphan*/ remainderf(float, float);
int /*<<< orphan*/ remainderl(float, float);
int /*<<< orphan*/ remquo(float, float, int *);
int /*<<< orphan*/ remquof(float, float, int *);
int /*<<< orphan*/ remquol(float, float, int *);
int /*<<< orphan*/ rint(float);
int /*<<< orphan*/ rintf(float);
int /*<<< orphan*/ rintl(float);
int /*<<< orphan*/ round(float);
int /*<<< orphan*/ roundf(float);
int /*<<< orphan*/ roundl(float);
int /*<<< orphan*/ scalbln(float, float);
int /*<<< orphan*/ scalblnf(float, float);
int /*<<< orphan*/ scalblnl(float, float);
int /*<<< orphan*/ scalbn(float, float);
int /*<<< orphan*/ scalbnf(float, float);
int /*<<< orphan*/ scalbnl(float, float);
int /*<<< orphan*/ sin(float);
int /*<<< orphan*/ sinf(float);
int /*<<< orphan*/ sinh(float);
int /*<<< orphan*/ sinhf(float);
int /*<<< orphan*/ sinhl(float);
int /*<<< orphan*/ sinl(float);
int /*<<< orphan*/ sqrt(float);
int /*<<< orphan*/ sqrtf(float);
int /*<<< orphan*/ sqrtl(float);
int /*<<< orphan*/ tan(float);
int /*<<< orphan*/ tanf(float);
int /*<<< orphan*/ tanh(float);
int /*<<< orphan*/ tanhf(float);
int /*<<< orphan*/ tanhl(float);
int /*<<< orphan*/ tanl(float);
int /*<<< orphan*/ tgamma(float);
int /*<<< orphan*/ tgammaf(float);
int /*<<< orphan*/ tgammal(float);
int /*<<< orphan*/ trunc(float);
int /*<<< orphan*/ truncf(float);
int /*<<< orphan*/ truncl(float);
void foo(double *d, float f, float *fp, long double *l, int *i, const char *c) {
  f = fmod(f, f);
  f = fmodf(f, f);
  f = fmodl(f, f);
  atan2(f, f);
  atan2f(f, f);
  atan2l(f, f);
  copysign(f, f);
  copysignf(f, f);
  copysignl(f, f);
  fabs(f);
  fabsf(f);
  fabsl(f);
  frexp(f, i);
  frexpf(f, i);
  frexpl(f, i);
  ldexp(f, f);
  ldexpf(f, f);
  ldexpl(f, f);
  modf(f, d);
  modff(f, fp);
  modfl(f, l);
  nan(c);
  nanf(c);
  nanl(c);
  pow(f, f);
  powf(f, f);
  powl(f, f);
  acos(f);
  acosf(f);
  acosl(f);
  acosh(f);
  acoshf(f);
  acoshl(f);
  asin(f);
  asinf(f);
  asinl(f);
  asinh(f);
  asinhf(f);
  asinhl(f);
  atan(f);
  atanf(f);
  atanl(f);
  atanh(f);
  atanhf(f);
  atanhl(f);
  cbrt(f);
  cbrtf(f);
  cbrtl(f);
  ceil(f);
  ceilf(f);
  ceill(f);
  cos(f);
  cosf(f);
  cosl(f);
  cosh(f);
  coshf(f);
  coshl(f);
  erf(f);
  erff(f);
  erfl(f);
  erfc(f);
  erfcf(f);
  erfcl(f);
  exp(f);
  expf(f);
  expl(f);
  exp2(f);
  exp2f(f);
  exp2l(f);
  expm1(f);
  expm1f(f);
  expm1l(f);
  fdim(f, f);
  fdimf(f, f);
  fdiml(f, f);
  floor(f);
  floorf(f);
  floorl(f);
  fma(f, f, f);
  fmaf(f, f, f);
  fmal(f, f, f);
  fmax(f, f);
  fmaxf(f, f);
  fmaxl(f, f);
  fmin(f, f);
  fminf(f, f);
  fminl(f, f);
  hypot(f, f);
  hypotf(f, f);
  hypotl(f, f);
  ilogb(f);
  ilogbf(f);
  ilogbl(f);
  lgamma(f);
  lgammaf(f);
  lgammal(f);
  llrint(f);
  llrintf(f);
  llrintl(f);
  llround(f);
  llroundf(f);
  llroundl(f);
  log(f);
  logf(f);
  logl(f);
  log10(f);
  log10f(f);
  log10l(f);
  log1p(f);
  log1pf(f);
  log1pl(f);
  log2(f);
  log2f(f);
  log2l(f);
  logb(f);
  logbf(f);
  logbl(f);
  lrint(f);
  lrintf(f);
  lrintl(f);
  lround(f);
  lroundf(f);
  lroundl(f);
  nearbyint(f);
  nearbyintf(f);
  nearbyintl(f);
  nextafter(f, f);
  nextafterf(f, f);
  nextafterl(f, f);
  nexttoward(f, f);
  nexttowardf(f, f);
  nexttowardl(f, f);
  remainder(f, f);
  remainderf(f, f);
  remainderl(f, f);
  remquo(f, f, i);
  remquof(f, f, i);
  remquol(f, f, i);
  rint(f);
  rintf(f);
  rintl(f);
  round(f);
  roundf(f);
  roundl(f);
  scalbln(f, f);
  scalblnf(f, f);
  scalblnl(f, f);
  scalbn(f, f);
  scalbnf(f, f);
  scalbnl(f, f);
  sin(f);
  sinf(f);
  sinl(f);
  sinh(f);
  sinhf(f);
  sinhl(f);
  sqrt(f);
  sqrtf(f);
  sqrtl(f);
  tan(f);
  tanf(f);
  tanl(f);
  tanh(f);
  tanhf(f);
  tanhl(f);
  tgamma(f);
  tgammaf(f);
  tgammal(f);
  trunc(f);
  truncf(f);
  truncl(f);
}


x86 assembly (clang, -O0):
<foo>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
mov    %rdi,-0x8(%rbp)
movss  %xmm0,-0xc(%rbp)
mov    %rsi,-0x18(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %rcx,-0x28(%rbp)
mov    %r8,-0x30(%rbp)
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3330 <fmod@plt>
movss  %xmm0,-0xc(%rbp)
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3390 <fmodf@plt>
movss  %xmm0,-0xc(%rbp)
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3320 <fmodl@plt>
movss  %xmm0,-0xc(%rbp)
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3210 <atan2@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3a80 <atan2f@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3a60 <atan2l@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   37f0 <copysign@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3a70 <copysignf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3750 <copysignl@plt>
movss  -0xc(%rbp),%xmm0
call   34d0 <fabs@plt>
movss  -0xc(%rbp),%xmm0
call   30a0 <fabsf@plt>
movss  -0xc(%rbp),%xmm0
call   30b0 <fabsl@plt>
movss  -0xc(%rbp),%xmm0
mov    -0x28(%rbp),%rdi
call   34b0 <frexp@plt>
movss  -0xc(%rbp),%xmm0
mov    -0x28(%rbp),%rdi
call   3970 <frexpf@plt>
movss  -0xc(%rbp),%xmm0
mov    -0x28(%rbp),%rdi
call   3650 <frexpl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   30c0 <ldexp@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3a00 <ldexpf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   36c0 <ldexpl@plt>
movss  -0xc(%rbp),%xmm0
mov    -0x8(%rbp),%rdi
call   3380 <modf@plt>
movss  -0xc(%rbp),%xmm0
mov    -0x18(%rbp),%rdi
call   3310 <modff@plt>
movss  -0xc(%rbp),%xmm0
mov    -0x20(%rbp),%rdi
call   3490 <modfl@plt>
mov    -0x30(%rbp),%rdi
call   30d0 <nan@plt>
mov    -0x30(%rbp),%rdi
call   3540 <nanf@plt>
mov    -0x30(%rbp),%rdi
call   3570 <nanl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3920 <pow@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   31a0 <powf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3190 <powl@plt>
movss  -0xc(%rbp),%xmm0
call   33d0 <acos@plt>
movss  -0xc(%rbp),%xmm0
call   33b0 <acosf@plt>
movss  -0xc(%rbp),%xmm0
call   3360 <acosl@plt>
movss  -0xc(%rbp),%xmm0
call   33a0 <acosh@plt>
movss  -0xc(%rbp),%xmm0
call   3900 <acoshf@plt>
movss  -0xc(%rbp),%xmm0
call   3910 <acoshl@plt>
movss  -0xc(%rbp),%xmm0
call   3610 <asin@plt>
movss  -0xc(%rbp),%xmm0
call   3a10 <asinf@plt>
movss  -0xc(%rbp),%xmm0
call   39d0 <asinl@plt>
movss  -0xc(%rbp),%xmm0
call   39c0 <asinh@plt>
movss  -0xc(%rbp),%xmm0
call   38c0 <asinhf@plt>
movss  -0xc(%rbp),%xmm0
call   38d0 <asinhl@plt>
movss  -0xc(%rbp),%xmm0
call   35d0 <atan@plt>
movss  -0xc(%rbp),%xmm0
call   32a0 <atanf@plt>
movss  -0xc(%rbp),%xmm0
call   3290 <atanl@plt>
movss  -0xc(%rbp),%xmm0
call   32b0 <atanh@plt>
movss  -0xc(%rbp),%xmm0
call   3700 <atanhf@plt>
movss  -0xc(%rbp),%xmm0
call   3720 <atanhl@plt>
movss  -0xc(%rbp),%xmm0
call   3840 <cbrt@plt>
movss  -0xc(%rbp),%xmm0
call   3520 <cbrtf@plt>
movss  -0xc(%rbp),%xmm0
call   34f0 <cbrtl@plt>
movss  -0xc(%rbp),%xmm0
call   31f0 <ceil@plt>
movss  -0xc(%rbp),%xmm0
call   3740 <ceilf@plt>
movss  -0xc(%rbp),%xmm0
call   3730 <ceill@plt>
movss  -0xc(%rbp),%xmm0
call   3880 <cos@plt>
movss  -0xc(%rbp),%xmm0
call   32c0 <cosf@plt>
movss  -0xc(%rbp),%xmm0
call   3300 <cosl@plt>
movss  -0xc(%rbp),%xmm0
call   32d0 <cosh@plt>
movss  -0xc(%rbp),%xmm0
call   3280 <coshf@plt>
movss  -0xc(%rbp),%xmm0
call   3200 <coshl@plt>
movss  -0xc(%rbp),%xmm0
call   39e0 <erf@plt>
movss  -0xc(%rbp),%xmm0
call   34a0 <erff@plt>
movss  -0xc(%rbp),%xmm0
call   34e0 <erfl@plt>
movss  -0xc(%rbp),%xmm0
call   3a90 <erfc@plt>
movss  -0xc(%rbp),%xmm0
call   32f0 <erfcf@plt>
movss  -0xc(%rbp),%xmm0
call   31c0 <erfcl@plt>
movss  -0xc(%rbp),%xmm0
call   36d0 <exp@plt>
movss  -0xc(%rbp),%xmm0
call   33c0 <expf@plt>
movss  -0xc(%rbp),%xmm0
call   3480 <expl@plt>
movss  -0xc(%rbp),%xmm0
call   3370 <exp2@plt>
movss  -0xc(%rbp),%xmm0
call   3400 <exp2f@plt>
movss  -0xc(%rbp),%xmm0
call   3410 <exp2l@plt>
movss  -0xc(%rbp),%xmm0
call   3950 <expm1@plt>
movss  -0xc(%rbp),%xmm0
call   3800 <expm1f@plt>
movss  -0xc(%rbp),%xmm0
call   3780 <expm1l@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3670 <fdim@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3220 <fdimf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   31d0 <fdiml@plt>
movss  -0xc(%rbp),%xmm0
call   3ad0 <floor@plt>
movss  -0xc(%rbp),%xmm0
call   3470 <floorf@plt>
movss  -0xc(%rbp),%xmm0
call   3a50 <floorl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
call   38a0 <fma@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
call   37d0 <fmaf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
call   3890 <fmal@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   38b0 <fmax@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3500 <fmaxf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   36f0 <fmaxl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   35e0 <fmin@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3450 <fminf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3440 <fminl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3660 <hypot@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   31e0 <hypotf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3240 <hypotl@plt>
movss  -0xc(%rbp),%xmm0
call   34c0 <ilogb@plt>
movss  -0xc(%rbp),%xmm0
call   3170 <ilogbf@plt>
movss  -0xc(%rbp),%xmm0
call   3130 <ilogbl@plt>
movss  -0xc(%rbp),%xmm0
call   3790 <lgamma@plt>
movss  -0xc(%rbp),%xmm0
call   37b0 <lgammaf@plt>
movss  -0xc(%rbp),%xmm0
call   3760 <lgammal@plt>
movss  -0xc(%rbp),%xmm0
call   30e0 <llrint@plt>
movss  -0xc(%rbp),%xmm0
call   33e0 <llrintf@plt>
movss  -0xc(%rbp),%xmm0
call   3770 <llrintl@plt>
movss  -0xc(%rbp),%xmm0
call   3420 <llround@plt>
movss  -0xc(%rbp),%xmm0
call   35a0 <llroundf@plt>
movss  -0xc(%rbp),%xmm0
call   3590 <llroundl@plt>
movss  -0xc(%rbp),%xmm0
call   38f0 <log@plt>
movss  -0xc(%rbp),%xmm0
call   3180 <logf@plt>
movss  -0xc(%rbp),%xmm0
call   3230 <logl@plt>
movss  -0xc(%rbp),%xmm0
call   3980 <log10@plt>
movss  -0xc(%rbp),%xmm0
call   3940 <log10f@plt>
movss  -0xc(%rbp),%xmm0
call   3a20 <log10l@plt>
movss  -0xc(%rbp),%xmm0
call   3aa0 <log1p@plt>
movss  -0xc(%rbp),%xmm0
call   31b0 <log1pf@plt>
movss  -0xc(%rbp),%xmm0
call   3270 <log1pl@plt>
movss  -0xc(%rbp),%xmm0
call   3140 <log2@plt>
movss  -0xc(%rbp),%xmm0
call   3600 <log2f@plt>
movss  -0xc(%rbp),%xmm0
call   35c0 <log2l@plt>
movss  -0xc(%rbp),%xmm0
call   3160 <logb@plt>
movss  -0xc(%rbp),%xmm0
call   35b0 <logbf@plt>
movss  -0xc(%rbp),%xmm0
call   3580 <logbl@plt>
movss  -0xc(%rbp),%xmm0
call   3550 <lrint@plt>
movss  -0xc(%rbp),%xmm0
call   3120 <lrintf@plt>
movss  -0xc(%rbp),%xmm0
call   30f0 <lrintl@plt>
movss  -0xc(%rbp),%xmm0
call   3150 <lround@plt>
movss  -0xc(%rbp),%xmm0
call   36a0 <lroundf@plt>
movss  -0xc(%rbp),%xmm0
call   35f0 <lroundl@plt>
movss  -0xc(%rbp),%xmm0
call   3860 <nearbyint@plt>
movss  -0xc(%rbp),%xmm0
call   3350 <nearbyintf@plt>
movss  -0xc(%rbp),%xmm0
call   3560 <nearbyintl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3850 <nextafter@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3960 <nextafterf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3040 <nextafterl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3090 <nexttoward@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3460 <nexttowardf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3340 <nexttowardl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3620 <remainder@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3820 <remainderf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   37e0 <remainderl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
mov    -0x28(%rbp),%rdi
call   3870 <remquo@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
mov    -0x28(%rbp),%rdi
call   3830 <remquof@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
mov    -0x28(%rbp),%rdi
call   3810 <remquol@plt>
movss  -0xc(%rbp),%xmm0
call   3530 <rint@plt>
movss  -0xc(%rbp),%xmm0
call   36b0 <rintf@plt>
movss  -0xc(%rbp),%xmm0
call   3680 <rintl@plt>
movss  -0xc(%rbp),%xmm0
call   3930 <round@plt>
movss  -0xc(%rbp),%xmm0
call   3a40 <roundf@plt>
movss  -0xc(%rbp),%xmm0
call   39b0 <roundl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3430 <scalbln@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   38e0 <scalblnf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3990 <scalblnl@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3630 <scalbn@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3060 <scalbnf@plt>
movss  -0xc(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
call   3ab0 <scalbnl@plt>
movss  -0xc(%rbp),%xmm0
call   3510 <sin@plt>
movss  -0xc(%rbp),%xmm0
call   3100 <sinf@plt>
movss  -0xc(%rbp),%xmm0
call   3070 <sinl@plt>
movss  -0xc(%rbp),%xmm0
call   3110 <sinh@plt>
movss  -0xc(%rbp),%xmm0
call   3ac0 <sinhf@plt>
movss  -0xc(%rbp),%xmm0
call   33f0 <sinhl@plt>
movss  -0xc(%rbp),%xmm0
call   39a0 <sqrt@plt>
movss  -0xc(%rbp),%xmm0
call   3710 <sqrtf@plt>
movss  -0xc(%rbp),%xmm0
call   3690 <sqrtl@plt>
movss  -0xc(%rbp),%xmm0
call   37c0 <tan@plt>
movss  -0xc(%rbp),%xmm0
call   3250 <tanf@plt>
movss  -0xc(%rbp),%xmm0
call   32e0 <tanl@plt>
movss  -0xc(%rbp),%xmm0
call   3260 <tanh@plt>
movss  -0xc(%rbp),%xmm0
call   3030 <tanhf@plt>
movss  -0xc(%rbp),%xmm0
call   3050 <tanhl@plt>
movss  -0xc(%rbp),%xmm0
call   3080 <tgamma@plt>
movss  -0xc(%rbp),%xmm0
call   36e0 <tgammaf@plt>
movss  -0xc(%rbp),%xmm0
call   3640 <tgammal@plt>
movss  -0xc(%rbp),%xmm0
call   37a0 <trunc@plt>
movss  -0xc(%rbp),%xmm0
call   3a30 <truncf@plt>
movss  -0xc(%rbp),%xmm0
call   39f0 <truncl@plt>
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<foo>:
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x10,%rsp
mov    %r8,%rbx
mov    %rcx,%r14
mov    %rdx,%r15
mov    %rsi,%r12
mov    %rdi,%r13
movaps %xmm0,%xmm1
call   3330 <fmod@plt>
movaps %xmm0,%xmm1
call   3390 <fmodf@plt>
movaps %xmm0,%xmm1
call   3320 <fmodl@plt>
movss  %xmm0,0xc(%rsp)
movaps %xmm0,%xmm1
call   3210 <atan2@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3a80 <atan2f@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3a60 <atan2l@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   37f0 <copysign@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3a70 <copysignf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3750 <copysignl@plt>
movss  0xc(%rsp),%xmm0
call   34d0 <fabs@plt>
movss  0xc(%rsp),%xmm0
call   30a0 <fabsf@plt>
movss  0xc(%rsp),%xmm0
call   30b0 <fabsl@plt>
movss  0xc(%rsp),%xmm0
mov    %r14,%rdi
call   34b0 <frexp@plt>
movss  0xc(%rsp),%xmm0
mov    %r14,%rdi
call   3970 <frexpf@plt>
movss  0xc(%rsp),%xmm0
mov    %r14,%rdi
call   3650 <frexpl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   30c0 <ldexp@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3a00 <ldexpf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   36c0 <ldexpl@plt>
movss  0xc(%rsp),%xmm0
mov    %r13,%rdi
call   3380 <modf@plt>
movss  0xc(%rsp),%xmm0
mov    %r12,%rdi
call   3310 <modff@plt>
movss  0xc(%rsp),%xmm0
mov    %r15,%rdi
call   3490 <modfl@plt>
mov    %rbx,%rdi
call   30d0 <nan@plt>
mov    %rbx,%rdi
call   3540 <nanf@plt>
mov    %rbx,%rdi
call   3570 <nanl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3920 <pow@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   31a0 <powf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3190 <powl@plt>
movss  0xc(%rsp),%xmm0
call   33d0 <acos@plt>
movss  0xc(%rsp),%xmm0
call   33b0 <acosf@plt>
movss  0xc(%rsp),%xmm0
call   3360 <acosl@plt>
movss  0xc(%rsp),%xmm0
call   33a0 <acosh@plt>
movss  0xc(%rsp),%xmm0
call   3900 <acoshf@plt>
movss  0xc(%rsp),%xmm0
call   3910 <acoshl@plt>
movss  0xc(%rsp),%xmm0
call   3610 <asin@plt>
movss  0xc(%rsp),%xmm0
call   3a10 <asinf@plt>
movss  0xc(%rsp),%xmm0
call   39d0 <asinl@plt>
movss  0xc(%rsp),%xmm0
call   39c0 <asinh@plt>
movss  0xc(%rsp),%xmm0
call   38c0 <asinhf@plt>
movss  0xc(%rsp),%xmm0
call   38d0 <asinhl@plt>
movss  0xc(%rsp),%xmm0
call   35d0 <atan@plt>
movss  0xc(%rsp),%xmm0
call   32a0 <atanf@plt>
movss  0xc(%rsp),%xmm0
call   3290 <atanl@plt>
movss  0xc(%rsp),%xmm0
call   32b0 <atanh@plt>
movss  0xc(%rsp),%xmm0
call   3700 <atanhf@plt>
movss  0xc(%rsp),%xmm0
call   3720 <atanhl@plt>
movss  0xc(%rsp),%xmm0
call   3840 <cbrt@plt>
movss  0xc(%rsp),%xmm0
call   3520 <cbrtf@plt>
movss  0xc(%rsp),%xmm0
call   34f0 <cbrtl@plt>
movss  0xc(%rsp),%xmm0
call   31f0 <ceil@plt>
movss  0xc(%rsp),%xmm0
call   3740 <ceilf@plt>
movss  0xc(%rsp),%xmm0
call   3730 <ceill@plt>
movss  0xc(%rsp),%xmm0
call   3880 <cos@plt>
movss  0xc(%rsp),%xmm0
call   32c0 <cosf@plt>
movss  0xc(%rsp),%xmm0
call   3300 <cosl@plt>
movss  0xc(%rsp),%xmm0
call   32d0 <cosh@plt>
movss  0xc(%rsp),%xmm0
call   3280 <coshf@plt>
movss  0xc(%rsp),%xmm0
call   3200 <coshl@plt>
movss  0xc(%rsp),%xmm0
call   39e0 <erf@plt>
movss  0xc(%rsp),%xmm0
call   34a0 <erff@plt>
movss  0xc(%rsp),%xmm0
call   34e0 <erfl@plt>
movss  0xc(%rsp),%xmm0
call   3a90 <erfc@plt>
movss  0xc(%rsp),%xmm0
call   32f0 <erfcf@plt>
movss  0xc(%rsp),%xmm0
call   31c0 <erfcl@plt>
movss  0xc(%rsp),%xmm0
call   36d0 <exp@plt>
movss  0xc(%rsp),%xmm0
call   33c0 <expf@plt>
movss  0xc(%rsp),%xmm0
call   3480 <expl@plt>
movss  0xc(%rsp),%xmm0
call   3370 <exp2@plt>
movss  0xc(%rsp),%xmm0
call   3400 <exp2f@plt>
movss  0xc(%rsp),%xmm0
call   3410 <exp2l@plt>
movss  0xc(%rsp),%xmm0
call   3950 <expm1@plt>
movss  0xc(%rsp),%xmm0
call   3800 <expm1f@plt>
movss  0xc(%rsp),%xmm0
call   3780 <expm1l@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3670 <fdim@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3220 <fdimf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   31d0 <fdiml@plt>
movss  0xc(%rsp),%xmm0
call   3ad0 <floor@plt>
movss  0xc(%rsp),%xmm0
call   3470 <floorf@plt>
movss  0xc(%rsp),%xmm0
call   3a50 <floorl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
movaps %xmm0,%xmm2
call   38a0 <fma@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
movaps %xmm0,%xmm2
call   37d0 <fmaf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
movaps %xmm0,%xmm2
call   3890 <fmal@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   38b0 <fmax@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3500 <fmaxf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   36f0 <fmaxl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   35e0 <fmin@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3450 <fminf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3440 <fminl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3660 <hypot@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   31e0 <hypotf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3240 <hypotl@plt>
movss  0xc(%rsp),%xmm0
call   34c0 <ilogb@plt>
movss  0xc(%rsp),%xmm0
call   3170 <ilogbf@plt>
movss  0xc(%rsp),%xmm0
call   3130 <ilogbl@plt>
movss  0xc(%rsp),%xmm0
call   3790 <lgamma@plt>
movss  0xc(%rsp),%xmm0
call   37b0 <lgammaf@plt>
movss  0xc(%rsp),%xmm0
call   3760 <lgammal@plt>
movss  0xc(%rsp),%xmm0
call   30e0 <llrint@plt>
movss  0xc(%rsp),%xmm0
call   33e0 <llrintf@plt>
movss  0xc(%rsp),%xmm0
call   3770 <llrintl@plt>
movss  0xc(%rsp),%xmm0
call   3420 <llround@plt>
movss  0xc(%rsp),%xmm0
call   35a0 <llroundf@plt>
movss  0xc(%rsp),%xmm0
call   3590 <llroundl@plt>
movss  0xc(%rsp),%xmm0
call   38f0 <log@plt>
movss  0xc(%rsp),%xmm0
call   3180 <logf@plt>
movss  0xc(%rsp),%xmm0
call   3230 <logl@plt>
movss  0xc(%rsp),%xmm0
call   3980 <log10@plt>
movss  0xc(%rsp),%xmm0
call   3940 <log10f@plt>
movss  0xc(%rsp),%xmm0
call   3a20 <log10l@plt>
movss  0xc(%rsp),%xmm0
call   3aa0 <log1p@plt>
movss  0xc(%rsp),%xmm0
call   31b0 <log1pf@plt>
movss  0xc(%rsp),%xmm0
call   3270 <log1pl@plt>
movss  0xc(%rsp),%xmm0
call   3140 <log2@plt>
movss  0xc(%rsp),%xmm0
call   3600 <log2f@plt>
movss  0xc(%rsp),%xmm0
call   35c0 <log2l@plt>
movss  0xc(%rsp),%xmm0
call   3160 <logb@plt>
movss  0xc(%rsp),%xmm0
call   35b0 <logbf@plt>
movss  0xc(%rsp),%xmm0
call   3580 <logbl@plt>
movss  0xc(%rsp),%xmm0
call   3550 <lrint@plt>
movss  0xc(%rsp),%xmm0
call   3120 <lrintf@plt>
movss  0xc(%rsp),%xmm0
call   30f0 <lrintl@plt>
movss  0xc(%rsp),%xmm0
call   3150 <lround@plt>
movss  0xc(%rsp),%xmm0
call   36a0 <lroundf@plt>
movss  0xc(%rsp),%xmm0
call   35f0 <lroundl@plt>
movss  0xc(%rsp),%xmm0
call   3860 <nearbyint@plt>
movss  0xc(%rsp),%xmm0
call   3350 <nearbyintf@plt>
movss  0xc(%rsp),%xmm0
call   3560 <nearbyintl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3850 <nextafter@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3960 <nextafterf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3040 <nextafterl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3090 <nexttoward@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3460 <nexttowardf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3340 <nexttowardl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3620 <remainder@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3820 <remainderf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   37e0 <remainderl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
mov    %r14,%rdi
call   3870 <remquo@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
mov    %r14,%rdi
call   3830 <remquof@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
mov    %r14,%rdi
call   3810 <remquol@plt>
movss  0xc(%rsp),%xmm0
call   3530 <rint@plt>
movss  0xc(%rsp),%xmm0
call   36b0 <rintf@plt>
movss  0xc(%rsp),%xmm0
call   3680 <rintl@plt>
movss  0xc(%rsp),%xmm0
call   3930 <round@plt>
movss  0xc(%rsp),%xmm0
call   3a40 <roundf@plt>
movss  0xc(%rsp),%xmm0
call   39b0 <roundl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3430 <scalbln@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   38e0 <scalblnf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3990 <scalblnl@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3630 <scalbn@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3060 <scalbnf@plt>
movss  0xc(%rsp),%xmm0
movaps %xmm0,%xmm1
call   3ab0 <scalbnl@plt>
movss  0xc(%rsp),%xmm0
call   3510 <sin@plt>
movss  0xc(%rsp),%xmm0
call   3100 <sinf@plt>
movss  0xc(%rsp),%xmm0
call   3070 <sinl@plt>
movss  0xc(%rsp),%xmm0
call   3110 <sinh@plt>
movss  0xc(%rsp),%xmm0
call   3ac0 <sinhf@plt>
movss  0xc(%rsp),%xmm0
call   33f0 <sinhl@plt>
movss  0xc(%rsp),%xmm0
call   39a0 <sqrt@plt>
movss  0xc(%rsp),%xmm0
call   3710 <sqrtf@plt>
movss  0xc(%rsp),%xmm0
call   3690 <sqrtl@plt>
movss  0xc(%rsp),%xmm0
call   37c0 <tan@plt>
movss  0xc(%rsp),%xmm0
call   3250 <tanf@plt>
movss  0xc(%rsp),%xmm0
call   32e0 <tanl@plt>
movss  0xc(%rsp),%xmm0
call   3260 <tanh@plt>
movss  0xc(%rsp),%xmm0
call   3030 <tanhf@plt>
movss  0xc(%rsp),%xmm0
call   3050 <tanhl@plt>
movss  0xc(%rsp),%xmm0
call   3080 <tgamma@plt>
movss  0xc(%rsp),%xmm0
call   36e0 <tgammaf@plt>
movss  0xc(%rsp),%xmm0
call   3640 <tgammal@plt>
movss  0xc(%rsp),%xmm0
call   37a0 <trunc@plt>
movss  0xc(%rsp),%xmm0
call   3a30 <truncf@plt>
movss  0xc(%rsp),%xmm0
add    $0x10,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
jmp    39f0 <truncl@plt>

LLVM IR (-O0):
define void @foo(double* %0, float %1, float* %2, x86_fp80* %3, i32* %4, i8* %5) {
%7 = alloca double*
%8 = alloca float
%9 = alloca float*
%10 = alloca x86_fp80*
%11 = alloca i32*
%12 = alloca i8*
store double* %0, double** %7
store float %1, float* %8
store float* %2, float** %9
store x86_fp80* %3, x86_fp80** %10
store i32* %4, i32** %11
store i8* %5, i8** %12
%13 = load float, float* %8
%14 = load float, float* %8
%15 = call float @fmod(float %13, float %14)
store float %15, float* %8
%16 = load float, float* %8
%17 = load float, float* %8
%18 = call float @fmodf(float %16, float %17)
store float %18, float* %8
%19 = load float, float* %8
%20 = load float, float* %8
%21 = call float @fmodl(float %19, float %20)
store float %21, float* %8
%22 = load float, float* %8
%23 = load float, float* %8
%24 = call i32 @atan2(float %22, float %23)
%25 = load float, float* %8
%26 = load float, float* %8
%27 = call i32 @atan2f(float %25, float %26)
%28 = load float, float* %8
%29 = load float, float* %8
%30 = call i32 @atan2l(float %28, float %29)
%31 = load float, float* %8
%32 = load float, float* %8
%33 = call i32 @copysign(float %31, float %32)
%34 = load float, float* %8
%35 = load float, float* %8
%36 = call i32 @copysignf(float %34, float %35)
%37 = load float, float* %8
%38 = load float, float* %8
%39 = call i32 @copysignl(float %37, float %38)
%40 = load float, float* %8
%41 = call i32 @fabs(float %40)
%42 = load float, float* %8
%43 = call i32 @fabsf(float %42)
%44 = load float, float* %8
%45 = call i32 @fabsl(float %44)
%46 = load float, float* %8
%47 = load i32*, i32** %11
%48 = call i32 @frexp(float %46, i32* %47)
%49 = load float, float* %8
%50 = load i32*, i32** %11
%51 = call i32 @frexpf(float %49, i32* %50)
%52 = load float, float* %8
%53 = load i32*, i32** %11
%54 = call i32 @frexpl(float %52, i32* %53)
%55 = load float, float* %8
%56 = load float, float* %8
%57 = call i32 @ldexp(float %55, float %56)
%58 = load float, float* %8
%59 = load float, float* %8
%60 = call i32 @ldexpf(float %58, float %59)
%61 = load float, float* %8
%62 = load float, float* %8
%63 = call i32 @ldexpl(float %61, float %62)
%64 = load float, float* %8
%65 = load double*, double** %7
%66 = call i32 @modf(float %64, double* %65)
%67 = load float, float* %8
%68 = load float*, float** %9
%69 = call i32 @modff(float %67, float* %68)
%70 = load float, float* %8
%71 = load x86_fp80*, x86_fp80** %10
%72 = call i32 @modfl(float %70, x86_fp80* %71)
%73 = load i8*, i8** %12
%74 = call i32 @nan(i8* %73)
%75 = load i8*, i8** %12
%76 = call i32 @nanf(i8* %75)
%77 = load i8*, i8** %12
%78 = call i32 @nanl(i8* %77)
%79 = load float, float* %8
%80 = load float, float* %8
%81 = call i32 @pow(float %79, float %80)
%82 = load float, float* %8
%83 = load float, float* %8
%84 = call i32 @powf(float %82, float %83)
%85 = load float, float* %8
%86 = load float, float* %8
%87 = call i32 @powl(float %85, float %86)
%88 = load float, float* %8
%89 = call i32 @acos(float %88)
%90 = load float, float* %8
%91 = call i32 @acosf(float %90)
%92 = load float, float* %8
%93 = call i32 @acosl(float %92)
%94 = load float, float* %8
%95 = call i32 @acosh(float %94)
%96 = load float, float* %8
%97 = call i32 @acoshf(float %96)
%98 = load float, float* %8
%99 = call i32 @acoshl(float %98)
%100 = load float, float* %8
%101 = call i32 @asin(float %100)
%102 = load float, float* %8
%103 = call i32 @asinf(float %102)
%104 = load float, float* %8
%105 = call i32 @asinl(float %104)
%106 = load float, float* %8
%107 = call i32 @asinh(float %106)
%108 = load float, float* %8
%109 = call i32 @asinhf(float %108)
%110 = load float, float* %8
%111 = call i32 @asinhl(float %110)
%112 = load float, float* %8
%113 = call i32 @atan(float %112)
%114 = load float, float* %8
%115 = call i32 @atanf(float %114)
%116 = load float, float* %8
%117 = call i32 @atanl(float %116)
%118 = load float, float* %8
%119 = call i32 @atanh(float %118)
%120 = load float, float* %8
%121 = call i32 @atanhf(float %120)
%122 = load float, float* %8
%123 = call i32 @atanhl(float %122)
%124 = load float, float* %8
%125 = call i32 @cbrt(float %124)
%126 = load float, float* %8
%127 = call i32 @cbrtf(float %126)
%128 = load float, float* %8
%129 = call i32 @cbrtl(float %128)
%130 = load float, float* %8
%131 = call i32 @ceil(float %130)
%132 = load float, float* %8
%133 = call i32 @ceilf(float %132)
%134 = load float, float* %8
%135 = call i32 @ceill(float %134)
%136 = load float, float* %8
%137 = call i32 @cos(float %136)
%138 = load float, float* %8
%139 = call i32 @cosf(float %138)
%140 = load float, float* %8
%141 = call i32 @cosl(float %140)
%142 = load float, float* %8
%143 = call i32 @cosh(float %142)
%144 = load float, float* %8
%145 = call i32 @coshf(float %144)
%146 = load float, float* %8
%147 = call i32 @coshl(float %146)
%148 = load float, float* %8
%149 = call i32 @erf(float %148)
%150 = load float, float* %8
%151 = call i32 @erff(float %150)
%152 = load float, float* %8
%153 = call i32 @erfl(float %152)
%154 = load float, float* %8
%155 = call i32 @erfc(float %154)
%156 = load float, float* %8
%157 = call i32 @erfcf(float %156)
%158 = load float, float* %8
%159 = call i32 @erfcl(float %158)
%160 = load float, float* %8
%161 = call i32 @exp(float %160)
%162 = load float, float* %8
%163 = call i32 @expf(float %162)
%164 = load float, float* %8
%165 = call i32 @expl(float %164)
%166 = load float, float* %8
%167 = call i32 @exp2(float %166)
%168 = load float, float* %8
%169 = call i32 @exp2f(float %168)
%170 = load float, float* %8
%171 = call i32 @exp2l(float %170)
%172 = load float, float* %8
%173 = call i32 @expm1(float %172)
%174 = load float, float* %8
%175 = call i32 @expm1f(float %174)
%176 = load float, float* %8
%177 = call i32 @expm1l(float %176)
%178 = load float, float* %8
%179 = load float, float* %8
%180 = call i32 @fdim(float %178, float %179)
%181 = load float, float* %8
%182 = load float, float* %8
%183 = call i32 @fdimf(float %181, float %182)
%184 = load float, float* %8
%185 = load float, float* %8
%186 = call i32 @fdiml(float %184, float %185)
%187 = load float, float* %8
%188 = call i32 @floor(float %187)
%189 = load float, float* %8
%190 = call i32 @floorf(float %189)
%191 = load float, float* %8
%192 = call i32 @floorl(float %191)
%193 = load float, float* %8
%194 = load float, float* %8
%195 = load float, float* %8
%196 = call i32 @fma(float %193, float %194, float %195)
%197 = load float, float* %8
%198 = load float, float* %8
%199 = load float, float* %8
%200 = call i32 @fmaf(float %197, float %198, float %199)
%201 = load float, float* %8
%202 = load float, float* %8
%203 = load float, float* %8
%204 = call i32 @fmal(float %201, float %202, float %203)
%205 = load float, float* %8
%206 = load float, float* %8
%207 = call i32 @fmax(float %205, float %206)
%208 = load float, float* %8
%209 = load float, float* %8
%210 = call i32 @fmaxf(float %208, float %209)
%211 = load float, float* %8
%212 = load float, float* %8
%213 = call i32 @fmaxl(float %211, float %212)
%214 = load float, float* %8
%215 = load float, float* %8
%216 = call i32 @fmin(float %214, float %215)
%217 = load float, float* %8
%218 = load float, float* %8
%219 = call i32 @fminf(float %217, float %218)
%220 = load float, float* %8
%221 = load float, float* %8
%222 = call i32 @fminl(float %220, float %221)
%223 = load float, float* %8
%224 = load float, float* %8
%225 = call i32 @hypot(float %223, float %224)
%226 = load float, float* %8
%227 = load float, float* %8
%228 = call i32 @hypotf(float %226, float %227)
%229 = load float, float* %8
%230 = load float, float* %8
%231 = call i32 @hypotl(float %229, float %230)
%232 = load float, float* %8
%233 = call i32 @ilogb(float %232)
%234 = load float, float* %8
%235 = call i32 @ilogbf(float %234)
%236 = load float, float* %8
%237 = call i32 @ilogbl(float %236)
%238 = load float, float* %8
%239 = call i32 @lgamma(float %238)
%240 = load float, float* %8
%241 = call i32 @lgammaf(float %240)
%242 = load float, float* %8
%243 = call i32 @lgammal(float %242)
%244 = load float, float* %8
%245 = call i32 @llrint(float %244)
%246 = load float, float* %8
%247 = call i32 @llrintf(float %246)
%248 = load float, float* %8
%249 = call i32 @llrintl(float %248)
%250 = load float, float* %8
%251 = call i32 @llround(float %250)
%252 = load float, float* %8
%253 = call i32 @llroundf(float %252)
%254 = load float, float* %8
%255 = call i32 @llroundl(float %254)
%256 = load float, float* %8
%257 = call i32 @log(float %256)
%258 = load float, float* %8
%259 = call i32 @logf(float %258)
%260 = load float, float* %8
%261 = call i32 @logl(float %260)
%262 = load float, float* %8
%263 = call i32 @log10(float %262)
%264 = load float, float* %8
%265 = call i32 @log10f(float %264)
%266 = load float, float* %8
%267 = call i32 @log10l(float %266)
%268 = load float, float* %8
%269 = call i32 @log1p(float %268)
%270 = load float, float* %8
%271 = call i32 @log1pf(float %270)
%272 = load float, float* %8
%273 = call i32 @log1pl(float %272)
%274 = load float, float* %8
%275 = call i32 @log2(float %274)
%276 = load float, float* %8
%277 = call i32 @log2f(float %276)
%278 = load float, float* %8
%279 = call i32 @log2l(float %278)
%280 = load float, float* %8
%281 = call i32 @logb(float %280)
%282 = load float, float* %8
%283 = call i32 @logbf(float %282)
%284 = load float, float* %8
%285 = call i32 @logbl(float %284)
%286 = load float, float* %8
%287 = call i32 @lrint(float %286)
%288 = load float, float* %8
%289 = call i32 @lrintf(float %288)
%290 = load float, float* %8
%291 = call i32 @lrintl(float %290)
%292 = load float, float* %8
%293 = call i32 @lround(float %292)
%294 = load float, float* %8
%295 = call i32 @lroundf(float %294)
%296 = load float, float* %8
%297 = call i32 @lroundl(float %296)
%298 = load float, float* %8
%299 = call i32 @nearbyint(float %298)
%300 = load float, float* %8
%301 = call i32 @nearbyintf(float %300)
%302 = load float, float* %8
%303 = call i32 @nearbyintl(float %302)
%304 = load float, float* %8
%305 = load float, float* %8
%306 = call i32 @nextafter(float %304, float %305)
%307 = load float, float* %8
%308 = load float, float* %8
%309 = call i32 @nextafterf(float %307, float %308)
%310 = load float, float* %8
%311 = load float, float* %8
%312 = call i32 @nextafterl(float %310, float %311)
%313 = load float, float* %8
%314 = load float, float* %8
%315 = call i32 @nexttoward(float %313, float %314)
%316 = load float, float* %8
%317 = load float, float* %8
%318 = call i32 @nexttowardf(float %316, float %317)
%319 = load float, float* %8
%320 = load float, float* %8
%321 = call i32 @nexttowardl(float %319, float %320)
%322 = load float, float* %8
%323 = load float, float* %8
%324 = call i32 @remainder(float %322, float %323)
%325 = load float, float* %8
%326 = load float, float* %8
%327 = call i32 @remainderf(float %325, float %326)
%328 = load float, float* %8
%329 = load float, float* %8
%330 = call i32 @remainderl(float %328, float %329)
%331 = load float, float* %8
%332 = load float, float* %8
%333 = load i32*, i32** %11
%334 = call i32 @remquo(float %331, float %332, i32* %333)
%335 = load float, float* %8
%336 = load float, float* %8
%337 = load i32*, i32** %11
%338 = call i32 @remquof(float %335, float %336, i32* %337)
%339 = load float, float* %8
%340 = load float, float* %8
%341 = load i32*, i32** %11
%342 = call i32 @remquol(float %339, float %340, i32* %341)
%343 = load float, float* %8
%344 = call i32 @rint(float %343)
%345 = load float, float* %8
%346 = call i32 @rintf(float %345)
%347 = load float, float* %8
%348 = call i32 @rintl(float %347)
%349 = load float, float* %8
%350 = call i32 @round(float %349)
%351 = load float, float* %8
%352 = call i32 @roundf(float %351)
%353 = load float, float* %8
%354 = call i32 @roundl(float %353)
%355 = load float, float* %8
%356 = load float, float* %8
%357 = call i32 @scalbln(float %355, float %356)
%358 = load float, float* %8
%359 = load float, float* %8
%360 = call i32 @scalblnf(float %358, float %359)
%361 = load float, float* %8
%362 = load float, float* %8
%363 = call i32 @scalblnl(float %361, float %362)
%364 = load float, float* %8
%365 = load float, float* %8
%366 = call i32 @scalbn(float %364, float %365)
%367 = load float, float* %8
%368 = load float, float* %8
%369 = call i32 @scalbnf(float %367, float %368)
%370 = load float, float* %8
%371 = load float, float* %8
%372 = call i32 @scalbnl(float %370, float %371)
%373 = load float, float* %8
%374 = call i32 @sin(float %373)
%375 = load float, float* %8
%376 = call i32 @sinf(float %375)
%377 = load float, float* %8
%378 = call i32 @sinl(float %377)
%379 = load float, float* %8
%380 = call i32 @sinh(float %379)
%381 = load float, float* %8
%382 = call i32 @sinhf(float %381)
%383 = load float, float* %8
%384 = call i32 @sinhl(float %383)
%385 = load float, float* %8
%386 = call i32 @sqrt(float %385)
%387 = load float, float* %8
%388 = call i32 @sqrtf(float %387)
%389 = load float, float* %8
%390 = call i32 @sqrtl(float %389)
%391 = load float, float* %8
%392 = call i32 @tan(float %391)
%393 = load float, float* %8
%394 = call i32 @tanf(float %393)
%395 = load float, float* %8
%396 = call i32 @tanl(float %395)
%397 = load float, float* %8
%398 = call i32 @tanh(float %397)
%399 = load float, float* %8
%400 = call i32 @tanhf(float %399)
%401 = load float, float* %8
%402 = call i32 @tanhl(float %401)
%403 = load float, float* %8
%404 = call i32 @tgamma(float %403)
%405 = load float, float* %8
%406 = call i32 @tgammaf(float %405)
%407 = load float, float* %8
%408 = call i32 @tgammal(float %407)
%409 = load float, float* %8
%410 = call i32 @trunc(float %409)
%411 = load float, float* %8
%412 = call i32 @truncf(float %411)
%413 = load float, float* %8
%414 = call i32 @truncl(float %413)
ret void
}

LLVM IR (-O2):
define void @foo(double* nocapture %0, float %1, float* nocapture %2, x86_fp80* nocapture %3, i32* %4, i8* %5) {
%7 = tail call float @fmod(float %1, float %1)
%8 = tail call float @fmodf(float %7, float %7)
%9 = tail call float @fmodl(float %8, float %8)
%10 = tail call i32 @atan2(float %9, float %9)
%11 = tail call i32 @atan2f(float %9, float %9)
%12 = tail call i32 @atan2l(float %9, float %9)
%13 = tail call i32 @copysign(float %9, float %9)
%14 = tail call i32 @copysignf(float %9, float %9)
%15 = tail call i32 @copysignl(float %9, float %9)
%16 = tail call i32 @fabs(float %9)
%17 = tail call i32 @fabsf(float %9)
%18 = tail call i32 @fabsl(float %9)
%19 = tail call i32 @frexp(float %9, i32* %4)
%20 = tail call i32 @frexpf(float %9, i32* %4)
%21 = tail call i32 @frexpl(float %9, i32* %4)
%22 = tail call i32 @ldexp(float %9, float %9)
%23 = tail call i32 @ldexpf(float %9, float %9)
%24 = tail call i32 @ldexpl(float %9, float %9)
%25 = tail call i32 @modf(float %9, double* %0)
%26 = tail call i32 @modff(float %9, float* %2)
%27 = tail call i32 @modfl(float %9, x86_fp80* %3)
%28 = tail call i32 @nan(i8* %5)
%29 = tail call i32 @nanf(i8* %5)
%30 = tail call i32 @nanl(i8* %5)
%31 = tail call i32 @pow(float %9, float %9)
%32 = tail call i32 @powf(float %9, float %9)
%33 = tail call i32 @powl(float %9, float %9)
%34 = tail call i32 @acos(float %9)
%35 = tail call i32 @acosf(float %9)
%36 = tail call i32 @acosl(float %9)
%37 = tail call i32 @acosh(float %9)
%38 = tail call i32 @acoshf(float %9)
%39 = tail call i32 @acoshl(float %9)
%40 = tail call i32 @asin(float %9)
%41 = tail call i32 @asinf(float %9)
%42 = tail call i32 @asinl(float %9)
%43 = tail call i32 @asinh(float %9)
%44 = tail call i32 @asinhf(float %9)
%45 = tail call i32 @asinhl(float %9)
%46 = tail call i32 @atan(float %9)
%47 = tail call i32 @atanf(float %9)
%48 = tail call i32 @atanl(float %9)
%49 = tail call i32 @atanh(float %9)
%50 = tail call i32 @atanhf(float %9)
%51 = tail call i32 @atanhl(float %9)
%52 = tail call i32 @cbrt(float %9)
%53 = tail call i32 @cbrtf(float %9)
%54 = tail call i32 @cbrtl(float %9)
%55 = tail call i32 @ceil(float %9)
%56 = tail call i32 @ceilf(float %9)
%57 = tail call i32 @ceill(float %9)
%58 = tail call i32 @cos(float %9)
%59 = tail call i32 @cosf(float %9)
%60 = tail call i32 @cosl(float %9)
%61 = tail call i32 @cosh(float %9)
%62 = tail call i32 @coshf(float %9)
%63 = tail call i32 @coshl(float %9)
%64 = tail call i32 @erf(float %9)
%65 = tail call i32 @erff(float %9)
%66 = tail call i32 @erfl(float %9)
%67 = tail call i32 @erfc(float %9)
%68 = tail call i32 @erfcf(float %9)
%69 = tail call i32 @erfcl(float %9)
%70 = tail call i32 @exp(float %9)
%71 = tail call i32 @expf(float %9)
%72 = tail call i32 @expl(float %9)
%73 = tail call i32 @exp2(float %9)
%74 = tail call i32 @exp2f(float %9)
%75 = tail call i32 @exp2l(float %9)
%76 = tail call i32 @expm1(float %9)
%77 = tail call i32 @expm1f(float %9)
%78 = tail call i32 @expm1l(float %9)
%79 = tail call i32 @fdim(float %9, float %9)
%80 = tail call i32 @fdimf(float %9, float %9)
%81 = tail call i32 @fdiml(float %9, float %9)
%82 = tail call i32 @floor(float %9)
%83 = tail call i32 @floorf(float %9)
%84 = tail call i32 @floorl(float %9)
%85 = tail call i32 @fma(float %9, float %9, float %9)
%86 = tail call i32 @fmaf(float %9, float %9, float %9)
%87 = tail call i32 @fmal(float %9, float %9, float %9)
%88 = tail call i32 @fmax(float %9, float %9)
%89 = tail call i32 @fmaxf(float %9, float %9)
%90 = tail call i32 @fmaxl(float %9, float %9)
%91 = tail call i32 @fmin(float %9, float %9)
%92 = tail call i32 @fminf(float %9, float %9)
%93 = tail call i32 @fminl(float %9, float %9)
%94 = tail call i32 @hypot(float %9, float %9)
%95 = tail call i32 @hypotf(float %9, float %9)
%96 = tail call i32 @hypotl(float %9, float %9)
%97 = tail call i32 @ilogb(float %9)
%98 = tail call i32 @ilogbf(float %9)
%99 = tail call i32 @ilogbl(float %9)
%100 = tail call i32 @lgamma(float %9)
%101 = tail call i32 @lgammaf(float %9)
%102 = tail call i32 @lgammal(float %9)
%103 = tail call i32 @llrint(float %9)
%104 = tail call i32 @llrintf(float %9)
%105 = tail call i32 @llrintl(float %9)
%106 = tail call i32 @llround(float %9)
%107 = tail call i32 @llroundf(float %9)
%108 = tail call i32 @llroundl(float %9)
%109 = tail call i32 @log(float %9)
%110 = tail call i32 @logf(float %9)
%111 = tail call i32 @logl(float %9)
%112 = tail call i32 @log10(float %9)
%113 = tail call i32 @log10f(float %9)
%114 = tail call i32 @log10l(float %9)
%115 = tail call i32 @log1p(float %9)
%116 = tail call i32 @log1pf(float %9)
%117 = tail call i32 @log1pl(float %9)
%118 = tail call i32 @log2(float %9)
%119 = tail call i32 @log2f(float %9)
%120 = tail call i32 @log2l(float %9)
%121 = tail call i32 @logb(float %9)
%122 = tail call i32 @logbf(float %9)
%123 = tail call i32 @logbl(float %9)
%124 = tail call i32 @lrint(float %9)
%125 = tail call i32 @lrintf(float %9)
%126 = tail call i32 @lrintl(float %9)
%127 = tail call i32 @lround(float %9)
%128 = tail call i32 @lroundf(float %9)
%129 = tail call i32 @lroundl(float %9)
%130 = tail call i32 @nearbyint(float %9)
%131 = tail call i32 @nearbyintf(float %9)
%132 = tail call i32 @nearbyintl(float %9)
%133 = tail call i32 @nextafter(float %9, float %9)
%134 = tail call i32 @nextafterf(float %9, float %9)
%135 = tail call i32 @nextafterl(float %9, float %9)
%136 = tail call i32 @nexttoward(float %9, float %9)
%137 = tail call i32 @nexttowardf(float %9, float %9)
%138 = tail call i32 @nexttowardl(float %9, float %9)
%139 = tail call i32 @remainder(float %9, float %9)
%140 = tail call i32 @remainderf(float %9, float %9)
%141 = tail call i32 @remainderl(float %9, float %9)
%142 = tail call i32 @remquo(float %9, float %9, i32* %4)
%143 = tail call i32 @remquof(float %9, float %9, i32* %4)
%144 = tail call i32 @remquol(float %9, float %9, i32* %4)
%145 = tail call i32 @rint(float %9)
%146 = tail call i32 @rintf(float %9)
%147 = tail call i32 @rintl(float %9)
%148 = tail call i32 @round(float %9)
%149 = tail call i32 @roundf(float %9)
%150 = tail call i32 @roundl(float %9)
%151 = tail call i32 @scalbln(float %9, float %9)
%152 = tail call i32 @scalblnf(float %9, float %9)
%153 = tail call i32 @scalblnl(float %9, float %9)
%154 = tail call i32 @scalbn(float %9, float %9)
%155 = tail call i32 @scalbnf(float %9, float %9)
%156 = tail call i32 @scalbnl(float %9, float %9)
%157 = tail call i32 @sin(float %9)
%158 = tail call i32 @sinf(float %9)
%159 = tail call i32 @sinl(float %9)
%160 = tail call i32 @sinh(float %9)
%161 = tail call i32 @sinhf(float %9)
%162 = tail call i32 @sinhl(float %9)
%163 = tail call i32 @sqrt(float %9)
%164 = tail call i32 @sqrtf(float %9)
%165 = tail call i32 @sqrtl(float %9)
%166 = tail call i32 @tan(float %9)
%167 = tail call i32 @tanf(float %9)
%168 = tail call i32 @tanl(float %9)
%169 = tail call i32 @tanh(float %9)
%170 = tail call i32 @tanhf(float %9)
%171 = tail call i32 @tanhl(float %9)
%172 = tail call i32 @tgamma(float %9)
%173 = tail call i32 @tgammaf(float %9)
%174 = tail call i32 @tgammal(float %9)
%175 = tail call i32 @trunc(float %9)
%176 = tail call i32 @truncf(float %9)
%177 = tail call i32 @truncl(float %9)
ret void
}