Average Error: 6.2 → 0.1
Time: 56.3s
Precision: 64
Internal Precision: 320
\[e^{\left(\left(\left(log \cdot a + log \cdot b\right) + log \cdot c\right) + log \cdot d\right) + log \cdot e}\]
\[\begin{array}{l} \mathbf{if}\;e^{\left(\left(\left(log \cdot a + log \cdot b\right) + log \cdot c\right) + log \cdot d\right) + log \cdot e} \le 5.747936617440744 \cdot 10^{+19}:\\ \;\;\;\;e^{\left(\left(\left(log \cdot a + log \cdot b\right) + log \cdot c\right) + log \cdot d\right) + log \cdot e}\\ \mathbf{else}:\\ \;\;\;\;{\left(e^{log}\right)}^{\left(e + \left(\left(c + d\right) + \left(a + b\right)\right)\right)}\\ \end{array}\]

Error

Bits error versus log

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus d

Bits error versus e

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if (exp (+ (+ (+ (+ (* log a) (* log b)) (* log c)) (* log d)) (* log e))) < 5.747936617440744e+19

    1. Initial program 0.0

      \[e^{\left(\left(\left(log \cdot a + log \cdot b\right) + log \cdot c\right) + log \cdot d\right) + log \cdot e}\]

    if 5.747936617440744e+19 < (exp (+ (+ (+ (+ (* log a) (* log b)) (* log c)) (* log d)) (* log e)))

    1. Initial program 62.3

      \[e^{\left(\left(\left(log \cdot a + log \cdot b\right) + log \cdot c\right) + log \cdot d\right) + log \cdot e}\]
    2. Applied simplify0.8

      \[\leadsto \color{blue}{{\left(e^{log}\right)}^{\left(e + \left(\left(c + d\right) + \left(a + b\right)\right)\right)}}\]
  3. Recombined 2 regimes into one program.

Runtime

Time bar (total: 56.3s)Debug log

herbie shell --seed '#(2775764126 3555076145 3898259844 1891440260 2599947619 1948460636)' 
(FPCore (log a b c d e)
  :name "exp(log a + log b + log c + log d + log e)"
  (exp (+ (+ (+ (+ (* log a) (* log b)) (* log c)) (* log d)) (* log e))))