Average Error: 0.3 → 0.3
Time: 23.7s
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 r728950 = x;
        double r728951 = 0.5;
        double r728952 = r728950 * r728951;
        double r728953 = y;
        double r728954 = r728952 - r728953;
        double r728955 = z;
        double r728956 = 2.0;
        double r728957 = r728955 * r728956;
        double r728958 = sqrt(r728957);
        double r728959 = r728954 * r728958;
        double r728960 = t;
        double r728961 = r728960 * r728960;
        double r728962 = r728961 / r728956;
        double r728963 = exp(r728962);
        double r728964 = r728959 * r728963;
        return r728964;
}

double f(double x, double y, double z, double t) {
        double r728965 = x;
        double r728966 = 0.5;
        double r728967 = r728965 * r728966;
        double r728968 = y;
        double r728969 = r728967 - r728968;
        double r728970 = z;
        double r728971 = 2.0;
        double r728972 = r728970 * r728971;
        double r728973 = sqrt(r728972);
        double r728974 = r728969 * r728973;
        double r728975 = t;
        double r728976 = r728975 * r728975;
        double r728977 = r728976 / r728971;
        double r728978 = exp(r728977);
        double r728979 = r728974 * r728978;
        return r728979;
}

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 2019305 +o rules:numerics
(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))))