Average Error: 1.9 → 1.1
Time: 1.8m
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
\[\frac{\frac{\sqrt[3]{\sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)}{\frac{\sqrt[3]{y}}{\sqrt[3]{x}}} \cdot \left(e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y - b\right)\right)} \cdot \frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right)}{\sqrt[3]{y}}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}
\frac{\frac{\sqrt[3]{\sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)}{\frac{\sqrt[3]{y}}{\sqrt[3]{x}}} \cdot \left(e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(\log z \cdot y - b\right)\right)} \cdot \frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right)}{\sqrt[3]{y}}
double f(double x, double y, double z, double t, double a, double b) {
        double r19322061 = x;
        double r19322062 = y;
        double r19322063 = z;
        double r19322064 = log(r19322063);
        double r19322065 = r19322062 * r19322064;
        double r19322066 = t;
        double r19322067 = 1.0;
        double r19322068 = r19322066 - r19322067;
        double r19322069 = a;
        double r19322070 = log(r19322069);
        double r19322071 = r19322068 * r19322070;
        double r19322072 = r19322065 + r19322071;
        double r19322073 = b;
        double r19322074 = r19322072 - r19322073;
        double r19322075 = exp(r19322074);
        double r19322076 = r19322061 * r19322075;
        double r19322077 = r19322076 / r19322062;
        return r19322077;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r19322078 = x;
        double r19322079 = cbrt(r19322078);
        double r19322080 = cbrt(r19322079);
        double r19322081 = r19322080 * r19322080;
        double r19322082 = r19322080 * r19322081;
        double r19322083 = y;
        double r19322084 = cbrt(r19322083);
        double r19322085 = r19322084 / r19322079;
        double r19322086 = r19322082 / r19322085;
        double r19322087 = t;
        double r19322088 = 1.0;
        double r19322089 = r19322087 - r19322088;
        double r19322090 = a;
        double r19322091 = log(r19322090);
        double r19322092 = z;
        double r19322093 = log(r19322092);
        double r19322094 = r19322093 * r19322083;
        double r19322095 = b;
        double r19322096 = r19322094 - r19322095;
        double r19322097 = fma(r19322089, r19322091, r19322096);
        double r19322098 = exp(r19322097);
        double r19322099 = r19322079 / r19322084;
        double r19322100 = r19322098 * r19322099;
        double r19322101 = r19322086 * r19322100;
        double r19322102 = r19322101 / r19322084;
        return r19322102;
}

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 add-cube-cbrt1.9

    \[\leadsto \frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}\]
  4. Applied associate-/r*1.9

    \[\leadsto \color{blue}{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}\]
  5. Using strategy rm
  6. Applied associate-/l*1.6

    \[\leadsto \frac{\color{blue}{\frac{x}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}}}}{\sqrt[3]{y}}\]
  7. Using strategy rm
  8. Applied *-un-lft-identity1.6

    \[\leadsto \frac{\frac{x}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\color{blue}{1 \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}}}}{\sqrt[3]{y}}\]
  9. Applied times-frac1.6

    \[\leadsto \frac{\frac{x}{\color{blue}{\frac{\sqrt[3]{y}}{1} \cdot \frac{\sqrt[3]{y}}{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}}}}{\sqrt[3]{y}}\]
  10. Applied add-cube-cbrt1.6

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

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

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

    \[\leadsto \frac{\frac{\sqrt[3]{x}}{\frac{\sqrt[3]{y}}{\sqrt[3]{x}}} \cdot \color{blue}{\left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(y \cdot \log z - b\right)\right)}\right)}}{\sqrt[3]{y}}\]
  14. Using strategy rm
  15. Applied add-cube-cbrt1.1

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

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

Reproduce

herbie shell --seed 2019124 +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))