Average Error: 1.8 → 2.6
Time: 1.1m
Precision: 64
Internal Precision: 384
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
\[\begin{array}{l} \mathbf{if}\;\frac{{z}^{y}}{\frac{y}{x}} \le 0.0:\\ \;\;\;\;\frac{x \cdot {\left(e^{\sqrt[3]{(\left(\log z\right) \cdot y + \left((\left(t - 1.0\right) \cdot \left(\log a\right) + \left(-b\right))_*\right))_*} \cdot \sqrt[3]{(\left(\log z\right) \cdot y + \left((\left(t - 1.0\right) \cdot \left(\log a\right) + \left(-b\right))_*\right))_*}}\right)}^{\left(\sqrt[3]{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}\right)}}{y}\\ \mathbf{if}\;\frac{{z}^{y}}{\frac{y}{x}} \le 7.941323176571289 \cdot 10^{+226}:\\ \;\;\;\;\frac{{\left(\frac{1}{a}\right)}^{\left(1.0 - t\right)} \cdot \frac{{z}^{y}}{\frac{y}{x}}}{e^{b}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot {\left(e^{\sqrt[3]{(\left(\log z\right) \cdot y + \left((\left(t - 1.0\right) \cdot \left(\log a\right) + \left(-b\right))_*\right))_*} \cdot \sqrt[3]{(\left(\log z\right) \cdot y + \left((\left(t - 1.0\right) \cdot \left(\log a\right) + \left(-b\right))_*\right))_*}}\right)}^{\left(\sqrt[3]{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}\right)}}{y}\\ \end{array}\]

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. Split input into 2 regimes
  2. if (/ (pow z y) (/ y x)) < 0.0 or 7.941323176571289e+226 < (/ (pow z y) (/ y x))

    1. Initial program 1.2

      \[\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.5

      \[\leadsto \frac{x \cdot e^{\color{blue}{\left(\sqrt[3]{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b} \cdot \sqrt[3]{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}\right) \cdot \sqrt[3]{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}}}{y}\]
    4. Applied exp-prod1.5

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

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

    if 0.0 < (/ (pow z y) (/ y x)) < 7.941323176571289e+226

    1. Initial program 4.7

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

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

      \[\leadsto \color{blue}{\frac{{\left(\frac{1}{a}\right)}^{\left(1.0 - t\right)} \cdot \frac{{z}^{y}}{\frac{y}{x}}}{e^{b}}}\]
  3. Recombined 2 regimes into one program.

Runtime

Time bar (total: 1.1m)Debug logProfile

herbie shell --seed '#(1070355188 2193211668 3977393919 3454156579 3755371326 1656365382)' +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))