



Bits error versus d1




Bits error versus d2




Bits error versus d3
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019007
(FPCore (d1 d2 d3)
:name "FastMath test3"
:herbie-target
(* d1 (+ (+ 3 d2) d3))
(+ (+ (* d1 3) (* d1 d2)) (* d1 d3)))
Time bar (total: 1.1m)Debug log
1 calls. Slowest were:
| 61.0ms | (+ (+ (* d1 3) (* d1 d2)) (* d1 d3)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.1b
Found 1 expressions with local error:
| 0.0b | (* d1 (+ d2 (+ 3 d3))) |
1 calls. Slowest were:
| 2.0ms | (* d1 (+ d2 (+ 3 d3))) |
1 calls. Slowest were:
| 22.0ms | (* d1 (+ d2 (+ 3 d3))) |
10 calls. Slowest were:
| 174.0ms | (+ (* d2 d2) (- (* (+ 3 d3) (+ 3 d3)) (* d2 (+ 3 d3)))) |
| 48.0ms | (+ (* d2 d1) (+ (* d3 d1) (* 3 d1))) |
| 36.0ms | (+ (* d2 d1) (+ (* d3 d1) (* 3 d1))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.0b
Found 2 expressions with local error:
| 0.2b | (* (* d1 (sqrt (+ d2 (+ 3 d3)))) (sqrt (+ d2 (+ 3 d3)))) |
| 0.2b | (* d1 (sqrt (+ d2 (+ 3 d3)))) |
2 calls. Slowest were:
| 16.0ms | (* (* d1 (sqrt (+ d2 (+ 3 d3)))) (sqrt (+ d2 (+ 3 d3)))) |
| 2.0ms | (* d1 (sqrt (+ d2 (+ 3 d3)))) |
2 calls. Slowest were:
| 54.0ms | (* d1 (sqrt (+ d2 (+ 3 d3)))) |
| 19.0ms | (* (* d1 (sqrt (+ d2 (+ 3 d3)))) (sqrt (+ d2 (+ 3 d3)))) |
35 calls. Slowest were:
| 527.0ms | (* (* d1 (sqrt (- (* d2 d2) (* (+ 3 d3) (+ 3 d3))))) (sqrt (+ d2 (+ 3 d3)))) |
| 448.0ms | (* (* d1 (sqrt (+ (pow d2 3) (pow (+ 3 d3) 3)))) (sqrt (+ (pow d2 3) (pow (+ 3 d3) 3)))) |
| 287.0ms | (* (* d1 (sqrt (+ (pow d2 3) (pow (+ 3 d3) 3)))) (sqrt (+ d2 (+ 3 d3)))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.4b | (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3))))) |
| 0.2b | (* (* (* d1 (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) (cbrt (sqrt (+ d2 (+ 3 d3))))) (sqrt (+ d2 (+ 3 d3)))) |
| 0.2b | (* (* d1 (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) (cbrt (sqrt (+ d2 (+ 3 d3))))) |
| 0.2b | (* d1 (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) |
4 calls. Slowest were:
| 83.0ms | (* (* (* d1 (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) (cbrt (sqrt (+ d2 (+ 3 d3))))) (sqrt (+ d2 (+ 3 d3)))) |
| 42.0ms | (* (* d1 (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) (cbrt (sqrt (+ d2 (+ 3 d3))))) |
| 18.0ms | (* d1 (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) |
4 calls. Slowest were:
| 128.0ms | (* d1 (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) |
| 77.0ms | (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3))))) |
| 49.0ms | (* (* d1 (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) (cbrt (sqrt (+ d2 (+ 3 d3))))) |
| 20.0ms | (* (* (* d1 (* (cbrt (sqrt (+ d2 (+ 3 d3)))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) (cbrt (sqrt (+ d2 (+ 3 d3))))) (sqrt (+ d2 (+ 3 d3)))) |
258 calls. Slowest were:
| 592.0ms | (* (* (* (cbrt (sqrt (+ (* d2 d2) (- (* (+ 3 d3) (+ 3 d3)) (* d2 (+ 3 d3)))))) (cbrt (sqrt (- d2 (+ 3 d3))))) (cbrt (sqrt (+ (* d2 d2) (- (* (+ 3 d3) (+ 3 d3)) (* d2 (+ 3 d3))))))) (sqrt (- d2 (+ 3 d3)))) |
| 538.0ms | (* (* d1 (* (cbrt (sqrt (- (* d2 d2) (* (+ 3 d3) (+ 3 d3))))) (cbrt (sqrt (+ d2 (+ 3 d3)))))) (cbrt (sqrt (- (* d2 d2) (* (+ 3 d3) (+ 3 d3)))))) |
| 523.0ms | (* (* (* d1 (* (cbrt (sqrt (- (* d2 d2) (* (+ 3 d3) (+ 3 d3))))) (cbrt (sqrt (- (* d2 d2) (* (+ 3 d3) (+ 3 d3))))))) (cbrt (sqrt (+ (pow d2 3) (pow (+ 3 d3) 3))))) (sqrt (+ d2 (+ 3 d3)))) |
4 alts after pruning (1 fresh and 3 done)
Merged error: 0b
Found 4 expressions with local error:
| 15.2b | (/ (* d1 (- (* d2 d2) (* (+ 3 d3) (+ 3 d3)))) (- d2 (+ 3 d3))) |
| 9.7b | (* d1 (- (* d2 d2) (* (+ 3 d3) (+ 3 d3)))) |
| 3.3b | (- (* d2 d2) (* (+ 3 d3) (+ 3 d3))) |
| 0.0b | (* (+ 3 d3) (+ 3 d3)) |
4 calls. Slowest were:
| 7.0ms | (/ (* d1 (- (* d2 d2) (* (+ 3 d3) (+ 3 d3)))) (- d2 (+ 3 d3))) |
| 4.0ms | (* (+ 3 d3) (+ 3 d3)) |
| 4.0ms | (* d1 (- (* d2 d2) (* (+ 3 d3) (+ 3 d3)))) |
4 calls. Slowest were:
| 101.0ms | (/ (* d1 (- (* d2 d2) (* (+ 3 d3) (+ 3 d3)))) (- d2 (+ 3 d3))) |
| 78.0ms | (* d1 (- (* d2 d2) (* (+ 3 d3) (+ 3 d3)))) |
| 32.0ms | (- (* d2 d2) (* (+ 3 d3) (+ 3 d3))) |
| 10.0ms | (* (+ 3 d3) (+ 3 d3)) |
67 calls. Slowest were:
| 650.0ms | (* (+ (* 3 3) (- (* d3 d3) (* 3 d3))) (+ (* 3 3) (- (* d3 d3) (* 3 d3)))) |
| 458.0ms | (* (- (* 3 3) (* d3 d3)) (+ 3 d3)) |
| 418.0ms | (cbrt (- (* d2 d2) (* (+ 3 d3) (+ 3 d3)))) |
4 alts after pruning (0 fresh and 4 done)
Merged error: 0b
0% (0.0b remaining)
Error of 0.1b against oracle of 0.0b and baseline of 0.1b