Average Error: 0.3 → 0.3
Time: 11.4s
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 r833888 = x;
        double r833889 = 0.5;
        double r833890 = r833888 * r833889;
        double r833891 = y;
        double r833892 = r833890 - r833891;
        double r833893 = z;
        double r833894 = 2.0;
        double r833895 = r833893 * r833894;
        double r833896 = sqrt(r833895);
        double r833897 = r833892 * r833896;
        double r833898 = t;
        double r833899 = r833898 * r833898;
        double r833900 = r833899 / r833894;
        double r833901 = exp(r833900);
        double r833902 = r833897 * r833901;
        return r833902;
}

double f(double x, double y, double z, double t) {
        double r833903 = x;
        double r833904 = 0.5;
        double r833905 = r833903 * r833904;
        double r833906 = y;
        double r833907 = r833905 - r833906;
        double r833908 = z;
        double r833909 = 2.0;
        double r833910 = r833908 * r833909;
        double r833911 = sqrt(r833910);
        double r833912 = r833907 * r833911;
        double r833913 = t;
        double r833914 = r833913 * r833913;
        double r833915 = r833914 / r833909;
        double r833916 = exp(r833915);
        double r833917 = r833912 * r833916;
        return r833917;
}

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