Average Error: 0.3 → 0.5
Time: 25.8s
Precision: 64
\[\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot e^{\frac{t \cdot t}{2}}\]
\[e^{\frac{t \cdot t}{2}} \cdot \left(\left(\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z}\right) \cdot \left(\sqrt{\left|\sqrt[3]{2}\right|} \cdot \sqrt{\sqrt{2}}\right)\right) \cdot \sqrt{\sqrt{\sqrt[3]{2}}}\right)\]
\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot e^{\frac{t \cdot t}{2}}
e^{\frac{t \cdot t}{2}} \cdot \left(\left(\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z}\right) \cdot \left(\sqrt{\left|\sqrt[3]{2}\right|} \cdot \sqrt{\sqrt{2}}\right)\right) \cdot \sqrt{\sqrt{\sqrt[3]{2}}}\right)
double f(double x, double y, double z, double t) {
        double r35309656 = x;
        double r35309657 = 0.5;
        double r35309658 = r35309656 * r35309657;
        double r35309659 = y;
        double r35309660 = r35309658 - r35309659;
        double r35309661 = z;
        double r35309662 = 2.0;
        double r35309663 = r35309661 * r35309662;
        double r35309664 = sqrt(r35309663);
        double r35309665 = r35309660 * r35309664;
        double r35309666 = t;
        double r35309667 = r35309666 * r35309666;
        double r35309668 = r35309667 / r35309662;
        double r35309669 = exp(r35309668);
        double r35309670 = r35309665 * r35309669;
        return r35309670;
}

double f(double x, double y, double z, double t) {
        double r35309671 = t;
        double r35309672 = r35309671 * r35309671;
        double r35309673 = 2.0;
        double r35309674 = r35309672 / r35309673;
        double r35309675 = exp(r35309674);
        double r35309676 = x;
        double r35309677 = 0.5;
        double r35309678 = r35309676 * r35309677;
        double r35309679 = y;
        double r35309680 = r35309678 - r35309679;
        double r35309681 = z;
        double r35309682 = sqrt(r35309681);
        double r35309683 = r35309680 * r35309682;
        double r35309684 = cbrt(r35309673);
        double r35309685 = fabs(r35309684);
        double r35309686 = sqrt(r35309685);
        double r35309687 = sqrt(r35309673);
        double r35309688 = sqrt(r35309687);
        double r35309689 = r35309686 * r35309688;
        double r35309690 = r35309683 * r35309689;
        double r35309691 = sqrt(r35309684);
        double r35309692 = sqrt(r35309691);
        double r35309693 = r35309690 * r35309692;
        double r35309694 = r35309675 * r35309693;
        return r35309694;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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. Using strategy rm
  3. Applied sqrt-prod0.5

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

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

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

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

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

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

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

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

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

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

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

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))))