


Bits error versus x
Initial program 0.3
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied associate-/l*0.4
Final simplification0.4
herbie shell --seed 2019008 +o rules:numerics
(FPCore (x)
:name "Trigonometry B"
(/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))))
Time bar (total: 23.7s)Debug log
1 calls. Slowest were:
| 59.0ms | (/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 0.2b | (* (tan x) (tan x)) |
| 0.2b | (/ (- 1 (* (tan x) (tan x))) (fma (tan x) (tan x) 1)) |
| 0.1b | (- 1 (* (tan x) (tan x))) |
| 0.1b | (fma (tan x) (tan x) 1) |
4 calls. Slowest were:
| 6.0ms | (* (tan x) (tan x)) |
| 4.0ms | (/ (- 1 (* (tan x) (tan x))) (fma (tan x) (tan x) 1)) |
| 1.0ms | (- 1 (* (tan x) (tan x))) |
4 calls. Slowest were:
| 121.0ms | (/ (- 1 (* (tan x) (tan x))) (fma (tan x) (tan x) 1)) |
| 53.0ms | (* (tan x) (tan x)) |
| 41.0ms | (- 1 (* (tan x) (tan x))) |
| 39.0ms | (fma (tan x) (tan x) 1) |
55 calls. Slowest were:
| 251.0ms | (/ (* (* (- 1 (* (tan x) (tan x))) (- 1 (* (tan x) (tan x)))) (- 1 (* (tan x) (tan x)))) (* (* (fma (tan x) (tan x) 1) (fma (tan x) (tan x) 1)) (fma (tan x) (tan x) 1))) |
| 222.0ms | (/ (- 1 (/ (pow (sin x) 2) (pow (cos x) 2))) (+ (/ (pow (sin x) 2) (pow (cos x) 2)) 1)) |
| 195.0ms | (/ (- 1 (/ (pow (sin x) 2) (pow (cos x) 2))) (+ (/ (pow (sin x) 2) (pow (cos x) 2)) 1)) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (* (tan x) (tan x)) |
| 0.2b | (/ 1 (/ (fma (tan x) (tan x) 1) (- 1 (* (tan x) (tan x))))) |
| 0.1b | (- 1 (* (tan x) (tan x))) |
| 0.1b | (/ (fma (tan x) (tan x) 1) (- 1 (* (tan x) (tan x)))) |
4 calls. Slowest were:
| 8.0ms | (* (tan x) (tan x)) |
| 8.0ms | (/ (fma (tan x) (tan x) 1) (- 1 (* (tan x) (tan x)))) |
| 4.0ms | (/ 1 (/ (fma (tan x) (tan x) 1) (- 1 (* (tan x) (tan x))))) |
4 calls. Slowest were:
| 121.0ms | (/ (fma (tan x) (tan x) 1) (- 1 (* (tan x) (tan x)))) |
| 93.0ms | (/ 1 (/ (fma (tan x) (tan x) 1) (- 1 (* (tan x) (tan x))))) |
| 46.0ms | (* (tan x) (tan x)) |
| 26.0ms | (- 1 (* (tan x) (tan x))) |
71 calls. Slowest were:
| 249.0ms | (/ (- 1 (/ (pow (sin x) 2) (pow (cos x) 2))) (+ (/ (pow (sin x) 2) (pow (cos x) 2)) 1)) |
| 245.0ms | (/ (* (* (fma (tan x) (tan x) 1) (fma (tan x) (tan x) 1)) (fma (tan x) (tan x) 1)) (* (* (- 1 (* (tan x) (tan x))) (- 1 (* (tan x) (tan x)))) (- 1 (* (tan x) (tan x))))) |
| 218.0ms | (/ (- 1 (/ (pow (sin x) 2) (pow (cos x) 2))) (+ (/ (pow (sin x) 2) (pow (cos x) 2)) 1)) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (/ (* (tan x) (sin x)) (cos x)) |
| 0.2b | (* (tan x) (sin x)) |
| 0.2b | (/ (- 1 (/ (* (tan x) (sin x)) (cos x))) (fma (tan x) (tan x) 1)) |
| 0.1b | (- 1 (/ (* (tan x) (sin x)) (cos x))) |
4 calls. Slowest were:
| 12.0ms | (/ (* (tan x) (sin x)) (cos x)) |
| 12.0ms | (/ (- 1 (/ (* (tan x) (sin x)) (cos x))) (fma (tan x) (tan x) 1)) |
| 8.0ms | (* (tan x) (sin x)) |
4 calls. Slowest were:
| 122.0ms | (/ (- 1 (/ (* (tan x) (sin x)) (cos x))) (fma (tan x) (tan x) 1)) |
| 64.0ms | (/ (* (tan x) (sin x)) (cos x)) |
| 44.0ms | (* (tan x) (sin x)) |
| 42.0ms | (- 1 (/ (* (tan x) (sin x)) (cos x))) |
64 calls. Slowest were:
| 539.0ms | (/ (* (* (* (tan x) (sin x)) (* (tan x) (sin x))) (* (tan x) (sin x))) (* (* (cos x) (cos x)) (cos x))) |
| 429.0ms | (/ (* (* (* (tan x) (tan x)) (tan x)) (* (* (sin x) (sin x)) (sin x))) (* (* (cos x) (cos x)) (cos x))) |
| 346.0ms | (/ (- 1 (/ (* (tan x) (sin x)) (cos x))) (fma (tan x) (tan x) 1)) |
14 alts after pruning (13 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (/ (* (tan x) (sin x)) (cos x)) |
| 0.2b | (* (tan x) (sin x)) |
| 0.2b | (/ (+ 1 (- (/ (* (tan x) (sin x)) (cos x)))) (fma (tan x) (tan x) 1)) |
| 0.1b | (+ 1 (- (/ (* (tan x) (sin x)) (cos x)))) |
4 calls. Slowest were:
| 15.0ms | (/ (* (tan x) (sin x)) (cos x)) |
| 14.0ms | (/ (+ 1 (- (/ (* (tan x) (sin x)) (cos x)))) (fma (tan x) (tan x) 1)) |
| 8.0ms | (* (tan x) (sin x)) |
4 calls. Slowest were:
| 126.0ms | (/ (+ 1 (- (/ (* (tan x) (sin x)) (cos x)))) (fma (tan x) (tan x) 1)) |
| 74.0ms | (/ (* (tan x) (sin x)) (cos x)) |
| 69.0ms | (* (tan x) (sin x)) |
| 67.0ms | (+ 1 (- (/ (* (tan x) (sin x)) (cos x)))) |
69 calls. Slowest were:
| 538.0ms | (/ (* (* (* (tan x) (tan x)) (tan x)) (* (* (sin x) (sin x)) (sin x))) (* (* (cos x) (cos x)) (cos x))) |
| 525.0ms | (/ (* (* (* (tan x) (sin x)) (* (tan x) (sin x))) (* (tan x) (sin x))) (* (* (cos x) (cos x)) (cos x))) |
| 224.0ms | (/ (- 1 (/ (pow (sin x) 2) (pow (cos x) 2))) (+ (/ (pow (sin x) 2) (pow (cos x) 2)) 1)) |
14 alts after pruning (12 fresh and 2 done)
Merged error: 0.0b
0% (0.3b remaining)
Error of 0.4b against oracle of 0.1b and baseline of 0.4b