(FPCore (x) :precision binary64 (* (fmod (exp x) (sqrt (cos x))) (exp (- x))))
(FPCore (x) :precision binary64 (let* ((t_0 (cbrt (exp (sqrt (cos x)))))) (/ (fmod (exp x) (+ (log (* t_0 t_0)) (log t_0))) (exp x))))
double code(double x) {
return fmod(exp(x), sqrt(cos(x))) * exp(-x);
}
double code(double x) {
double t_0 = cbrt(exp(sqrt(cos(x))));
return fmod(exp(x), (log((t_0 * t_0)) + log(t_0))) / exp(x);
}
function code(x) return Float64(rem(exp(x), sqrt(cos(x))) * exp(Float64(-x))) end
function code(x) t_0 = cbrt(exp(sqrt(cos(x)))) return Float64(rem(exp(x), Float64(log(Float64(t_0 * t_0)) + log(t_0))) / exp(x)) end
code[x_] := N[(N[With[{TMP1 = N[Exp[x], $MachinePrecision], TMP2 = N[Sqrt[N[Cos[x], $MachinePrecision]], $MachinePrecision]}, Mod[Abs[TMP1], Abs[TMP2]] * Sign[TMP1]], $MachinePrecision] * N[Exp[(-x)], $MachinePrecision]), $MachinePrecision]
code[x_] := Block[{t$95$0 = N[Power[N[Exp[N[Sqrt[N[Cos[x], $MachinePrecision]], $MachinePrecision]], $MachinePrecision], 1/3], $MachinePrecision]}, N[(N[With[{TMP1 = N[Exp[x], $MachinePrecision], TMP2 = N[(N[Log[N[(t$95$0 * t$95$0), $MachinePrecision]], $MachinePrecision] + N[Log[t$95$0], $MachinePrecision]), $MachinePrecision]}, Mod[Abs[TMP1], Abs[TMP2]] * Sign[TMP1]], $MachinePrecision] / N[Exp[x], $MachinePrecision]), $MachinePrecision]]
\left(\left(e^{x}\right) \bmod \left(\sqrt{\cos x}\right)\right) \cdot e^{-x}
\begin{array}{l}
t_0 := \sqrt[3]{e^{\sqrt{\cos x}}}\\
\frac{\left(\left(e^{x}\right) \bmod \left(\log \left(t_0 \cdot t_0\right) + \log t_0\right)\right)}{e^{x}}
\end{array}



Bits error versus x
Initial program 59.5
Simplified59.5
Applied egg-rr36.7
Final simplification36.7
herbie shell --seed 2022150
(FPCore (x)
:name "expfmod"
:precision binary64
(* (fmod (exp x) (sqrt (cos x))) (exp (- x))))