Average Error: 3.8 → 2.6
Time: 7.7s
Precision: 64
\[\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
\[\frac{x}{x + y \cdot e^{2 \cdot \log \left(e^{\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}\right)}}\]
\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}
\frac{x}{x + y \cdot e^{2 \cdot \log \left(e^{\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}\right)}}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r65100 = x;
        double r65101 = y;
        double r65102 = 2.0;
        double r65103 = z;
        double r65104 = t;
        double r65105 = a;
        double r65106 = r65104 + r65105;
        double r65107 = sqrt(r65106);
        double r65108 = r65103 * r65107;
        double r65109 = r65108 / r65104;
        double r65110 = b;
        double r65111 = c;
        double r65112 = r65110 - r65111;
        double r65113 = 5.0;
        double r65114 = 6.0;
        double r65115 = r65113 / r65114;
        double r65116 = r65105 + r65115;
        double r65117 = 3.0;
        double r65118 = r65104 * r65117;
        double r65119 = r65102 / r65118;
        double r65120 = r65116 - r65119;
        double r65121 = r65112 * r65120;
        double r65122 = r65109 - r65121;
        double r65123 = r65102 * r65122;
        double r65124 = exp(r65123);
        double r65125 = r65101 * r65124;
        double r65126 = r65100 + r65125;
        double r65127 = r65100 / r65126;
        return r65127;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r65128 = x;
        double r65129 = y;
        double r65130 = 2.0;
        double r65131 = z;
        double r65132 = t;
        double r65133 = a;
        double r65134 = r65132 + r65133;
        double r65135 = sqrt(r65134);
        double r65136 = r65131 * r65135;
        double r65137 = 1.0;
        double r65138 = r65137 / r65132;
        double r65139 = b;
        double r65140 = c;
        double r65141 = r65139 - r65140;
        double r65142 = 5.0;
        double r65143 = 6.0;
        double r65144 = r65142 / r65143;
        double r65145 = r65133 + r65144;
        double r65146 = 3.0;
        double r65147 = r65132 * r65146;
        double r65148 = r65130 / r65147;
        double r65149 = r65145 - r65148;
        double r65150 = r65141 * r65149;
        double r65151 = -r65150;
        double r65152 = fma(r65136, r65138, r65151);
        double r65153 = exp(r65152);
        double r65154 = log(r65153);
        double r65155 = r65130 * r65154;
        double r65156 = exp(r65155);
        double r65157 = r65129 * r65156;
        double r65158 = r65128 + r65157;
        double r65159 = r65128 / r65158;
        return r65159;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Derivation

  1. Initial program 3.8

    \[\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
  2. Using strategy rm
  3. Applied div-inv3.8

    \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\color{blue}{\left(z \cdot \sqrt{t + a}\right) \cdot \frac{1}{t}} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
  4. Applied fma-neg2.6

    \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \color{blue}{\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}}\]
  5. Using strategy rm
  6. Applied add-log-exp2.6

    \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \color{blue}{\log \left(e^{\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}\right)}}}\]
  7. Final simplification2.6

    \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \log \left(e^{\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}\right)}}\]

Reproduce

herbie shell --seed 2020001 +o rules:numerics
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
  :precision binary64
  (/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))