Average Error: 0.3 → 0.3
Time: 24.1s
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 r599819 = x;
        double r599820 = 0.5;
        double r599821 = r599819 * r599820;
        double r599822 = y;
        double r599823 = r599821 - r599822;
        double r599824 = z;
        double r599825 = 2.0;
        double r599826 = r599824 * r599825;
        double r599827 = sqrt(r599826);
        double r599828 = r599823 * r599827;
        double r599829 = t;
        double r599830 = r599829 * r599829;
        double r599831 = r599830 / r599825;
        double r599832 = exp(r599831);
        double r599833 = r599828 * r599832;
        return r599833;
}

double f(double x, double y, double z, double t) {
        double r599834 = x;
        double r599835 = 0.5;
        double r599836 = r599834 * r599835;
        double r599837 = y;
        double r599838 = r599836 - r599837;
        double r599839 = z;
        double r599840 = 2.0;
        double r599841 = r599839 * r599840;
        double r599842 = sqrt(r599841);
        double r599843 = r599838 * r599842;
        double r599844 = t;
        double r599845 = r599844 * r599844;
        double r599846 = r599845 / r599840;
        double r599847 = exp(r599846);
        double r599848 = r599843 * r599847;
        return r599848;
}

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