Average Error: 1.8 → 1.2
Time: 12.7s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\frac{1}{\frac{y}{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\frac{1}{\frac{y}{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}
double f(double x, double y, double z, double t, double a, double b) {
        double r95858 = x;
        double r95859 = y;
        double r95860 = z;
        double r95861 = log(r95860);
        double r95862 = r95859 * r95861;
        double r95863 = t;
        double r95864 = 1.0;
        double r95865 = r95863 - r95864;
        double r95866 = a;
        double r95867 = log(r95866);
        double r95868 = r95865 * r95867;
        double r95869 = r95862 + r95868;
        double r95870 = b;
        double r95871 = r95869 - r95870;
        double r95872 = exp(r95871);
        double r95873 = r95858 * r95872;
        double r95874 = r95873 / r95859;
        return r95874;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r95875 = 1.0;
        double r95876 = y;
        double r95877 = x;
        double r95878 = a;
        double r95879 = r95875 / r95878;
        double r95880 = 1.0;
        double r95881 = pow(r95879, r95880);
        double r95882 = z;
        double r95883 = r95875 / r95882;
        double r95884 = log(r95883);
        double r95885 = log(r95879);
        double r95886 = t;
        double r95887 = b;
        double r95888 = fma(r95885, r95886, r95887);
        double r95889 = fma(r95876, r95884, r95888);
        double r95890 = exp(r95889);
        double r95891 = r95881 / r95890;
        double r95892 = r95877 * r95891;
        double r95893 = r95876 / r95892;
        double r95894 = r95875 / r95893;
        return r95894;
}

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

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

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

    \[\leadsto \frac{x \cdot \color{blue}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}{y}\]
  4. Using strategy rm
  5. Applied clear-num1.2

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

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

Reproduce

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