Details

Time bar (total: 24.5s)

sample155.0ms

Algorithm
intervals
Results
66.0ms93×body1280valid
40.0ms24×body2560valid
28.0ms62×body640valid
6.0ms23×body320valid
3.0ms39×body80valid
3.0ms15×body160valid

simplify4.0ms

Counts
1 → 1
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
067
197
2107
done107

prune2.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 36.1b

localize9.0ms

Local error

Found 2 expressions with local error:

1.9b
(tan (+ x eps))
2.4b
(- (tan (+ x eps)) (tan x))

rewrite13.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:
3.0ms
(tan (+ x eps))
9.0ms
(- (tan (+ x eps)) (tan x))

series147.0ms

Counts
2 → 6
Calls
2 calls:
54.0ms
(tan (+ x eps))
93.0ms
(- (tan (+ x eps)) (tan x))

simplify826.0ms

Counts
47 → 47
Iterations

Useful iterations: 3 (230.0ms)

IterNodesCost
094720
1190597
2473510
31649450
done5000450

prune121.0ms

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 14.8b

localize11.0ms

Local error

Found 4 expressions with local error:

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

rewrite80.0ms

Algorithm
rewrite-expression-head
Rules
102×*-un-lft-identity
73×add-sqr-sqrt
66×add-cube-cbrt
61×times-frac
54×prod-diff
18×fma-neg
17×distribute-lft-out
10×associate-/r/
tan-quot
add-exp-log add-cbrt-cube add-log-exp
pow1 flip3-- flip--
div-inv
expm1-log1p-u log1p-expm1-u associate-/l*
fma-def associate-*r* associate-*l* associate-/r* associate-/l/
flip3-+ frac-add flip-+ difference-of-squares
cbrt-undiv +-commutative frac-times sub-neg frac-2neg diff-log associate-*r/ div-exp pow-prod-down associate-*l/ prod-exp clear-num sum-log *-commutative frac-sub cbrt-unprod distribute-lft-out-- unswap-sqr
Counts
4 → 169
Calls
4 calls:
11.0ms
(/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps))))
3.0ms
(+ (tan x) (tan eps))
5.0ms
(* (tan x) (tan eps))
53.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))

series768.0ms

Counts
4 → 12
Calls
4 calls:
214.0ms
(/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps))))
93.0ms
(+ (tan x) (tan eps))
95.0ms
(* (tan x) (tan eps))
366.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))

simplify623.0ms

Counts
181 → 181
Iterations

Useful iterations: done (618.0ms)

IterNodesCost
02404762
15373970
215513555
done50003549

prune455.0ms

Pruning

20 alts after pruning (20 fresh and 0 done)

Merged error: 14.6b

localize21.0ms

Local error

Found 4 expressions with local error:

0.2b
(* (tan x) (tan eps))
0.2b
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
0.3b
(pow (* (tan x) (tan eps)) 3)
3.7b
(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)))

rewrite40.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:
5.0ms
(* (tan x) (tan eps))
23.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
4.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.2s

Counts
4 → 12
Calls
4 calls:
92.0ms
(* (tan x) (tan eps))
113.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
124.0ms
(pow (* (tan x) (tan eps)) 3)
881.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)))

simplify970.0ms

Counts
123 → 123
Iterations

Useful iterations: 2 (307.0ms)

IterNodesCost
02342288
16611831
232311614
done50001614

prune502.0ms

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 12.6b

localize66.0ms

Local error

Found 4 expressions with local error:

0.5b
(pow (* (cos x) (cos eps)) 3)
0.5b
(pow (* (cos x) (cos eps)) 3)
0.5b
(pow (* (cos x) (cos eps)) 3)
3.8b
(- (+ (+ (/ (/ (sin eps) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3)))) (cos eps)) (fma (/ (pow (sin x) 2) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3)))) (/ (pow (sin eps) 3) (* (pow (cos x) 2) (pow (cos eps) 3))) (/ (/ (sin x) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3)))) (cos x)))) (* (/ (pow (sin eps) 2) (* (pow (cos eps) 2) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3))))) (+ (/ (pow (sin x) 3) (pow (cos x) 3)) (/ (sin x) (cos x))))) (/ (sin x) (cos x)))

rewrite9.5s

Algorithm
rewrite-expression-head
Rules
47×add-sqr-sqrt
44×*-un-lft-identity
42×add-cube-cbrt
39×prod-diff
28×times-frac
18×frac-add
16×frac-sub
13×pow1 add-exp-log add-cbrt-cube add-log-exp
12×flip3-+ flip-+
pow-unpow
frac-times pow-pow associate-*r/ pow-exp rem-cube-cbrt
expm1-log1p-u log1p-expm1-u
cube-div cube-mult pow-to-exp unpow-prod-down fma-neg diff-log unpow3 cube-prod pow-prod-down prod-exp sum-log cos-mult cbrt-unprod div-inv sqr-pow
associate-*l/ difference-of-squares
sub-neg flip3-- associate--l+ flip-- distribute-lft-out--
Counts
4 → 153
Calls
4 calls:
3.0ms
(pow (* (cos x) (cos eps)) 3)
3.0ms
(pow (* (cos x) (cos eps)) 3)
3.0ms
(pow (* (cos x) (cos eps)) 3)
9.5s
(- (+ (+ (/ (/ (sin eps) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3)))) (cos eps)) (fma (/ (pow (sin x) 2) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3)))) (/ (pow (sin eps) 3) (* (pow (cos x) 2) (pow (cos eps) 3))) (/ (/ (sin x) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3)))) (cos x)))) (* (/ (pow (sin eps) 2) (* (pow (cos eps) 2) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3))))) (+ (/ (pow (sin x) 3) (pow (cos x) 3)) (/ (sin x) (cos x))))) (/ (sin x) (cos x)))

series1.6s

Counts
4 → 12
Calls
4 calls:
59.0ms
(pow (* (cos x) (cos eps)) 3)
63.0ms
(pow (* (cos x) (cos eps)) 3)
63.0ms
(pow (* (cos x) (cos eps)) 3)
1.4s
(- (+ (+ (/ (/ (sin eps) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3)))) (cos eps)) (fma (/ (pow (sin x) 2) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3)))) (/ (pow (sin eps) 3) (* (pow (cos x) 2) (pow (cos eps) 3))) (/ (/ (sin x) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3)))) (cos x)))) (* (/ (pow (sin eps) 2) (* (pow (cos eps) 2) (- 1 (/ (pow (* (sin x) (sin eps)) 3) (pow (* (cos x) (cos eps)) 3))))) (+ (/ (pow (sin x) 3) (pow (cos x) 3)) (/ (sin x) (cos x))))) (/ (sin x) (cos x)))

simplify453.0ms

Counts
165 → 165
Iterations

Useful iterations: done (438.0ms)

IterNodesCost
044029176
1133026846
done500226579

prune1.7s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 4.6b

regimes321.0ms

Accuracy

93.4% (1.0b remaining)

Error of 5.6b against oracle of 4.6b and baseline of 19.6b

bsearch201.0ms

Steps
ItersRangePoint
8
3.2660908088195926e-19
2.2877419438552398e-15
8.149943505323593e-19
9
-3.927952458448369e-14
-3.2217872713112076e-19
-2.4138681634064743e-17

simplify5.0ms

Iterations

Useful iterations: 1 (3.0ms)

IterNodesCost
050134
16290
done6290

end0.0ms

sample4.7s

Algorithm
intervals
Results
2.4s3267×body1280valid
1.1s649×body2560valid
751.0ms1830×body640valid
205.0ms786×body320valid
85.0ms1065×body80valid
72.0ms403×body160valid