


Bits error versus x
Results
Initial program 0.3
rmApplied flip-+0.4
Applied associate-/r/0.4
rmApplied flip3--0.4
Applied associate-*r/0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019005
(FPCore (x)
:name "Trigonometry B"
(/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))))
Time bar (total: 1.2m)Debug log
1 calls. Slowest were:
| 55.0ms | (/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 0.2b | (* (tan x) (tan x)) |
| 0.2b | (* (tan x) (tan x)) |
| 0.2b | (- 1 (* (tan x) (tan x))) |
| 0.1b | (/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))) |
4 calls. Slowest were:
| 6.0ms | (* (tan x) (tan x)) |
| 5.0ms | (* (tan x) (tan x)) |
| 4.0ms | (/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))) |
4 calls. Slowest were:
| 61.0ms | (/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))) |
| 53.0ms | (* (tan x) (tan x)) |
| 28.0ms | (* (tan x) (tan x)) |
| 24.0ms | (- 1 (* (tan x) (tan x))) |
72 calls. Slowest were:
| 314.0ms | (/ (* (* (- 1 (* (tan x) (tan x))) (- 1 (* (tan x) (tan x)))) (- 1 (* (tan x) (tan x)))) (* (* (+ 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))) (+ 1 (* (tan x) (tan x))))) |
| 243.0ms | (/ (- 1 (/ (pow (sin x) 2) (pow (cos x) 2))) (+ (/ (pow (sin x) 2) (pow (cos x) 2)) 1)) |
| 232.0ms | (+ (* 1 1) (- (* (* (tan x) (tan x)) (* (tan x) (tan x))) (* 1 (* (tan x) (tan x))))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (pow (cos x) 2) |
| 0.2b | (pow (cos x) 2) |
| 0.2b | (pow (sin x) 2) |
| 0.2b | (pow (sin x) 2) |
4 calls. Slowest were:
| 3.0ms | (pow (cos x) 2) |
| 2.0ms | (pow (cos x) 2) |
| 2.0ms | (pow (sin x) 2) |
4 calls. Slowest were:
| 25.0ms | (pow (sin x) 2) |
| 25.0ms | (pow (sin x) 2) |
| 19.0ms | (pow (cos x) 2) |
| 19.0ms | (pow (cos x) 2) |
32 calls. Slowest were:
| 58.0ms | (- (+ (pow x 2) (* 2/45 (pow x 6))) (* 1/3 (pow x 4))) |
| 35.0ms | (- (+ (* 1/3 (pow x 4)) 1) (pow x 2)) |
| 27.0ms | (- (+ (pow x 2) (* 2/45 (pow x 6))) (* 1/3 (pow x 4))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.3b | (* (* (tan x) (tan x)) (* (tan x) (tan x))) |
| 0.2b | (* (/ (- 1 (* (tan x) (tan x))) (- (* 1 1) (* (* (tan x) (tan x)) (* (tan x) (tan x))))) (- 1 (* (tan x) (tan x)))) |
| 0.2b | (* (tan x) (tan x)) |
| 0.2b | (* (tan x) (tan x)) |
4 calls. Slowest were:
| 32.0ms | (* (* (tan x) (tan x)) (* (tan x) (tan x))) |
| 9.0ms | (* (/ (- 1 (* (tan x) (tan x))) (- (* 1 1) (* (* (tan x) (tan x)) (* (tan x) (tan x))))) (- 1 (* (tan x) (tan x)))) |
| 6.0ms | (* (tan x) (tan x)) |
4 calls. Slowest were:
| 112.0ms | (* (/ (- 1 (* (tan x) (tan x))) (- (* 1 1) (* (* (tan x) (tan x)) (* (tan x) (tan x))))) (- 1 (* (tan x) (tan x)))) |
| 44.0ms | (* (* (tan x) (tan x)) (* (tan x) (tan x))) |
| 26.0ms | (* (tan x) (tan x)) |
| 26.0ms | (* (tan x) (tan x)) |
153 calls. Slowest were:
| 431.0ms | (* (- (* 1 1) (* (* (tan x) (tan x)) (* (tan x) (tan x)))) (+ (* 1 1) (+ (* (* (tan x) (tan x)) (* (tan x) (tan x))) (* 1 (* (tan x) (tan x)))))) |
| 408.0ms | (* (/ (- 1 (* (tan x) (tan x))) (- (* 1 1) (* (* (tan x) (tan x)) (* (tan x) (tan x))))) (- 1 (* (tan x) (tan x)))) |
| 365.0ms | (* (- 1 (* (tan x) (tan x))) (- (pow 1 3) (pow (* (tan x) (tan x)) 3))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.2b | (* (/ 1 (+ 1 (* (tan x) (tan x)))) (* (/ (- 1 (* (tan x) (tan x))) (- 1 (* (tan x) (tan x)))) (- 1 (* (tan x) (tan x))))) |
| 0.2b | (* (tan x) (tan x)) |
| 0.2b | (* (tan x) (tan x)) |
| 0.2b | (* (tan x) (tan x)) |
4 calls. Slowest were:
| 16.0ms | (* (/ 1 (+ 1 (* (tan x) (tan x)))) (* (/ (- 1 (* (tan x) (tan x))) (- 1 (* (tan x) (tan x)))) (- 1 (* (tan x) (tan x))))) |
| 4.0ms | (* (tan x) (tan x)) |
| 4.0ms | (* (tan x) (tan x)) |
4 calls. Slowest were:
| 77.0ms | (* (/ 1 (+ 1 (* (tan x) (tan x)))) (* (/ (- 1 (* (tan x) (tan x))) (- 1 (* (tan x) (tan x)))) (- 1 (* (tan x) (tan x))))) |
| 46.0ms | (* (tan x) (tan x)) |
| 45.0ms | (* (tan x) (tan x)) |
| 29.0ms | (* (tan x) (tan x)) |
97 calls. Slowest were:
| 39.9s | (* 1 (* (/ (- 1 (* (tan x) (tan x))) (- 1 (* (tan x) (tan x)))) (- 1 (* (tan x) (tan x))))) |
| 1.2s | (* (/ 1 (+ 1 (* (tan x) (tan x)))) (* (/ (- 1 (* (tan x) (tan x))) (- 1 (* (tan x) (tan x)))) (- (* (tan x) (tan x))))) |
| 1.0s | (* (* (- (* (tan x) (tan x))) (/ (- 1 (* (tan x) (tan x))) (- 1 (* (tan x) (tan x))))) (/ 1 (+ 1 (* (tan x) (tan x))))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 0.0b
0% (0.4b remaining)
Error of 0.5b against oracle of 0.1b and baseline of 0.5b