



Bits error versus a




Bits error versus b
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Taylor expanded around 0 0.0
Final simplification0.0
herbie shell --seed 2019008
(FPCore (a b)
:name "Expression 4, p15"
:pre (and (<= 5 a 10) (<= 0 b 0.001))
:herbie-target
(+ (+ (+ (* b a) (* b b)) (* b a)) (* a a))
(* (+ a b) (+ a b)))
Time bar (total: 17.1s)Debug log
1 calls. Slowest were:
| 15.0ms | (* (+ a b) (+ a b)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 0.0b | (* (+ a b) (+ a b)) |
1 calls. Slowest were:
| 4.0ms | (* (+ a b) (+ a b)) |
1 calls. Slowest were:
| 9.0ms | (* (+ a b) (+ a b)) |
28 calls. Slowest were:
| 366.0ms | (* (- (* a a) (* b b)) (+ a b)) |
| 321.0ms | (* (+ (* a a) (- (* b b) (* a b))) (- a b)) |
| 305.0ms | (* (+ (* a a) (- (* b b) (* a b))) (+ (* a a) (- (* b b) (* a b)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0b
Found 2 expressions with local error:
| 0.0b | (+ (pow b 2) (* 2 (* a b))) |
| 0.0b | (+ (pow a 2) (+ (pow b 2) (* 2 (* a b)))) |
2 calls. Slowest were:
| 16.0ms | (+ (pow a 2) (+ (pow b 2) (* 2 (* a b)))) |
| 7.0ms | (+ (pow b 2) (* 2 (* a b))) |
2 calls. Slowest were:
| 35.0ms | (+ (pow b 2) (* 2 (* a b))) |
| 24.0ms | (+ (pow a 2) (+ (pow b 2) (* 2 (* a b)))) |
11 calls. Slowest were:
| 135.0ms | (* (exp (pow a 2)) (exp (+ (pow b 2) (* 2 (* a b))))) |
| 111.0ms | (* (exp (pow a 2)) (* (exp (pow b 2)) (exp (* 2 (* a b))))) |
| 51.0ms | (* (exp (pow b 2)) (exp (* 2 (* a b)))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.7b | (pow (pow a 2) 3) |
| 0.5b | (* (pow a 2) (pow a 2)) |
| 0.4b | (/ (+ (pow (pow a 2) 3) (pow (+ (pow b 2) (* 2 (* a b))) 3)) (+ (* (pow a 2) (pow a 2)) (- (* (+ (pow b 2) (* 2 (* a b))) (+ (pow b 2) (* 2 (* a b)))) (* (pow a 2) (+ (pow b 2) (* 2 (* a b))))))) |
| 0.3b | (* (pow a 2) (+ (pow b 2) (* 2 (* a b)))) |
4 calls. Slowest were:
| 101.0ms | (/ (+ (pow (pow a 2) 3) (pow (+ (pow b 2) (* 2 (* a b))) 3)) (+ (* (pow a 2) (pow a 2)) (- (* (+ (pow b 2) (* 2 (* a b))) (+ (pow b 2) (* 2 (* a b)))) (* (pow a 2) (+ (pow b 2) (* 2 (* a b))))))) |
| 6.0ms | (* (pow a 2) (+ (pow b 2) (* 2 (* a b)))) |
| 3.0ms | (* (pow a 2) (pow a 2)) |
4 calls. Slowest were:
| 90.0ms | (/ (+ (pow (pow a 2) 3) (pow (+ (pow b 2) (* 2 (* a b))) 3)) (+ (* (pow a 2) (pow a 2)) (- (* (+ (pow b 2) (* 2 (* a b))) (+ (pow b 2) (* 2 (* a b)))) (* (pow a 2) (+ (pow b 2) (* 2 (* a b))))))) |
| 47.0ms | (* (pow a 2) (+ (pow b 2) (* 2 (* a b)))) |
| 29.0ms | (pow (pow a 2) 3) |
| 22.0ms | (* (pow a 2) (pow a 2)) |
117 calls. Slowest were:
| 590.0ms | (- (* (pow (pow a 2) 3) (pow (pow a 2) 3)) (* (pow (+ (pow b 2) (* 2 (* a b))) 3) (pow (+ (pow b 2) (* 2 (* a b))) 3))) |
| 398.0ms | (/ (* (* (+ (pow (pow a 2) 3) (pow (+ (pow b 2) (* 2 (* a b))) 3)) (+ (pow (pow a 2) 3) (pow (+ (pow b 2) (* 2 (* a b))) 3))) (+ (pow (pow a 2) 3) (pow (+ (pow b 2) (* 2 (* a b))) 3))) (* (* (+ (* (pow a 2) (pow a 2)) (- (* (+ (pow b 2) (* 2 (* a b))) (+ (pow b 2) (* 2 (* a b)))) (* (pow a 2) (+ (pow b 2) (* 2 (* a b)))))) (+ (* (pow a 2) (pow a 2)) (- (* (+ (pow b 2) (* 2 (* a b))) (+ (pow b 2) (* 2 (* a b)))) (* (pow a 2) (+ (pow b 2) (* 2 (* a b))))))) (+ (* (pow a 2) (pow a 2)) (- (* (+ (pow b 2) (* 2 (* a b))) (+ (pow b 2) (* 2 (* a b)))) (* (pow a 2) (+ (pow b 2) (* 2 (* a b)))))))) |
| 255.0ms | (+ (* (pow b 2) (pow b 2)) (- (* (* 2 (* a b)) (* 2 (* a b))) (* (pow b 2) (* 2 (* a b))))) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0b
0% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 0.0b