Details

Time bar (total: 17.3s)

sample158.0ms

Algorithm
intervals
Results
70.0ms98×body1280valid
42.0ms25×body2560valid
25.0ms61×body640valid
5.0ms19×body320valid
3.0ms40×body80valid
2.0ms13×body160valid

simplify4.0ms

Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
197
2107
done107

prune2.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 36.6b

localize9.0ms

Local error

Found 2 expressions with local error:

1.2b
(- (tan (+ x eps)) (tan x))
2.5b
(tan (+ x eps))

rewrite32.0ms

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt *-un-lft-identity
add-cube-cbrt prod-diff
tan-quot add-log-exp
fma-neg
pow1 add-exp-log expm1-log1p-u tan-sum frac-sub add-cbrt-cube log1p-expm1-u
sub-neg flip3-- diff-log flip-- distribute-lft-out-- difference-of-squares
Counts
2 → 41
Calls
2 calls:
25.0ms
(- (tan (+ x eps)) (tan x))
6.0ms
(tan (+ x eps))

series151.0ms

Counts
2 → 6
Calls
2 calls:
97.0ms
(- (tan (+ x eps)) (tan x))
53.0ms
(tan (+ x eps))

simplify1.6s

Counts
47 → 47
Iterations

Useful iterations: done (1.6s)

IterNodesCost
094720
1194597
2457510
31461450
done5000438

prune119.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 16.8b

localize12.0ms

Local error

Found 4 expressions with local error:

0.1b
(+ (tan x) (tan eps))
0.1b
(- 1 (* (tan x) (tan eps)))
0.2b
(* (tan x) (tan eps))
2.0b
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))

rewrite134.0ms

Algorithm
rewrite-expression-head
Rules
87×*-un-lft-identity
66×add-sqr-sqrt
59×add-cube-cbrt
57×prod-diff
49×times-frac
21×fma-neg
13×distribute-lft-out
10×add-log-exp
associate-/r/
tan-quot
pow1 add-exp-log flip3-- add-cbrt-cube flip--
expm1-log1p-u log1p-expm1-u div-inv
fma-def associate-*r* associate-*l*
sub-neg diff-log difference-of-squares
+-commutative frac-times flip3-+ associate-*r/ pow-prod-down associate-*l/ frac-add prod-exp sum-log *-commutative frac-sub cbrt-unprod flip-+ distribute-lft-out-- unswap-sqr
Counts
4 → 151
Calls
4 calls:
8.0ms
(+ (tan x) (tan eps))
6.0ms
(- 1 (* (tan x) (tan eps)))
14.0ms
(* (tan x) (tan eps))
97.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))

series689.0ms

Counts
4 → 12
Calls
4 calls:
97.0ms
(+ (tan x) (tan eps))
113.0ms
(- 1 (* (tan x) (tan eps)))
99.0ms
(* (tan x) (tan eps))
380.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))

simplify1.1s

Counts
163 → 163
Iterations

Useful iterations: done (1.1s)

IterNodesCost
02404204
15433431
214243011
done50002549

prune373.0ms

Pruning

15 alts after pruning (15 fresh and 0 done)

Merged error: 16.7b

localize22.0ms

Local error

Found 4 expressions with local error:

0.2b
(* (tan x) (tan eps))
0.3b
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
0.3b
(pow (* (tan x) (tan eps)) 3)
2.1b
(fma (/ (+ (tan x) (tan eps)) (- (pow 1 3) (pow (* (tan x) (tan eps)) 3))) (+ (* 1 1) (+ (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) (* 1 (* (tan x) (tan eps))))) (- (tan x)))

rewrite99.0ms

Algorithm
rewrite-expression-head
Rules
48×pow1
40×tan-quot
21×add-exp-log add-cbrt-cube
19×frac-times pow-prod-down
13×associate-*r/ associate-*l/
10×prod-exp cbrt-unprod
add-sqr-sqrt
add-cube-cbrt *-un-lft-identity
expm1-log1p-u associate-*r* associate-*l* pow-sqr pow-prod-up log1p-expm1-u add-log-exp
cube-div pow-unpow
pow-pow pow-plus pow-exp *-commutative rem-cube-cbrt
pow2 cube-mult pow-to-exp unpow-prod-down unpow3 cube-prod swap-sqr fma-udef unswap-sqr sqr-pow
Counts
4 → 111
Calls
4 calls:
14.0ms
(* (tan x) (tan eps))
65.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
15.0ms
(pow (* (tan x) (tan eps)) 3)
0.0ms
(fma (/ (+ (tan x) (tan eps)) (- (pow 1 3) (pow (* (tan x) (tan eps)) 3))) (+ (* 1 1) (+ (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) (* 1 (* (tan x) (tan eps))))) (- (tan x)))

