Average Error: 0.4 → 0.2
Time: 1.0m
Precision: 64
Internal Precision: 320
\[\left(\left(\left(e + d\right) + c\right) + b\right) + a\]
\[\log_* (1 + (e^{e + \left(\left(b + d\right) + \left(c + a\right)\right)} - 1)^*)\]

Error

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

Target

Original0.4
Target0.2
Herbie0.2
\[\left(d + \left(c + \left(a + b\right)\right)\right) + e\]

Derivation

  1. Initial program 0.4

    \[\left(\left(\left(e + d\right) + c\right) + b\right) + a\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.6

    \[\leadsto \left(\left(\color{blue}{\sqrt{e + d} \cdot \sqrt{e + d}} + c\right) + b\right) + a\]
  4. Applied fma-def0.5

    \[\leadsto \left(\color{blue}{(\left(\sqrt{e + d}\right) \cdot \left(\sqrt{e + d}\right) + c)_*} + b\right) + a\]
  5. Using strategy rm
  6. Applied log1p-expm1-u0.5

    \[\leadsto \color{blue}{\log_* (1 + (e^{\left((\left(\sqrt{e + d}\right) \cdot \left(\sqrt{e + d}\right) + c)_* + b\right) + a} - 1)^*)}\]
  7. Applied simplify0.2

    \[\leadsto \log_* (1 + \color{blue}{(e^{e + \left(\left(b + d\right) + \left(c + a\right)\right)} - 1)^*})\]

Runtime

Time bar (total: 1.0m)Debug logProfile

herbie shell --seed 2018170 +o rules:numerics
(FPCore (a b c d e)
  :name "Expression 1, p15"
  :pre (<= 1 a 2 b 4 c 8 d 16 e 32)

  :herbie-target
  (+ (+ d (+ c (+ a b))) e)

  (+ (+ (+ (+ e d) c) b) a))