\left(\left(e^{x}\right) \bmod \left(\sqrt{\cos x}\right)\right) \cdot e^{-x}\begin{array}{l}
\mathbf{if}\;\left(\left(e^{x}\right) \bmod \left(\sqrt{\cos x}\right)\right) \cdot e^{-x} \leq 0 \lor \neg \left(\left(\left(e^{x}\right) \bmod \left(\sqrt{\cos x}\right)\right) \cdot e^{-x} \leq 1\right):\\
\;\;\;\;e^{-x}\\
\mathbf{else}:\\
\;\;\;\;e^{\sqrt[3]{{\log \left(\frac{\left(\left(e^{x}\right) \bmod \left(\sqrt{\cos x}\right)\right)}{e^{x}}\right)}^{3}}}\\
\end{array}(FPCore (x) :precision binary64 (* (fmod (exp x) (sqrt (cos x))) (exp (- x))))
(FPCore (x)
:precision binary64
(if (or (<= (* (fmod (exp x) (sqrt (cos x))) (exp (- x))) 0.0)
(not (<= (* (fmod (exp x) (sqrt (cos x))) (exp (- x))) 1.0)))
(exp (- x))
(exp (cbrt (pow (log (/ (fmod (exp x) (sqrt (cos x))) (exp x))) 3.0)))))double code(double x) {
return fmod(exp(x), sqrt(cos(x))) * exp(-x);
}
double code(double x) {
double tmp;
if (((fmod(exp(x), sqrt(cos(x))) * exp(-x)) <= 0.0) || !((fmod(exp(x), sqrt(cos(x))) * exp(-x)) <= 1.0)) {
tmp = exp(-x);
} else {
tmp = exp(cbrt(pow(log(fmod(exp(x), sqrt(cos(x))) / exp(x)), 3.0)));
}
return tmp;
}



Bits error versus x
if (*.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 (neg.f64 x))) < 0.0 or 1 < (*.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 (neg.f64 x))) Initial program 61.8
Simplified61.8
rmApplied add-exp-log_binary64_79861.8
Simplified61.8
Taylor expanded around inf 24.4
Simplified24.4
if 0.0 < (*.f64 (fmod.f64 (exp.f64 x) (sqrt.f64 (cos.f64 x))) (exp.f64 (neg.f64 x))) < 1Initial program 12.8
Simplified12.7
rmApplied add-exp-log_binary64_79812.7
Simplified12.7
rmApplied add-cbrt-cube_binary64_79612.7
Simplified12.7
rmApplied add-log-exp_binary64_79912.7
Simplified12.7
Final simplification23.9
herbie shell --seed 2021098
(FPCore (x)
:name "expfmod"
:precision binary64
(* (fmod (exp x) (sqrt (cos x))) (exp (- x))))