


Bits error versus a



Bits error versus b
Initial program 0.2
Initial simplification0.2
Final simplification0.2
herbie shell --seed 2018360 +o rules:numerics
(FPCore (a b)
:name "Bouland and Aaronson, Equation (24)"
(- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (- 1 a)) (* (* b b) (+ 3 a))))) 1))
Time bar (total: 28.0s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 0.2b | (fma (fma b b (* a a)) (fma b b (* a a)) -1) |
| 0.1b | (fma (* b (+ a 3)) b (* (- 1 a) (* a a))) |
| 0.1b | (* (- 1 a) (* a a)) |
| 0.0b | (fma (fma (* b (+ a 3)) b (* (- 1 a) (* a a))) 4 (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
4 calls. Slowest were:
| 4.0ms | (* (- 1 a) (* a a)) |
| 0.0ms | (fma (fma b b (* a a)) (fma b b (* a a)) -1) |
| 0.0ms | (fma (fma (* b (+ a 3)) b (* (- 1 a) (* a a))) 4 (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
4 calls. Slowest were:
| 93.0ms | (fma (fma (* b (+ a 3)) b (* (- 1 a) (* a a))) 4 (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
| 49.0ms | (fma (* b (+ a 3)) b (* (- 1 a) (* a a))) |
| 47.0ms | (fma (fma b b (* a a)) (fma b b (* a a)) -1) |
| 37.0ms | (* (- 1 a) (* a a)) |
19 calls. Slowest were:
| 205.0ms | (* (* (* (- 1 a) (- 1 a)) (- 1 a)) (* (* (* a a) (* a a)) (* a a))) |
| 187.0ms | (- (+ (pow a 2) (* a (pow b 2))) (pow a 3)) |
| 148.0ms | (- (+ (pow a 2) (* a (pow b 2))) (pow a 3)) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 0.2b | (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
| 0.2b | (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
| 0.2b | (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
4 calls. Slowest were:
| 10.0ms | (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 1.0ms | (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
| 1.0ms | (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
4 calls. Slowest were:
| 147.0ms | (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 144.0ms | (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
| 136.0ms | (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
| 122.0ms | (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
41 calls. Slowest were:
| 224.0ms | (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
| 215.0ms | (sqrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 210.0ms | (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) |
| 0.2b | (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 0.2b | (* (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 0.2b | (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
4 calls. Slowest were:
| 21.0ms | (* (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 9.0ms | (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 3.0ms | (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) |
4 calls. Slowest were:
| 132.0ms | (* (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 131.0ms | (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) |
| 126.0ms | (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 112.0ms | (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
53 calls. Slowest were:
| 308.0ms | (* (* (* (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
| 157.0ms | (+ (+ (log (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) (log (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) (log (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) |
| 157.0ms | (* (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
5 alts after pruning (3 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (* (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) |
| 0.2b | (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) |
| 0.2b | (* (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (* (* (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))))) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 0.2b | (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
4 calls. Slowest were:
| 94.0ms | (* (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (* (* (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))))) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 7.0ms | (* (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) |
| 5.0ms | (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
4 calls. Slowest were:
| 128.0ms | (* (* (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (* (* (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))))) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 126.0ms | (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) |
| 125.0ms | (cbrt (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) |
| 124.0ms | (* (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) |
85 calls. Slowest were:
| 408.0ms | (cbrt (cbrt (cbrt (sqrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) |
| 256.0ms | (* (* (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) (* (* (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
| 237.0ms | (* (* (* (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)) (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) (* (* (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1)))) (cbrt (cbrt (fma (fma b b (* a a)) (fma b b (* a a)) -1))))) (fma (fma b b (* a a)) (fma b b (* a a)) -1)) |
5 alts after pruning (2 fresh and 3 done)
Merged error: 0.0b
0% (0.2b remaining)
Error of 0.2b against oracle of 0.0b and baseline of 0.2b