Average Error: 5.8 → 6.0
Time: 14.5s
Precision: 64
\[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
\[\sqrt{\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001} \cdot \sqrt{\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001} + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}
\sqrt{\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001} \cdot \sqrt{\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001} + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}
double f(double x, double y, double z) {
        double r493130 = x;
        double r493131 = 0.5;
        double r493132 = r493130 - r493131;
        double r493133 = log(r493130);
        double r493134 = r493132 * r493133;
        double r493135 = r493134 - r493130;
        double r493136 = 0.91893853320467;
        double r493137 = r493135 + r493136;
        double r493138 = y;
        double r493139 = 0.0007936500793651;
        double r493140 = r493138 + r493139;
        double r493141 = z;
        double r493142 = r493140 * r493141;
        double r493143 = 0.0027777777777778;
        double r493144 = r493142 - r493143;
        double r493145 = r493144 * r493141;
        double r493146 = 0.083333333333333;
        double r493147 = r493145 + r493146;
        double r493148 = r493147 / r493130;
        double r493149 = r493137 + r493148;
        return r493149;
}

double f(double x, double y, double z) {
        double r493150 = x;
        double r493151 = 0.5;
        double r493152 = r493150 - r493151;
        double r493153 = log(r493150);
        double r493154 = r493152 * r493153;
        double r493155 = r493154 - r493150;
        double r493156 = 0.91893853320467;
        double r493157 = r493155 + r493156;
        double r493158 = sqrt(r493157);
        double r493159 = r493158 * r493158;
        double r493160 = y;
        double r493161 = 0.0007936500793651;
        double r493162 = r493160 + r493161;
        double r493163 = z;
        double r493164 = r493162 * r493163;
        double r493165 = 0.0027777777777778;
        double r493166 = r493164 - r493165;
        double r493167 = r493166 * r493163;
        double r493168 = 0.083333333333333;
        double r493169 = r493167 + r493168;
        double r493170 = r493169 / r493150;
        double r493171 = r493159 + r493170;
        return r493171;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original5.8
Target1.0
Herbie6.0
\[\left(\left(\left(x - 0.5\right) \cdot \log x + \left(0.91893853320467001 - x\right)\right) + \frac{0.0833333333333329956}{x}\right) + \frac{z}{x} \cdot \left(z \cdot \left(y + 7.93650079365100015 \cdot 10^{-4}\right) - 0.0027777777777778\right)\]

Derivation

  1. Initial program 5.8

    \[\left(\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001\right) + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt6.0

    \[\leadsto \color{blue}{\sqrt{\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001} \cdot \sqrt{\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001}} + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]
  4. Final simplification6.0

    \[\leadsto \sqrt{\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001} \cdot \sqrt{\left(\left(x - 0.5\right) \cdot \log x - x\right) + 0.91893853320467001} + \frac{\left(\left(y + 7.93650079365100015 \cdot 10^{-4}\right) \cdot z - 0.0027777777777778\right) \cdot z + 0.0833333333333329956}{x}\]

Reproduce

herbie shell --seed 2020046 
(FPCore (x y z)
  :name "Numeric.SpecFunctions:$slogFactorial from math-functions-0.1.5.2, B"
  :precision binary64

  :herbie-target
  (+ (+ (+ (* (- x 0.5) (log x)) (- 0.91893853320467 x)) (/ 0.083333333333333 x)) (* (/ z x) (- (* z (+ y 0.0007936500793651)) 0.0027777777777778)))

  (+ (+ (- (* (- x 0.5) (log x)) x) 0.91893853320467) (/ (+ (* (- (* (+ y 0.0007936500793651) z) 0.0027777777777778) z) 0.083333333333333) x)))