



Bits error versus a




Bits error versus b




Bits error versus c




Bits error versus d
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019022
(FPCore (a b c d)
:name "Expression, p14"
:pre (and (<= 56789 a 98765) (<= 0 b 1) (<= 0 c 0.0016773) (<= 0 d 0.0016773))
:herbie-target
(+ (* a b) (* a (+ c d)))
(* a (+ (+ b c) d)))
Time bar (total: 38.6s)Debug log
| 15.0ms | 256× | pre | 80 | true |
| 13.0ms | 256× | body | 80 | valid |
| 44.0ms | (* a (+ (+ b c) d)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 0.0b | (* a (+ (+ b c) d)) |
| 3× | associate-*r* |
| 2× | add-cube-cbrt |
| 2× | associate-*r/ |
| 2× | *-un-lft-identity |
| 2× | add-sqr-sqrt |
| 1× | add-log-exp |
| 1× | flip-+ |
| 1× | *-commutative |
| 1× | add-exp-log |
| 1× | add-cbrt-cube |
| 1× | flip3-+ |
| 1× | distribute-lft-in |
| 1× | pow1 |
| 1× | distribute-rgt-in |
| 11.0ms | (* a (+ (+ b c) d)) |
| 20.0ms | (* a (+ (+ b c) d)) |
| 133.0ms | (+ (* (+ b c) (+ b c)) (- (* d d) (* (+ b c) d))) |
| 31.0ms | (+ (* a d) (+ (* a b) (* a c))) |
| 23.0ms | (+ (* a d) (+ (* a b) (* a c))) |
| 8.0ms | (- (+ b c) d) |
| 6.0ms | (sqrt (+ (+ b c) d)) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.5b | (* (sqrt (* a (+ (+ b c) d))) (sqrt (* a (+ (+ b c) d)))) |
| 0.1b | (sqrt (* a (+ (+ b c) d))) |
| 0.1b | (sqrt (* a (+ (+ b c) d))) |
| 0.0b | (* a (+ (+ b c) d)) |
| 20× | associate-*r/ |
| 16× | sqrt-div |
| 9× | flip-+ |
| 9× | flip3-+ |
| 9× | pow1 |
| 7× | add-cube-cbrt |
| 7× | associate-*r* |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | add-exp-log |
| 6× | pow1/2 |
| 6× | add-cbrt-cube |
| 4× | add-log-exp |
| 4× | sqrt-prod |
| 4× | associate-*l* |
| 4× | frac-times |
| 2× | pow-prod-up |
| 2× | *-commutative |
| 2× | associate-*l/ |
| 2× | pow-prod-down |
| 1× | cbrt-unprod |
| 1× | prod-exp |
| 1× | sqrt-unprod |
| 1× | pow-plus |
| 1× | distribute-lft-in |
| 1× | rem-square-sqrt |
| 1× | distribute-rgt-in |
| 1× | pow2 |
| 14.0ms | (* (sqrt (* a (+ (+ b c) d))) (sqrt (* a (+ (+ b c) d)))) |
| 7.0ms | (* a (+ (+ b c) d)) |
| 1.0ms | (sqrt (* a (+ (+ b c) d))) |
| 1.0ms | (sqrt (* a (+ (+ b c) d))) |
| 150.0ms | (sqrt (* a (+ (+ b c) d))) |
| 136.0ms | (sqrt (* a (+ (+ b c) d))) |
| 32.0ms | (* a (+ (+ b c) d)) |
| 24.0ms | (* (sqrt (* a (+ (+ b c) d))) (sqrt (* a (+ (+ b c) d)))) |
| 483.0ms | (* (sqrt (* a (+ (pow (+ b c) 3) (pow d 3)))) (sqrt (* a (- (* (+ b c) (+ b c)) (* d d))))) |
| 479.0ms | (* (sqrt (* a (- (* (+ b c) (+ b c)) (* d d)))) (sqrt (* a (+ (pow (+ b c) 3) (pow d 3))))) |
| 466.0ms | (* (* a (+ (+ b c) d)) (* a (+ (+ b c) d))) |
| 416.0ms | (* (* a (+ (+ b c) d)) (* a (+ (+ b c) d))) |
| 260.0ms | (sqrt (* a (- (* (+ b c) (+ b c)) (* d d)))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 5.9b | (/ (* a (- (* (+ b c) (+ b c)) (* d d))) (- (+ b c) d)) |
| 0.5b | (* a (- (* (+ b c) (+ b c)) (* d d))) |
| 0.0b | (* (+ b c) (+ b c)) |
| 0.0b | (- (* (+ b c) (+ b c)) (* d d)) |
| 9× | add-cube-cbrt |
| 9× | *-un-lft-identity |
| 9× | pow1 |
| 9× | add-sqr-sqrt |
| 8× | add-exp-log |
| 8× | add-cbrt-cube |
| 8× | distribute-lft-in |
| 8× | distribute-rgt-in |
| 7× | associate-*r* |
| 6× | add-log-exp |
| 6× | flip-+ |
| 6× | associate-*r/ |
| 6× | associate--l+ |
| 6× | flip3-+ |
| 4× | flip-- |
| 4× | flip3-- |
| 4× | frac-times |
| 3× | associate-*l* |
| 3× | times-frac |
| 3× | sub-neg |
| 3× | associate-/r* |
| 2× | associate-/l/ |
| 2× | difference-of-squares |
| 2× | *-commutative |
| 2× | associate-/r/ |
| 2× | associate-*l/ |
| 1× | associate-/l* |
| 1× | div-inv |
| 1× | cbrt-unprod |
| 1× | pow-prod-up |
| 1× | prod-exp |
| 1× | pow-prod-down |
| 1× | div-exp |
| 1× | diff-log |
| 1× | pow-plus |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 1× | pow2 |
| 16.0ms | (* a (- (* (+ b c) (+ b c)) (* d d))) |
| 13.0ms | (/ (* a (- (* (+ b c) (+ b c)) (* d d))) (- (+ b c) d)) |
| 10.0ms | (- (* (+ b c) (+ b c)) (* d d)) |
| 7.0ms | (* (+ b c) (+ b c)) |
| 96.0ms | (* a (- (* (+ b c) (+ b c)) (* d d))) |
| 80.0ms | (/ (* a (- (* (+ b c) (+ b c)) (* d d))) (- (+ b c) d)) |
| 46.0ms | (- (* (+ b c) (+ b c)) (* d d)) |
| 9.0ms | (* (+ b c) (+ b c)) |
| 628.0ms | (* a (- (pow (* (+ b c) (+ b c)) 3) (pow (* d d) 3))) |
| 390.0ms | (* (- (* b b) (* c c)) (+ b c)) |
| 381.0ms | (- (log (* a (- (* (+ b c) (+ b c)) (* d d)))) (log (- (+ b c) d))) |
| 320.0ms | (* (+ (* b b) (- (* c c) (* b c))) (- b c)) |
| 301.0ms | (/ (exp (* (+ b c) (+ b c))) (exp (* d d))) |
4 alts after pruning (1 fresh and 3 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 15.8b | (/ (+ (* (* a d) (* d d)) (* (* (+ b c) a) (* (+ b c) (+ b c)))) (+ (* (+ c b) (+ c b)) (* d (- (- d b) c)))) |
| 0.2b | (* (* (+ b c) a) (* (+ b c) (+ b c))) |
| 0.2b | (* (* a d) (* d d)) |
| 0.0b | (* (+ b c) a) |
| 42× | flip-+ |
| 42× | flip3-+ |
| 36× | frac-times |
| 34× | associate-*r/ |
| 32× | associate-*l/ |
| 18× | associate-/r/ |
| 16× | frac-add |
| 13× | add-cube-cbrt |
| 13× | add-exp-log |
| 13× | add-cbrt-cube |
| 13× | *-un-lft-identity |
| 13× | add-sqr-sqrt |
| 11× | pow1 |
| 9× | times-frac |
| 8× | flip-- |
| 8× | flip3-- |
| 5× | associate-*l* |
| 4× | add-log-exp |
| 4× | cbrt-unprod |
| 4× | prod-exp |
| 4× | pow-prod-down |
| 4× | distribute-lft-in |
| 4× | distribute-rgt-in |
| 3× | associate-/l* |
| 3× | *-commutative |
| 3× | associate-/r* |
| 2× | associate-/l/ |
| 2× | associate-*r* |
| 1× | div-inv |
| 1× | div-exp |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 26.0ms | (* (* (+ b c) a) (* (+ b c) (+ b c))) |
| 25.0ms | (/ (+ (* (* a d) (* d d)) (* (* (+ b c) a) (* (+ b c) (+ b c)))) (+ (* (+ c b) (+ c b)) (* d (- (- d b) c)))) |
| 6.0ms | (* (* a d) (* d d)) |
| 5.0ms | (* (+ b c) a) |
| 270.0ms | (/ (+ (* (* a d) (* d d)) (* (* (+ b c) a) (* (+ b c) (+ b c)))) (+ (* (+ c b) (+ c b)) (* d (- (- d b) c)))) |
| 35.0ms | (* (* (+ b c) a) (* (+ b c) (+ b c))) |
| 25.0ms | (* (* a d) (* d d)) |
| 22.0ms | (* (+ b c) a) |
| 811.0ms | (* (* (- (* b b) (* c c)) a) (* (- (* b b) (* c c)) (- (* b b) (* c c)))) |
| 787.0ms | (* (* (+ (pow b 3) (pow c 3)) a) (* (- (* b b) (* c c)) (- (* b b) (* c c)))) |
| 766.0ms | (/ 1 (sqrt (+ (* (+ c b) (+ c b)) (* d (- (- d b) c))))) |
| 722.0ms | (* (+ (* b b) (- (* c c) (* b c))) (* (+ (* b b) (- (* c c) (* b c))) (+ (* b b) (- (* c c) (* b c))))) |
| 583.0ms | (/ (sqrt (+ (* (* a d) (* d d)) (* (* (+ b c) a) (* (+ b c) (+ b c))))) 1) |
4 alts after pruning (0 fresh and 4 done)
Merged error: 0.0b
0% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 0.0b
| 434.0ms | 8000× | pre | 80 | true |
| 395.0ms | 8000× | body | 80 | valid |