Average Error: 0.3 → 0.3
Time: 23.9s
Precision: 64
\[\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2.0}\right) \cdot e^{\frac{t \cdot t}{2.0}}\]
\[\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2.0}\right) \cdot e^{\frac{t \cdot t}{2.0}}\]
\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2.0}\right) \cdot e^{\frac{t \cdot t}{2.0}}
\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2.0}\right) \cdot e^{\frac{t \cdot t}{2.0}}
double f(double x, double y, double z, double t) {
        double r36644526 = x;
        double r36644527 = 0.5;
        double r36644528 = r36644526 * r36644527;
        double r36644529 = y;
        double r36644530 = r36644528 - r36644529;
        double r36644531 = z;
        double r36644532 = 2.0;
        double r36644533 = r36644531 * r36644532;
        double r36644534 = sqrt(r36644533);
        double r36644535 = r36644530 * r36644534;
        double r36644536 = t;
        double r36644537 = r36644536 * r36644536;
        double r36644538 = r36644537 / r36644532;
        double r36644539 = exp(r36644538);
        double r36644540 = r36644535 * r36644539;
        return r36644540;
}

double f(double x, double y, double z, double t) {
        double r36644541 = x;
        double r36644542 = 0.5;
        double r36644543 = r36644541 * r36644542;
        double r36644544 = y;
        double r36644545 = r36644543 - r36644544;
        double r36644546 = z;
        double r36644547 = 2.0;
        double r36644548 = r36644546 * r36644547;
        double r36644549 = sqrt(r36644548);
        double r36644550 = r36644545 * r36644549;
        double r36644551 = t;
        double r36644552 = r36644551 * r36644551;
        double r36644553 = r36644552 / r36644547;
        double r36644554 = exp(r36644553);
        double r36644555 = r36644550 * r36644554;
        return r36644555;
}

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.3
\[\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2.0}\right) \cdot {\left(e^{1}\right)}^{\left(\frac{t \cdot t}{2.0}\right)}\]

Derivation

  1. Initial program 0.3

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

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

Reproduce

herbie shell --seed 2019168 
(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) (/ (* t t) 2.0)))

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