Average Error: 0.3 → 0.3
Time: 22.3s
Precision: 64
\[\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot e^{\frac{t \cdot t}{2}}\]
\[\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot e^{\frac{t \cdot t}{2}}\]
\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot e^{\frac{t \cdot t}{2}}
\left(\left(x \cdot 0.5 - y\right) \cdot \sqrt{z \cdot 2}\right) \cdot e^{\frac{t \cdot t}{2}}
double f(double x, double y, double z, double t) {
        double r701045 = x;
        double r701046 = 0.5;
        double r701047 = r701045 * r701046;
        double r701048 = y;
        double r701049 = r701047 - r701048;
        double r701050 = z;
        double r701051 = 2.0;
        double r701052 = r701050 * r701051;
        double r701053 = sqrt(r701052);
        double r701054 = r701049 * r701053;
        double r701055 = t;
        double r701056 = r701055 * r701055;
        double r701057 = r701056 / r701051;
        double r701058 = exp(r701057);
        double r701059 = r701054 * r701058;
        return r701059;
}

double f(double x, double y, double z, double t) {
        double r701060 = x;
        double r701061 = 0.5;
        double r701062 = r701060 * r701061;
        double r701063 = y;
        double r701064 = r701062 - r701063;
        double r701065 = z;
        double r701066 = 2.0;
        double r701067 = r701065 * r701066;
        double r701068 = sqrt(r701067);
        double r701069 = r701064 * r701068;
        double r701070 = t;
        double r701071 = r701070 * r701070;
        double r701072 = r701071 / r701066;
        double r701073 = exp(r701072);
        double r701074 = r701069 * r701073;
        return r701074;
}

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}\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. Final simplification0.3

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

Reproduce

herbie shell --seed 2019303 
(FPCore (x y z t)
  :name "Data.Number.Erf:$cinvnormcdf from erf-2.0.0.0, A"
  :precision binary64

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

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