Average Error: 1.9 → 1.1
Time: 49.8s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
\[\left(x \cdot \frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}\right) \cdot \frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y}}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}
\left(x \cdot \frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}\right) \cdot \frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y}}
double f(double x, double y, double z, double t, double a, double b) {
        double r2191030 = x;
        double r2191031 = y;
        double r2191032 = z;
        double r2191033 = log(r2191032);
        double r2191034 = r2191031 * r2191033;
        double r2191035 = t;
        double r2191036 = 1.0;
        double r2191037 = r2191035 - r2191036;
        double r2191038 = a;
        double r2191039 = log(r2191038);
        double r2191040 = r2191037 * r2191039;
        double r2191041 = r2191034 + r2191040;
        double r2191042 = b;
        double r2191043 = r2191041 - r2191042;
        double r2191044 = exp(r2191043);
        double r2191045 = r2191030 * r2191044;
        double r2191046 = r2191045 / r2191031;
        return r2191046;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r2191047 = x;
        double r2191048 = t;
        double r2191049 = 1.0;
        double r2191050 = r2191048 - r2191049;
        double r2191051 = a;
        double r2191052 = log(r2191051);
        double r2191053 = z;
        double r2191054 = log(r2191053);
        double r2191055 = y;
        double r2191056 = r2191054 * r2191055;
        double r2191057 = fma(r2191050, r2191052, r2191056);
        double r2191058 = b;
        double r2191059 = r2191057 - r2191058;
        double r2191060 = exp(r2191059);
        double r2191061 = cbrt(r2191060);
        double r2191062 = r2191061 * r2191061;
        double r2191063 = cbrt(r2191055);
        double r2191064 = r2191063 * r2191063;
        double r2191065 = r2191062 / r2191064;
        double r2191066 = r2191047 * r2191065;
        double r2191067 = r2191061 / r2191063;
        double r2191068 = r2191066 * r2191067;
        return r2191068;
}

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

Derivation

  1. Initial program 1.9

    \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity1.9

    \[\leadsto \frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\color{blue}{1 \cdot y}}\]
  4. Applied times-frac2.0

    \[\leadsto \color{blue}{\frac{x}{1} \cdot \frac{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\]
  5. Simplified2.0

    \[\leadsto \color{blue}{x} \cdot \frac{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
  6. Simplified2.0

    \[\leadsto x \cdot \color{blue}{\frac{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}{y}}\]
  7. Using strategy rm
  8. Applied add-cube-cbrt2.0

    \[\leadsto x \cdot \frac{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}\]
  9. Applied add-cube-cbrt2.0

    \[\leadsto x \cdot \frac{\color{blue}{\left(\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}\right) \cdot \sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}\]
  10. Applied times-frac2.0

    \[\leadsto x \cdot \color{blue}{\left(\frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y}}\right)}\]
  11. Applied associate-*r*1.1

    \[\leadsto \color{blue}{\left(x \cdot \frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}\right) \cdot \frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y}}}\]
  12. Final simplification1.1

    \[\leadsto \left(x \cdot \frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}\right) \cdot \frac{\sqrt[3]{e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y\right)\right) - b}}}{\sqrt[3]{y}}\]

Reproduce

herbie shell --seed 2019129 +o rules:numerics
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
  (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))