


Bits error versus F



Bits error versus B



Bits error versus x
Initial program 13.3
Initial simplification13.2
rmApplied tan-quot13.2
Applied associate-/r/13.2
rmApplied div-inv13.3
Applied associate-*l*13.3
Final simplification13.3
herbie shell --seed 2018360 +o rules:numerics
(FPCore (F B x)
:name "VandenBroeck and Keller, Equation (23)"
(+ (- (* x (/ 1 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2) (* 2 x)) (- (/ 1 2))))))
Time bar (total: 22.3s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 11.8b
Found 4 expressions with local error:
| 14.7b | (pow (fma 2 x (fma F F 2)) -1/2) |
| 5.2b | (fma (pow (fma 2 x (fma F F 2)) -1/2) (/ F (sin B)) (/ (- x) (tan B))) |
| 0.2b | (/ (- x) (tan B)) |
| 0.1b | (/ F (sin B)) |
4 calls. Slowest were:
| 6.0ms | (/ (- x) (tan B)) |
| 4.0ms | (pow (fma 2 x (fma F F 2)) -1/2) |
| 1.0ms | (/ F (sin B)) |
4 calls. Slowest were:
| 256.0ms | (fma (pow (fma 2 x (fma F F 2)) -1/2) (/ F (sin B)) (/ (- x) (tan B))) |
| 214.0ms | (pow (fma 2 x (fma F F 2)) -1/2) |
| 166.0ms | (/ (- x) (tan B)) |
| 53.0ms | (/ F (sin B)) |
54 calls. Slowest were:
| 500.0ms | (/ (* (* (- x) (- x)) (- x)) (* (* (tan B) (tan B)) (tan B))) |
| 241.0ms | (- (/ (* F (exp (* -1/2 (- (log 2) (log (/ 1 x)))))) (sin B)) (+ (/ (* x (cos B)) (sin B)) (* 1/2 (/ (* F (exp (* -1/2 (- (log 2) (log (/ 1 x)))))) (* x (sin B)))))) |
| 238.0ms | (- (/ (* (exp (* -1/2 (- (log -2) (log (/ -1 x))))) F) (sin B)) (+ (/ (* x (cos B)) (sin B)) (* 1/2 (/ (* (exp (* -1/2 (- (log -2) (log (/ -1 x))))) F) (* x (sin B)))))) |
19 alts after pruning (19 fresh and 0 done)
Merged error: 11.3b
Found 4 expressions with local error:
| 14.7b | (pow (fma 2 x (fma F F 2)) -1/2) |
| 5.2b | (fma (pow (fma 2 x (fma F F 2)) -1/2) (/ 1 (/ (sin B) F)) (/ (- x) (tan B))) |
| 0.3b | (/ 1 (/ (sin B) F)) |
| 0.2b | (/ (- x) (tan B)) |
4 calls. Slowest were:
| 3.0ms | (/ (- x) (tan B)) |
| 1.0ms | (pow (fma 2 x (fma F F 2)) -1/2) |
| 1.0ms | (/ 1 (/ (sin B) F)) |
4 calls. Slowest were:
| 212.0ms | (fma (pow (fma 2 x (fma F F 2)) -1/2) (/ 1 (/ (sin B) F)) (/ (- x) (tan B))) |
| 205.0ms | (pow (fma 2 x (fma F F 2)) -1/2) |
| 129.0ms | (/ (- x) (tan B)) |
| 50.0ms | (/ 1 (/ (sin B) F)) |
56 calls. Slowest were:
| 573.0ms | (/ (* (* (- x) (- x)) (- x)) (* (* (tan B) (tan B)) (tan B))) |
| 294.0ms | (- (/ (* (exp (* -1/2 (- (log -2) (log (/ -1 x))))) F) (sin B)) (+ (/ (* x (cos B)) (sin B)) (* 1/2 (/ (* (exp (* -1/2 (- (log -2) (log (/ -1 x))))) F) (* x (sin B)))))) |
| 247.0ms | (- (/ (* F (sqrt 1/2)) B) (+ (/ x B) (/ (* x (* F (sqrt 1/8))) B))) |
18 alts after pruning (18 fresh and 0 done)
Merged error: 11.3b
Found 4 expressions with local error:
| 14.7b | (pow (fma 2 x (fma F F 2)) -1/2) |
| 5.2b | (fma (pow (fma 2 x (fma F F 2)) -1/2) (/ F (sin B)) (* (/ (- x) (sin B)) (cos B))) |
| 0.2b | (* (/ (- x) (sin B)) (cos B)) |
| 0.1b | (/ F (sin B)) |
4 calls. Slowest were:
| 12.0ms | (* (/ (- x) (sin B)) (cos B)) |
| 2.0ms | (pow (fma 2 x (fma F F 2)) -1/2) |
| 1.0ms | (/ F (sin B)) |
4 calls. Slowest were:
| 245.0ms | (fma (pow (fma 2 x (fma F F 2)) -1/2) (/ F (sin B)) (* (/ (- x) (sin B)) (cos B))) |
| 200.0ms | (pow (fma 2 x (fma F F 2)) -1/2) |
| 107.0ms | (* (/ (- x) (sin B)) (cos B)) |
| 85.0ms | (/ F (sin B)) |
45 calls. Slowest were:
| 329.0ms | (* (* (* (/ (- x) (sin B)) (/ (- x) (sin B))) (/ (- x) (sin B))) (* (* (cos B) (cos B)) (cos B))) |
| 279.0ms | (- (/ (* F (sqrt 1/2)) B) (+ (/ x B) (/ (* x (* F (sqrt 1/8))) B))) |
| 260.0ms | (- (/ (* F (exp (* -1/2 (- (log 2) (log (/ 1 x)))))) (sin B)) (+ (/ (* x (cos B)) (sin B)) (* 1/2 (/ (* F (exp (* -1/2 (- (log 2) (log (/ 1 x)))))) (* x (sin B)))))) |
21 alts after pruning (21 fresh and 0 done)
Merged error: 11.3b
Found 4 expressions with local error:
| 14.7b | (pow (fma 2 x (fma F F 2)) -1/2) |
| 5.2b | (fma (pow (fma 2 x (fma F F 2)) -1/2) (/ (/ 1 (sin B)) (/ 1 F)) (/ (- x) (tan B))) |
| 0.3b | (/ (/ 1 (sin B)) (/ 1 F)) |
| 0.2b | (/ (- x) (tan B)) |
4 calls. Slowest were:
| 4.0ms | (/ (/ 1 (sin B)) (/ 1 F)) |
| 3.0ms | (/ (- x) (tan B)) |
| 1.0ms | (pow (fma 2 x (fma F F 2)) -1/2) |
4 calls. Slowest were:
| 242.0ms | (fma (pow (fma 2 x (fma F F 2)) -1/2) (/ (/ 1 (sin B)) (/ 1 F)) (/ (- x) (tan B))) |
| 223.0ms | (pow (fma 2 x (fma F F 2)) -1/2) |
| 141.0ms | (/ (- x) (tan B)) |
| 72.0ms | (/ (/ 1 (sin B)) (/ 1 F)) |
92 calls. Slowest were:
| 484.0ms | (/ (* (* (/ 1 (sin B)) (/ 1 (sin B))) (/ 1 (sin B))) (* (* (/ 1 F) (/ 1 F)) (/ 1 F))) |
| 460.0ms | (/ (* (* (- x) (- x)) (- x)) (* (* (tan B) (tan B)) (tan B))) |
| 243.0ms | (- (+ (exp (* -1/2 (- (log -2) (log (/ -1 x))))) (* 3/8 (/ (exp (* -1/2 (- (log -2) (log (/ -1 x))))) (pow x 2)))) (* 1/2 (/ (exp (* -1/2 (- (log -2) (log (/ -1 x))))) x))) |
20 alts after pruning (20 fresh and 0 done)
Merged error: 11.3b
0% (0.6b remaining)
Error of 13.3b against oracle of 12.7b and baseline of 13.3b