Average Error: 0.4 → 0.2
Time: 24.5s
Precision: 64
\[\left(\left(\left(e + d\right) + c\right) + b\right) + a\]
\[e + \log \left(e^{\left(d + a\right) + \left(b + c\right)}\right)\]

Error

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus d

Bits error versus e

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-log-exp0.4

    \[\leadsto \left(\left(\left(e + d\right) + c\right) + \color{blue}{\log \left(e^{b}\right)}\right) + a\]
  4. Applied add-log-exp0.4

    \[\leadsto \left(\left(\left(e + d\right) + \color{blue}{\log \left(e^{c}\right)}\right) + \log \left(e^{b}\right)\right) + a\]
  5. Applied add-log-exp0.4

    \[\leadsto \left(\left(\color{blue}{\log \left(e^{e + d}\right)} + \log \left(e^{c}\right)\right) + \log \left(e^{b}\right)\right) + a\]
  6. Applied sum-log0.4

    \[\leadsto \left(\color{blue}{\log \left(e^{e + d} \cdot e^{c}\right)} + \log \left(e^{b}\right)\right) + a\]
  7. Applied sum-log0.3

    \[\leadsto \color{blue}{\log \left(\left(e^{e + d} \cdot e^{c}\right) \cdot e^{b}\right)} + a\]
  8. Simplified0.3

    \[\leadsto \log \color{blue}{\left(e^{\left(b + d\right) + \left(e + c\right)}\right)} + a\]
  9. Using strategy rm
  10. Applied *-un-lft-identity0.3

    \[\leadsto \log \left(e^{\left(b + d\right) + \left(e + c\right)}\right) + \color{blue}{1 \cdot a}\]
  11. Applied *-un-lft-identity0.3

    \[\leadsto \color{blue}{1 \cdot \log \left(e^{\left(b + d\right) + \left(e + c\right)}\right)} + 1 \cdot a\]
  12. Applied distribute-lft-out0.3

    \[\leadsto \color{blue}{1 \cdot \left(\log \left(e^{\left(b + d\right) + \left(e + c\right)}\right) + a\right)}\]
  13. Simplified0.2

    \[\leadsto 1 \cdot \color{blue}{\left(e + \left(c + \left(d + \left(b + a\right)\right)\right)\right)}\]
  14. Using strategy rm
  15. Applied add-log-exp0.2

    \[\leadsto 1 \cdot \left(e + \left(c + \left(d + \left(b + \color{blue}{\log \left(e^{a}\right)}\right)\right)\right)\right)\]
  16. Applied add-log-exp0.2

    \[\leadsto 1 \cdot \left(e + \left(c + \left(d + \left(\color{blue}{\log \left(e^{b}\right)} + \log \left(e^{a}\right)\right)\right)\right)\right)\]
  17. Applied sum-log0.2

    \[\leadsto 1 \cdot \left(e + \left(c + \left(d + \color{blue}{\log \left(e^{b} \cdot e^{a}\right)}\right)\right)\right)\]
  18. Applied add-log-exp0.2

    \[\leadsto 1 \cdot \left(e + \left(c + \left(\color{blue}{\log \left(e^{d}\right)} + \log \left(e^{b} \cdot e^{a}\right)\right)\right)\right)\]
  19. Applied sum-log0.2

    \[\leadsto 1 \cdot \left(e + \left(c + \color{blue}{\log \left(e^{d} \cdot \left(e^{b} \cdot e^{a}\right)\right)}\right)\right)\]
  20. Applied add-log-exp0.2

    \[\leadsto 1 \cdot \left(e + \left(\color{blue}{\log \left(e^{c}\right)} + \log \left(e^{d} \cdot \left(e^{b} \cdot e^{a}\right)\right)\right)\right)\]
  21. Applied sum-log0.2

    \[\leadsto 1 \cdot \left(e + \color{blue}{\log \left(e^{c} \cdot \left(e^{d} \cdot \left(e^{b} \cdot e^{a}\right)\right)\right)}\right)\]
  22. Simplified0.2

    \[\leadsto 1 \cdot \left(e + \log \color{blue}{\left(e^{\left(c + b\right) + \left(d + a\right)}\right)}\right)\]
  23. Final simplification0.2

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

Reproduce

herbie shell --seed 2019100 
(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))