Average Error: 0.3 → 0.5
Time: 29.8s
Precision: 64
\[\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot e^{\frac{t \cdot t}{2}}\]
\[\left(\mathsf{fma}\left(x, 0.5, -y\right) \cdot \left({\left(e^{\frac{t}{2}}\right)}^{t} \cdot \left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt{z}\right)\right)\right) \cdot \sqrt[3]{\sqrt{2}}\]
\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot e^{\frac{t \cdot t}{2}}
\left(\mathsf{fma}\left(x, 0.5, -y\right) \cdot \left({\left(e^{\frac{t}{2}}\right)}^{t} \cdot \left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt{z}\right)\right)\right) \cdot \sqrt[3]{\sqrt{2}}
double f(double x, double y, double z, double t) {
        double r685061 = x;
        double r685062 = 0.5;
        double r685063 = r685061 * r685062;
        double r685064 = y;
        double r685065 = r685063 - r685064;
        double r685066 = z;
        double r685067 = 2.0;
        double r685068 = r685066 * r685067;
        double r685069 = sqrt(r685068);
        double r685070 = r685065 * r685069;
        double r685071 = t;
        double r685072 = r685071 * r685071;
        double r685073 = r685072 / r685067;
        double r685074 = exp(r685073);
        double r685075 = r685070 * r685074;
        return r685075;
}

