


Bits error versus x1



Bits error versus x2
Initial program 0.5
Initial simplification0.5
Final simplification0.5
herbie shell --seed 2018362 +o rules:numerics
(FPCore (x1 x2)
:name "Rosa's FloatVsDoubleBenchmark"
(+ x1 (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))))))
Time bar (total: 1.4m)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.5b
Found 4 expressions with local error:
| 5.2b | (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) |
| 4.6b | (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)) |
| 4.5b | (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) |
| 3.0b | (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3) |
4 calls. Slowest were:
| 168.0ms | (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) |
| 87.0ms | (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3) |
| 46.0ms | (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) |
4 calls. Slowest were:
| 206.0ms | (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) |
| 62.0ms | (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)) |
| 58.0ms | (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3) |
| 30.0ms | (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) |
91 calls. Slowest were:
| 687.0ms | (* (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) |
| 685.0ms | (+ (* (* (* (* 2 x1) (- (+ (* (* 3 x1) x1) (* 2 x2)) x1)) (- (* (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 3 3))) (+ (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)) (* (* (+ (* x1 x1) 1) (+ (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* 6 6))))) |
| 680.0ms | (+ (* (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (* (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 3 3))) (+ (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (+ (* 6 6) (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (* (+ (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3) (* (* x1 x1) (- (pow (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 3) (pow 6 3))))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 6.7b | (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3)) |
| 5.2b | (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) |
| 4.6b | (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)) |
| 4.5b | (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) |
4 calls. Slowest were:
| 61.0ms | (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) |
| 42.0ms | (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) |
| 38.0ms | (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)) |
4 calls. Slowest were:
| 210.0ms | (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) |
| 66.0ms | (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)) |
| 48.0ms | (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) |
| 34.0ms | (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3)) |
58 calls. Slowest were:
| 512.0ms | (+ (* (* (* (* 2 x1) (- (+ (* (* 3 x1) x1) (* 2 x2)) x1)) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (+ (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (+ (* 6 6) (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (* (+ (* x1 x1) 1) (* (* x1 x1) (- (pow (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 3) (pow 6 3))))) |
| 429.0ms | (+ (* (* (* (* 2 x1) (- (+ (* (* 3 x1) x1) (* 2 x2)) x1)) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (+ (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)) (* (+ (* x1 x1) 1) (* (* x1 x1) (- (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* 6 6))))) |
| 394.0ms | (+ (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (+ (* 6 6) (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 6.7b | (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3)) |
| 5.2b | (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* x1 (* x1 (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) |
| 4.5b | (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) |
| 0.2b | (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* x1 (* x1 (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) |
4 calls. Slowest were:
| 5.3s | (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* x1 (* x1 (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) |
| 51.0ms | (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* x1 (* x1 (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) |
| 42.0ms | (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) |
4 calls. Slowest were:
| 504.0ms | (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* x1 (* x1 (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) |
| 242.0ms | (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* x1 (* x1 (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) |
| 53.0ms | (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3)) |
| 31.0ms | (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) |
58 calls. Slowest were:
| 592.0ms | (- (* 2 (/ x2 (pow x1 2))) (+ (* 3 (/ 1 (pow x1 2))) (/ 1 x1))) |
| 524.0ms | (+ (* (* (* (* 2 x1) (- (+ (* (* 3 x1) x1) (* 2 x2)) x1)) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (+ (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (+ (* 6 6) (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (* (+ (* x1 x1) 1) (* x1 (* x1 (- (pow (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 3) (pow 6 3)))))) |
| 499.0ms | (* (+ (* (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* x1 (* x1 (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* x1 (* x1 (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1))) (- (* x1 x1) (* (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (fma (fma x1 (* 3 x1) (- (* 2 x2) x1)) (/ 1 (+ (* x1 x1) 1)) (- 3))) (* x1 (* x1 (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1))) (+ (* x1 x1) 1)) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 9.9b | (fma (fma 4 (/ (fma 3 (* x1 x1) (- (* x2 2) x1)) (fma x1 x1 1)) -6) (* x1 x1) (/ (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) (/ (fma x1 x1 1) (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1)))))) |
| 4.5b | (* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1))) |
| 3.0b | (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) |
| 1.0b | (/ 3 (/ (fma x1 x1 1) (* x1 x1))) |
4 calls. Slowest were:
| 35.0ms | (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) |
| 4.0ms | (* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1))) |
| 1.0ms | (/ 3 (/ (fma x1 x1 1) (* x1 x1))) |
4 calls. Slowest were:
| 188.0ms | (fma (fma 4 (/ (fma 3 (* x1 x1) (- (* x2 2) x1)) (fma x1 x1 1)) -6) (* x1 x1) (/ (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) (/ (fma x1 x1 1) (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1)))))) |
| 54.0ms | (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) |
| 32.0ms | (* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1))) |
| 29.0ms | (/ 3 (/ (fma x1 x1 1) (* x1 x1))) |
132 calls. Slowest were:
| 703.0ms | (- (* (fma x1 (* 3 x1) (* x2 2)) (- (/ x1 (fma x1 x1 1)) 3)) (* (fma x1 x1 1) (- (* (/ x1 (fma x1 x1 1)) (/ x1 (fma x1 x1 1))) (* 3 3)))) |
| 571.0ms | (fma (- (+ (/ x1 (fma x1 x1 1)) 3)) 1 (* (+ (/ x1 (fma x1 x1 1)) 3) 1)) |
| 566.0ms | (fma (- (+ (/ x1 (fma x1 x1 1)) 3)) 1 (* (+ (/ x1 (fma x1 x1 1)) 3) 1)) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 0.1b
0% (0.4b remaining)
Error of 0.5b against oracle of 0.1b and baseline of 0.5b