Average Error: 1.9 → 1.1
Time: 1.0m
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
\[\frac{\sqrt[3]{\left(\sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}\right) \cdot \sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}}}{\left(\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}\right) \cdot \sqrt[3]{\sqrt[3]{y}}} \cdot \left(\frac{\sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}} \cdot \sqrt[3]{\left(\sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}\right) \cdot \sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot x\right)\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}
\frac{\sqrt[3]{\left(\sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}\right) \cdot \sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}}}{\left(\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}\right) \cdot \sqrt[3]{\sqrt[3]{y}}} \cdot \left(\frac{\sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}} \cdot \sqrt[3]{\left(\sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}\right) \cdot \sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot x\right)
double f(double x, double y, double z, double t, double a, double b) {
        double r3481130 = x;
        double r3481131 = y;
        double r3481132 = z;
        double r3481133 = log(r3481132);
        double r3481134 = r3481131 * r3481133;
        double r3481135 = t;
        double r3481136 = 1.0;
        double r3481137 = r3481135 - r3481136;
        double r3481138 = a;
        double r3481139 = log(r3481138);
        double r3481140 = r3481137 * r3481139;
        double r3481141 = r3481134 + r3481140;
        double r3481142 = b;
        double r3481143 = r3481141 - r3481142;
        double r3481144 = exp(r3481143);
        double r3481145 = r3481130 * r3481144;
        double r3481146 = r3481145 / r3481131;
        return r3481146;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r3481147 = t;
        double r3481148 = 1.0;
        double r3481149 = r3481147 - r3481148;
        double r3481150 = a;
        double r3481151 = log(r3481150);
        double r3481152 = z;
        double r3481153 = log(r3481152);
        double r3481154 = y;
        double r3481155 = r3481153 * r3481154;
        double r3481156 = fma(r3481149, r3481151, r3481155);
        double r3481157 = b;
        double r3481158 = r3481156 - r3481157;
        double r3481159 = exp(r3481158);
        double r3481160 = cbrt(r3481159);
        double r3481161 = r3481160 * r3481160;
        double r3481162 = r3481161 * r3481160;
        double r3481163 = cbrt(r3481162);
        double r3481164 = cbrt(r3481154);
        double r3481165 = cbrt(r3481164);
        double r3481166 = r3481165 * r3481165;
        double r3481167 = r3481166 * r3481165;
        double r3481168 = r3481163 / r3481167;
        double r3481169 = r3481160 * r3481163;
        double r3481170 = r3481164 * r3481164;
        double r3481171 = r3481169 / r3481170;
        double r3481172 = x;
        double r3481173 = r3481171 * r3481172;
        double r3481174 = r3481168 * r3481173;
        return r3481174;
}

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. Simplified2.0

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

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

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

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

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

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

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

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

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

Reproduce

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