series1.3s

Counts
4 → 12
Calls
4 calls:
95.0ms
(* (tan x) (tan eps))
133.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
134.0ms
(pow (* (tan x) (tan eps)) 3)
954.0ms
(fma (/ (+ (tan x) (tan eps)) (- (pow 1 3) (pow (* (tan x) (tan eps)) 3))) (+ (* 1 1) (+ (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) (* 1 (* (tan x) (tan eps))))) (- (tan x)))

simplify1.5s

Counts
123 → 123
Iterations

Useful iterations: done (1.5s)

IterNodesCost
02342288
16581831
229631614
done50021583

prune469.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 14.4b

localize62.0ms

Local error

Found 4 expressions with local error:

0.3b
(pow (sin eps) 3)
0.3b
(pow (cos eps) 3)
0.4b
(pow (/ (sin x) (cos x)) 3)
2.2b
(- (fma (/ (pow (sin x) 2) (* (pow (cos x) 2) (pow (cos eps) 3))) (/ (pow (sin eps) 3) (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3))) (+ (fma (/ (/ (pow (sin eps) 2) (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3))) (pow (cos eps) 2)) (+ (pow (/ (sin x) (cos x)) 3) (/ (sin x) (cos x))) (/ (sin x) (* (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3)) (cos x)))) (/ (/ (sin eps) (cos eps)) (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3))))) (/ (sin x) (cos x)))

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
65×add-sqr-sqrt
62×*-un-lft-identity
60×add-cube-cbrt
46×times-frac
39×prod-diff
19×unpow-prod-down cube-prod
add-exp-log pow-unpow add-cbrt-cube
pow1
add-log-exp
div-inv
expm1-log1p-u pow-exp log1p-expm1-u rem-cube-cbrt
cube-mult pow-to-exp pow-pow fma-neg unpow3 sqr-pow
difference-of-squares
cbrt-undiv cube-div sub-neg flip3-- diff-log div-exp associate--l+ flip-- fma-udef distribute-lft-out--
Counts
4 → 158
Calls
4 calls:
4.0ms
(pow (sin eps) 3)
3.0ms
(pow (cos eps) 3)
8.0ms
(pow (/ (sin x) (cos x)) 3)
15.0ms
(- (fma (/ (pow (sin x) 2) (* (pow (cos x) 2) (pow (cos eps) 3))) (/ (pow (sin eps) 3) (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3))) (+ (fma (/ (/ (pow (sin eps) 2) (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3))) (pow (cos eps) 2)) (+ (pow (/ (sin x) (cos x)) 3) (/ (sin x) (cos x))) (/ (sin x) (* (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3)) (cos x)))) (/ (/ (sin eps) (cos eps)) (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3))))) (/ (sin x) (cos x)))

series1.4s

Counts
4 → 12
Calls
4 calls:
31.0ms
(pow (sin eps) 3)
34.0ms
(pow (cos eps) 3)
47.0ms
(pow (/ (sin x) (cos x)) 3)
1.3s
(- (fma (/ (pow (sin x) 2) (* (pow (cos x) 2) (pow (cos eps) 3))) (/ (pow (sin eps) 3) (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3))) (+ (fma (/ (/ (pow (sin eps) 2) (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3))) (pow (cos eps) 2)) (+ (pow (/ (sin x) (cos x)) 3) (/ (sin x) (cos x))) (/ (sin x) (* (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3)) (cos x)))) (/ (/ (sin eps) (cos eps)) (- 1 (pow (/ (* (sin x) (sin eps)) (* (cos eps) (cos x))) 3))))) (/ (sin x) (cos x)))

simplify1.7s

Counts
170 → 170
Iterations

Useful iterations: done (1.7s)

IterNodesCost
034315704
193715104
2376212238
done500012234

prune907.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 6.2b

regimes161.0ms

Accuracy

91% (1.4b remaining)

Error of 6.2b against oracle of 4.9b and baseline of 19.9b

bsearch227.0ms

Steps
ItersRangePoint
7
1.2981949479042878e-19
3.175736471147199e-18
2.8931674628438076e-18
8
-1.88440315805175e-81
-8.144700651050277e-85
-7.995413078877312e-83

simplify7.0ms

Iterations

Useful iterations: 1 (4.0ms)

IterNodesCost
070255
184251
done84251

end0.0ms

sample5.0s

Algorithm
intervals
Results
2.4s3278×body1280valid
1.2s678×body2560valid
803.0ms1842×body640valid
205.0ms744×body320valid
93.0ms1116×body80valid
63.0ms342×body160valid