Average Error: 59.5 → 36.4
Time: 46.6s
Precision: binary64
\[\left(\left(e^{x}\right) \bmod \left(\sqrt{\cos x}\right)\right) \cdot e^{-x}\]
\[e^{\log \left(\left(e^{x}\right) \bmod \left(\log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right) + 2 \cdot \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right)\right)\right) - x}\]
\left(\left(e^{x}\right) \bmod \left(\sqrt{\cos x}\right)\right) \cdot e^{-x}
e^{\log \left(\left(e^{x}\right) \bmod \left(\log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right) + 2 \cdot \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right)\right)\right) - x}
(FPCore (x) :precision binary64 (* (fmod (exp x) (sqrt (cos x))) (exp (- x))))
(FPCore (x)
 :precision binary64
 (exp
  (-
   (log
    (fmod
     (exp x)
     (+
      (log (cbrt (exp (sqrt (cos x)))))
      (* 2.0 (log (cbrt (exp (sqrt (cos x)))))))))
   x)))
double code(double x) {
	return fmod(exp(x), sqrt(cos(x))) * exp(-x);
}
double code(double x) {
	return exp(log(fmod(exp(x), (log(cbrt(exp(sqrt(cos(x))))) + (2.0 * log(cbrt(exp(sqrt(cos(x))))))))) - x);
}

Error

Bits error versus x

Derivation

  1. Initial program 59.5

    \[\left(\left(e^{x}\right) \bmod \left(\sqrt{\cos x}\right)\right) \cdot e^{-x}\]
  2. Simplified59.5

    \[\leadsto \color{blue}{\frac{\left(\left(e^{x}\right) \bmod \left(\sqrt{\cos x}\right)\right)}{e^{x}}}\]
  3. Using strategy rm
  4. Applied add-log-exp_binary64_79959.5

    \[\leadsto \frac{\left(\left(e^{x}\right) \bmod \color{blue}{\log \left(e^{\sqrt{\cos x}}\right)}\right)}{e^{x}}\]
  5. Using strategy rm
  6. Applied add-cube-cbrt_binary64_79536.4

    \[\leadsto \frac{\left(\left(e^{x}\right) \bmod \log \color{blue}{\left(\left(\sqrt[3]{e^{\sqrt{\cos x}}} \cdot \sqrt[3]{e^{\sqrt{\cos x}}}\right) \cdot \sqrt[3]{e^{\sqrt{\cos x}}}\right)}\right)}{e^{x}}\]
  7. Applied log-prod_binary64_84636.4

    \[\leadsto \frac{\left(\left(e^{x}\right) \bmod \color{blue}{\left(\log \left(\sqrt[3]{e^{\sqrt{\cos x}}} \cdot \sqrt[3]{e^{\sqrt{\cos x}}}\right) + \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right)\right)}\right)}{e^{x}}\]
  8. Simplified36.4

    \[\leadsto \frac{\left(\left(e^{x}\right) \bmod \left(\color{blue}{2 \cdot \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right)} + \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right)\right)\right)}{e^{x}}\]
  9. Using strategy rm
  10. Applied add-exp-log_binary64_79836.4

    \[\leadsto \frac{\color{blue}{e^{\log \left(\left(e^{x}\right) \bmod \left(2 \cdot \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right) + \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right)\right)\right)}}}{e^{x}}\]
  11. Applied div-exp_binary64_81136.4

    \[\leadsto \color{blue}{e^{\log \left(\left(e^{x}\right) \bmod \left(2 \cdot \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right) + \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right)\right)\right) - x}}\]
  12. Final simplification36.4

    \[\leadsto e^{\log \left(\left(e^{x}\right) \bmod \left(\log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right) + 2 \cdot \log \left(\sqrt[3]{e^{\sqrt{\cos x}}}\right)\right)\right) - x}\]

Reproduce

herbie shell --seed 2021090 
(FPCore (x)
  :name "expfmod"
  :precision binary64
  (* (fmod (exp x) (sqrt (cos x))) (exp (- x))))