Average Error: 0.4 → 0.2
Time: 4.9s
Precision: binary64
Cost: 576
\[1 \leq a \land a \leq 2 \land 2 \leq b \land b \leq 4 \land 4 \leq c \land c \leq 8 \land 8 \leq d \land d \leq 16 \land 16 \leq e \land e \leq 32\]
\[\left(\left(\left(e + d\right) + c\right) + b\right) + a\]
\[e + \left(d + \left(a + \left(c + b\right)\right)\right)\]
\left(\left(\left(e + d\right) + c\right) + b\right) + a
e + \left(d + \left(a + \left(c + b\right)\right)\right)
(FPCore (a b c d e) :precision binary64 (+ (+ (+ (+ e d) c) b) a))
(FPCore (a b c d e) :precision binary64 (+ e (+ d (+ a (+ c b)))))
double code(double a, double b, double c, double d, double e) {
	return (((e + d) + c) + b) + a;
}
double code(double a, double b, double c, double d, double e) {
	return e + (d + (a + (c + b)));
}

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\]

Alternatives

Alternative 1
Error1.2
Cost20800
\[a + \sqrt[3]{b + \left(\left(e + d\right) + c\right)} \cdot \left(\sqrt[3]{b + \left(\left(e + d\right) + c\right)} \cdot \sqrt[3]{b + \left(\left(e + d\right) + c\right)}\right)\]
Alternative 2
Error1.1
Cost20544
\[a + \left(b + \sqrt[3]{\left(e + d\right) + c} \cdot \left(\sqrt[3]{\left(e + d\right) + c} \cdot \sqrt[3]{\left(e + d\right) + c}\right)\right)\]
Alternative 3
Error0.5
Cost15296
\[a + \frac{\left(e - d\right) \cdot \left(\left(e + d\right) \cdot \left(c \cdot c + b \cdot \left(b - c\right)\right) + \left({c}^{3} + {b}^{3}\right)\right)}{\left(e - d\right) \cdot \left(c \cdot c + b \cdot \left(b - c\right)\right)}\]
Alternative 4
Error0.6
Cost14912
\[\frac{{\left(b + \left(\left(e + d\right) + c\right)\right)}^{3} + {a}^{3}}{a \cdot a + \left(b + \left(\left(e + d\right) + c\right)\right) \cdot \left(\left(b + \left(\left(e + d\right) + c\right)\right) - a\right)}\]
Alternative 5
Error0.6
Cost14656
\[a + \frac{{\left(\left(e + d\right) + c\right)}^{3} + {b}^{3}}{b \cdot b + \left(\left(e + d\right) + c\right) \cdot \left(\left(\left(e + d\right) + c\right) - b\right)}\]
Alternative 6
Error0.6
Cost14400
\[a + \left(b + \frac{{\left(e + d\right)}^{3} + {c}^{3}}{c \cdot c + \left(e + d\right) \cdot \left(\left(e + d\right) - c\right)}\right)\]
Alternative 7
Error0.6
Cost14016
\[\sqrt{a + \left(b + \left(\left(e + d\right) + c\right)\right)} \cdot \sqrt{a + \left(b + \left(\left(e + d\right) + c\right)\right)}\]
Alternative 8
Error0.6
Cost13888
\[a + \sqrt{b + \left(\left(e + d\right) + c\right)} \cdot \sqrt{b + \left(\left(e + d\right) + c\right)}\]
Alternative 9
Error0.6
Cost13760
\[a + \left(b + \sqrt{\left(e + d\right) + c} \cdot \sqrt{\left(e + d\right) + c}\right)\]
Alternative 10
Error0.7
Cost13440
\[\sqrt[3]{{\left(a + \left(b + \left(\left(e + d\right) + c\right)\right)\right)}^{3}}\]
Alternative 11
Error0.6
Cost13440
\[a + \left(b + \sqrt[3]{{\left(\left(e + d\right) + c\right)}^{3}}\right)\]
Alternative 12
Error0.7
Cost13440
\[a + \sqrt[3]{{\left(b + \left(\left(e + d\right) + c\right)\right)}^{3}}\]
Alternative 13
Error0.8
Cost13376
\[e^{\log \left(a + \left(b + \left(\left(e + d\right) + c\right)\right)\right)}\]
Alternative 14
Error0.7
Cost13376
\[a + \left(b + e^{\log \left(\left(e + d\right) + c\right)}\right)\]
Alternative 15
Error0.8
Cost13376
\[a + e^{\log \left(b + \left(\left(e + d\right) + c\right)\right)}\]
Alternative 16
Error0.5
Cost1856
\[\frac{\left(e + d\right) \cdot \left(e + d\right) - \left(a + \left(c + b\right)\right) \cdot \left(a + \left(c + b\right)\right)}{\left(e + d\right) - \left(a + \left(c + b\right)\right)}\]
Alternative 17
Error0.5
Cost1856
\[\frac{\left(b + \left(\left(e + d\right) + c\right)\right) \cdot \left(b + \left(\left(e + d\right) + c\right)\right) - a \cdot a}{\left(b + \left(\left(e + d\right) + c\right)\right) - a}\]
Alternative 18
Error0.5
Cost1600
\[a + \frac{\left(\left(e + d\right) + c\right) \cdot \left(\left(e + d\right) + c\right) - b \cdot b}{\left(\left(e + d\right) + c\right) - b}\]
Alternative 19
Error0.5
Cost1600
\[a + \frac{\left(e + d\right) \cdot \left(e + d\right) - \left(c + b\right) \cdot \left(c + b\right)}{\left(e + d\right) - \left(c + b\right)}\]
Alternative 20
Error0.6
Cost1600
\[a + \frac{\left(c - b\right) \cdot \left(\left(\left(e + d\right) + \left(c + b\right)\right) \cdot \left(e - d\right)\right)}{\left(c - b\right) \cdot \left(e - d\right)}\]
Alternative 21
Error0.5
Cost1344
\[a + \left(b + \frac{\left(e + d\right) \cdot \left(e + d\right) - c \cdot c}{\left(e + d\right) - c}\right)\]
Alternative 22
Error0.2
Cost576
\[e + \left(d + \left(b + \left(a + c\right)\right)\right)\]
Alternative 23
Error0.3
Cost576
\[\left(\left(e + d\right) + c\right) + \left(a + b\right)\]
Alternative 24
Error0.4
Cost576
\[a + \left(b + \left(e + \left(d + c\right)\right)\right)\]
Alternative 25
Error0.3
Cost576
\[a + \left(\left(e + d\right) + \left(c + b\right)\right)\]
Alternative 26
Error0.3
Cost576
\[\left(e + d\right) + \left(a + \left(c + b\right)\right)\]
Alternative 27
Error0.4
Cost576
\[a + \left(b + \left(\left(e + d\right) + c\right)\right)\]
Alternative 28
Error0.3
Cost576
\[a + \left(e + \left(d + \left(c + b\right)\right)\right)\]
Alternative 29
Error0.3
Cost576
\[\left(e + d\right) + \left(b + \left(a + c\right)\right)\]
Alternative 30
Error0.3
Cost576
\[\left(c + b\right) + \left(\left(e + d\right) + a\right)\]
Alternative 31
Error54.4
Cost64
\[1\]
Alternative 32
Error62.0
Cost64
\[0\]
Alternative 33
Error63.0
Cost64
\[-1\]

Error

Derivation

  1. Initial program 0.4

    \[\left(\left(\left(e + d\right) + c\right) + b\right) + a\]
  2. Using strategy rm
  3. Applied associate-+l+_binary64_6700.3

    \[\leadsto \color{blue}{\left(\left(e + d\right) + \left(c + b\right)\right)} + a\]
  4. Using strategy rm
  5. Applied associate-+l+_binary64_6700.3

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

    \[\leadsto \left(e + d\right) + \color{blue}{\left(a + \left(c + b\right)\right)}\]
  7. Using strategy rm
  8. Applied associate-+l+_binary64_6700.2

    \[\leadsto \color{blue}{e + \left(d + \left(a + \left(c + b\right)\right)\right)}\]
  9. Simplified0.2

    \[\leadsto \color{blue}{e + \left(d + \left(a + \left(c + b\right)\right)\right)}\]
  10. Final simplification0.2

    \[\leadsto e + \left(d + \left(a + \left(c + b\right)\right)\right)\]

Reproduce

herbie shell --seed 2021042 
(FPCore (a b c d e)
  :name "Expression 1, p15"
  :precision binary64
  :pre (<= 1.0 a 2.0 b 4.0 c 8.0 d 16.0 e 32.0)

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

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