Average Error: 1.9 → 0.8
Time: 1.9m
Precision: 64
Internal Precision: 576
\[\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{x}{\frac{y}{\frac{{z}^{y} \cdot {a}^{\left(t - 1.0\right)}}{e^{b}}}} \le 5.237305644644842 \cdot 10^{+287}:\\ \;\;\;\;\frac{x}{\frac{y}{\frac{{z}^{y} \cdot {a}^{\left(t - 1.0\right)}}{e^{b}}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x \cdot \left(\sqrt{{e}^{\left((\left(\log a\right) \cdot \left(t - 1.0\right) + \left((y \cdot \left(\log z\right) + \left(-b\right))_*\right))_*\right)}} \cdot \sqrt{{e}^{\left((\left(\log a\right) \cdot \left(t - 1.0\right) + \left((y \cdot \left(\log z\right) + \left(-b\right))_*\right))_*\right)}}\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 (/ x (/ y (/ (* (pow z y) (pow a (- t 1.0))) (exp b)))) < 5.237305644644842e+287

    1. Initial program 2.6

      \[\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 exp-diff2.6

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

      \[\leadsto \frac{x \cdot \frac{\color{blue}{{z}^{y} \cdot {a}^{\left(t - 1.0\right)}}}{e^{b}}}{y}\]
    5. Using strategy rm
    6. Applied associate-/l*1.0

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

    if 5.237305644644842e+287 < (/ x (/ y (/ (* (pow z y) (pow a (- t 1.0))) (exp b))))

    1. Initial program 0.3

      \[\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 *-un-lft-identity0.3

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

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

      \[\leadsto \frac{x \cdot {\color{blue}{e}}^{\left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}{y}\]
    6. Using strategy rm
    7. Applied add-sqr-sqrt0.3

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

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

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

Runtime

Time bar (total: 1.9m)Debug logProfile

herbie shell --seed '#(1072936661 1621281212 3440817831 3219514234 460296804 1258167384)' +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))