Average Error: 2.0 → 2.0
Time: 40.8s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\frac{x \cdot e^{\left(\left(t - 1\right) \cdot \log a + \log z \cdot y\right) - b}}{y}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\frac{x \cdot e^{\left(\left(t - 1\right) \cdot \log a + \log z \cdot y\right) - b}}{y}
double f(double x, double y, double z, double t, double a, double b) {
        double r90073 = x;
        double r90074 = y;
        double r90075 = z;
        double r90076 = log(r90075);
        double r90077 = r90074 * r90076;
        double r90078 = t;
        double r90079 = 1.0;
        double r90080 = r90078 - r90079;
        double r90081 = a;
        double r90082 = log(r90081);
        double r90083 = r90080 * r90082;
        double r90084 = r90077 + r90083;
        double r90085 = b;
        double r90086 = r90084 - r90085;
        double r90087 = exp(r90086);
        double r90088 = r90073 * r90087;
        double r90089 = r90088 / r90074;
        return r90089;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r90090 = x;
        double r90091 = t;
        double r90092 = 1.0;
        double r90093 = r90091 - r90092;
        double r90094 = a;
        double r90095 = log(r90094);
        double r90096 = r90093 * r90095;
        double r90097 = z;
        double r90098 = log(r90097);
        double r90099 = y;
        double r90100 = r90098 * r90099;
        double r90101 = r90096 + r90100;
        double r90102 = b;
        double r90103 = r90101 - r90102;
        double r90104 = exp(r90103);
        double r90105 = r90090 * r90104;
        double r90106 = r90105 / r90099;
        return r90106;
}

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

    \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
  2. Using strategy rm
  3. Applied pow12.0

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

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

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

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

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

Reproduce

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