Average Error: 2.1 → 20.9
Time: 24.3s
Precision: 64
\[x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\]
\[\left({\left(\frac{e^{\log z}}{e^{t}}\right)}^{\left(2 \cdot \frac{y}{2}\right)} \cdot \left(x \cdot e^{\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) \cdot a}\right)\right) \cdot e^{\left(-b\right) \cdot a}\]
x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}
\left({\left(\frac{e^{\log z}}{e^{t}}\right)}^{\left(2 \cdot \frac{y}{2}\right)} \cdot \left(x \cdot e^{\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) \cdot a}\right)\right) \cdot e^{\left(-b\right) \cdot a}
double f(double x, double y, double z, double t, double a, double b) {
        double r82119 = x;
        double r82120 = y;
        double r82121 = z;
        double r82122 = log(r82121);
        double r82123 = t;
        double r82124 = r82122 - r82123;
        double r82125 = r82120 * r82124;
        double r82126 = a;
        double r82127 = 1.0;
        double r82128 = r82127 - r82121;
        double r82129 = log(r82128);
        double r82130 = b;
        double r82131 = r82129 - r82130;
        double r82132 = r82126 * r82131;
        double r82133 = r82125 + r82132;
        double r82134 = exp(r82133);
        double r82135 = r82119 * r82134;
        return r82135;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r82136 = z;
        double r82137 = log(r82136);
        double r82138 = exp(r82137);
        double r82139 = t;
        double r82140 = exp(r82139);
        double r82141 = r82138 / r82140;
        double r82142 = 2.0;
        double r82143 = y;
        double r82144 = r82143 / r82142;
        double r82145 = r82142 * r82144;
        double r82146 = pow(r82141, r82145);
        double r82147 = x;
        double r82148 = 1.0;
        double r82149 = log(r82148);
        double r82150 = 0.5;
        double r82151 = pow(r82136, r82142);
        double r82152 = pow(r82148, r82142);
        double r82153 = r82151 / r82152;
        double r82154 = r82150 * r82153;
        double r82155 = r82148 * r82136;
        double r82156 = r82154 + r82155;
        double r82157 = r82149 - r82156;
        double r82158 = a;
        double r82159 = r82157 * r82158;
        double r82160 = exp(r82159);
        double r82161 = r82147 * r82160;
        double r82162 = r82146 * r82161;
        double r82163 = b;
        double r82164 = -r82163;
        double r82165 = r82164 * r82158;
        double r82166 = exp(r82165);
        double r82167 = r82162 * r82166;
        return r82167;
}

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 2.1

    \[x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\]
  2. Taylor expanded around 0 0.5

    \[\leadsto x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\color{blue}{\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right)} - b\right)}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.5

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

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

    \[\leadsto \left({\left(\frac{e^{\log z}}{e^{t}}\right)}^{\left(2 \cdot \frac{y}{2}\right)} \cdot \left(x \cdot e^{\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) \cdot a}\right)\right) \cdot e^{\left(-b\right) \cdot a}\]

Reproduce

herbie shell --seed 2019304 
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
  :precision binary64
  (* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1 z)) b))))))