double f(double x, double y, double z, double t) {
        double r685076 = x;
        double r685077 = 0.5;
        double r685078 = y;
        double r685079 = -r685078;
        double r685080 = fma(r685076, r685077, r685079);
        double r685081 = t;
        double r685082 = 2.0;
        double r685083 = r685081 / r685082;
        double r685084 = exp(r685083);
        double r685085 = pow(r685084, r685081);
        double r685086 = sqrt(r685082);
        double r685087 = cbrt(r685086);
        double r685088 = r685087 * r685087;
        double r685089 = z;
        double r685090 = sqrt(r685089);
        double r685091 = r685088 * r685090;
        double r685092 = r685085 * r685091;
        double r685093 = r685080 * r685092;
        double r685094 = r685093 * r685087;
        return r685094;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Target

Original0.3
Target0.3
Herbie0.5
\[\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot {\left(e^{1}\right)}^{\left(\frac{t \cdot t}{2}\right)}\]

Derivation

  1. Initial program 0.3

    \[\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot e^{\frac{t \cdot t}{2}}\]
  2. Simplified0.3

    \[\leadsto \color{blue}{\left(x \cdot 0.5 - y\right) \cdot \left(e^{\frac{t}{\frac{2}{t}}} \cdot \sqrt{z \cdot 2}\right)}\]
  3. Using strategy rm
  4. Applied sqrt-prod0.5

    \[\leadsto \left(x \cdot 0.5 - y\right) \cdot \left(e^{\frac{t}{\frac{2}{t}}} \cdot \color{blue}{\left(\sqrt{z} \cdot \sqrt{2}\right)}\right)\]
  5. Applied associate-*r*0.5

    \[\leadsto \left(x \cdot 0.5 - y\right) \cdot \color{blue}{\left(\left(e^{\frac{t}{\frac{2}{t}}} \cdot \sqrt{z}\right) \cdot \sqrt{2}\right)}\]
  6. Using strategy rm
  7. Applied associate-*r*0.5

    \[\leadsto \color{blue}{\left(\left(x \cdot 0.5 - y\right) \cdot \left(e^{\frac{t}{\frac{2}{t}}} \cdot \sqrt{z}\right)\right) \cdot \sqrt{2}}\]
  8. Simplified0.5

    \[\leadsto \color{blue}{\left(\mathsf{fma}\left(0.5, x, -y\right) \cdot \left(e^{\frac{t \cdot t}{2}} \cdot \sqrt{z}\right)\right)} \cdot \sqrt{2}\]
  9. Using strategy rm
  10. Applied add-cube-cbrt0.5

    \[\leadsto \left(\mathsf{fma}\left(0.5, x, -y\right) \cdot \left(e^{\frac{t \cdot t}{2}} \cdot \sqrt{z}\right)\right) \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt[3]{\sqrt{2}}\right)}\]
  11. Applied associate-*r*0.5

    \[\leadsto \color{blue}{\left(\left(\mathsf{fma}\left(0.5, x, -y\right) \cdot \left(e^{\frac{t \cdot t}{2}} \cdot \sqrt{z}\right)\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right) \cdot \sqrt[3]{\sqrt{2}}}\]
  12. Simplified0.5

    \[\leadsto \color{blue}{\left(\left(\left(\sqrt{z} \cdot {\left(e^{\frac{t}{2}}\right)}^{t}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right) \cdot \mathsf{fma}\left(x, 0.5, -y\right)\right)} \cdot \sqrt[3]{\sqrt{2}}\]
  13. Using strategy rm
  14. Applied pow10.5

    \[\leadsto \left(\left(\left(\sqrt{z} \cdot {\left(e^{\frac{t}{2}}\right)}^{t}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \color{blue}{{\left(\sqrt[3]{\sqrt{2}}\right)}^{1}}\right)\right) \cdot \mathsf{fma}\left(x, 0.5, -y\right)\right) \cdot \sqrt[3]{\sqrt{2}}\]
  15. Applied pow10.5

    \[\leadsto \left(\left(\left(\sqrt{z} \cdot {\left(e^{\frac{t}{2}}\right)}^{t}\right) \cdot \left(\color{blue}{{\left(\sqrt[3]{\sqrt{2}}\right)}^{1}} \cdot {\left(\sqrt[3]{\sqrt{2}}\right)}^{1}\right)\right) \cdot \mathsf{fma}\left(x, 0.5, -y\right)\right) \cdot \sqrt[3]{\sqrt{2}}\]
  16. Applied pow-prod-down0.5

    \[\leadsto \left(\left(\left(\sqrt{z} \cdot {\left(e^{\frac{t}{2}}\right)}^{t}\right) \cdot \color{blue}{{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)}^{1}}\right) \cdot \mathsf{fma}\left(x, 0.5, -y\right)\right) \cdot \sqrt[3]{\sqrt{2}}\]
  17. Applied pow10.5

    \[\leadsto \left(\left(\color{blue}{{\left(\sqrt{z} \cdot {\left(e^{\frac{t}{2}}\right)}^{t}\right)}^{1}} \cdot {\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)}^{1}\right) \cdot \mathsf{fma}\left(x, 0.5, -y\right)\right) \cdot \sqrt[3]{\sqrt{2}}\]
  18. Applied pow-prod-down0.5

    \[\leadsto \left(\color{blue}{{\left(\left(\sqrt{z} \cdot {\left(e^{\frac{t}{2}}\right)}^{t}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right)}^{1}} \cdot \mathsf{fma}\left(x, 0.5, -y\right)\right) \cdot \sqrt[3]{\sqrt{2}}\]
  19. Simplified0.5

    \[\leadsto \left({\color{blue}{\left(\left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt{z}\right) \cdot {\left(e^{\frac{t}{2}}\right)}^{t}\right)}}^{1} \cdot \mathsf{fma}\left(x, 0.5, -y\right)\right) \cdot \sqrt[3]{\sqrt{2}}\]
  20. Final simplification0.5

    \[\leadsto \left(\mathsf{fma}\left(x, 0.5, -y\right) \cdot \left({\left(e^{\frac{t}{2}}\right)}^{t} \cdot \left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt{z}\right)\right)\right) \cdot \sqrt[3]{\sqrt{2}}\]

Reproduce

herbie shell --seed 2019179 +o rules:numerics
(FPCore (x y z t)
  :name "Data.Number.Erf:$cinvnormcdf from erf-2.0.0.0, A"

  :herbie-target
  (* (* (- (* x 0.5) y) (sqrt (* z 2.0))) (pow (exp 1.0) (/ (* t t) 2.0)))

  (* (* (- (* x 0.5) y) (sqrt (* z 2.0))) (exp (/ (* t t) 2.0))))