Details

Time bar (total: 2.3m)

sample397.0ms

Algorithm
intervals
Results
207.0ms106×body1280valid
93.0ms61×body640valid
52.0ms17×body2560valid
21.0ms29×body320valid
7.0ms35×body80valid
5.0msbody160valid

simplify8.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
8.0ms
(- (tan (+ x eps)) (tan x))

prune5.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 38.5b

localize17.0ms

Local error

Found 2 expressions with local error:

4.2b
(tan (+ x eps))
1.0b
(- (tan (+ x eps)) (tan x))

rewrite38.0ms

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

series222.0ms

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

simplify3.0s

Counts
35 → 49
Calls
35 calls:
Slowest
650.0ms
(+ x (+ (* 1/3 (pow x 3)) eps))
282.0ms
(- (* (+ (tan x) (tan eps)) (cos x)) (* (- 1 (* (tan x) (tan eps))) (sin x)))
214.0ms
(+ (* x (pow eps 2)) (+ eps (* (pow x 2) eps)))
200.0ms
(fma (* (cbrt (tan (+ x eps))) (cbrt (tan (+ x eps)))) (cbrt (tan (+ x eps))) (- (* (cbrt (tan x)) (* (cbrt (tan x)) (cbrt (tan x))))))
180.0ms
(fma (sqrt (tan (+ x eps))) (sqrt (tan (+ x eps))) (- (* (cbrt (tan x)) (* (cbrt (tan x)) (cbrt (tan x))))))

prune580.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 13.6b

localize48.0ms

Local error

Found 4 expressions with local error:

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

rewrite188.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-cbrt-cube add-exp-log add-log-exp
pow1 flip3-- flip--
div-inv
expm1-log1p-u insert-posit16 log1p-expm1-u associate-/l*
associate-/r* fma-def associate-*r* associate-*l* associate-/l/
flip3-+ frac-add flip-+ difference-of-squares
frac-times cbrt-undiv +-commutative clear-num sum-log sub-neg frac-2neg diff-log div-exp pow-prod-down associate-*l/ prod-exp associate-*r/ *-commutative frac-sub cbrt-unprod distribute-lft-out-- unswap-sqr
Counts
4 → 173
Calls
4 calls:
Slowest
120.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))
29.0ms
(* (tan x) (tan eps))
22.0ms
(/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps))))
14.0ms
(+ (tan x) (tan eps))

series1.1s

Counts
4 → 12
Calls
4 calls:
Slowest
525.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))
302.0ms
(/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps))))
146.0ms
(* (tan x) (tan eps))
115.0ms
(+ (tan x) (tan eps))

simplify25.2s

Counts
201 → 185
Calls
201 calls:
Slowest
772.0ms
(fma (/ (+ (tan x) (tan eps)) (- (* 1 1) (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (+ 1 (* (tan x) (tan eps))) (- (* (tan x) 1)))
572.0ms
(+ x (+ (* 1/3 (pow x 3)) eps))
561.0ms
(+ x (+ (* 1/3 (pow x 3)) eps))
543.0ms
(fma (/ (* (cbrt (+ (tan x) (tan eps))) (cbrt (+ (tan x) (tan eps)))) (sqrt (- 1 (* (tan x) (tan eps))))) (/ (cbrt (+ (tan x) (tan eps))) (sqrt (- 1 (* (tan x) (tan eps))))) (- (* (cbrt (tan x)) (* (cbrt (tan x)) (cbrt (tan x))))))
519.0ms
(fma (/ (sqrt (+ (tan x) (tan eps))) 1) (/ (sqrt (+ (tan x) (tan eps))) (- 1 (* (tan x) (tan eps)))) (- (* (cbrt (tan x)) (* (cbrt (tan x)) (cbrt (tan x))))))

prune2.0s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 11.7b

localize48.0ms

Local error

Found 4 expressions with local error:

3.0b
(- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x))
0.3b
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
0.3b
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
0.2b
(fma (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (* (tan x) (tan eps)) (- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x)))

rewrite244.0ms

Algorithm
rewrite-expression-head
Rules
128×*-un-lft-identity
91×add-sqr-sqrt
82×pow1
81×times-frac
78×prod-diff
70×add-cube-cbrt
65×tan-quot
34×frac-times pow-prod-down difference-of-squares
28×add-cbrt-cube add-exp-log
26×fma-neg
22×associate-*l/ associate-*r/
20×distribute-lft-out
16×prod-exp cbrt-unprod
associate-/r/ pow-sqr pow-prod-up
add-log-exp
flip3-- flip--
expm1-log1p-u pow-plus insert-posit16 log1p-expm1-u div-inv
pow2 swap-sqr associate-*r* associate-*l* *-commutative
sub-neg diff-log frac-sub fma-udef distribute-lft-out--
Counts
4 → 238
Calls
4 calls:
Slowest
94.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
74.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
72.0ms
(- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x))
0.0ms
(fma (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (* (tan x) (tan eps)) (- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x)))

series2.3s

Counts
4 → 12
Calls
4 calls:
Slowest
1.2s
(fma (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (* (tan x) (tan eps)) (- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x)))
736.0ms
(- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x))
179.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))
175.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))

simplify45.9s

Counts
317 → 250
Calls
317 calls:
Slowest
927.0ms
(* (* (* (* (tan x) (tan x)) (tan x)) (* (* (tan eps) (tan eps)) (tan eps))) (* (* (* (tan x) (tan x)) (tan x)) (* (* (tan eps) (tan eps)) (tan eps))))
897.0ms
(- (+ (/ (sin x) (* (cos x) (- 1 (/ (* (pow (sin x) 2) (pow (sin eps) 2)) (* (pow (cos x) 2) (pow (cos eps) 2)))))) (+ (/ (* (sin x) (pow (sin eps) 2)) (* (cos x) (* (pow (cos eps) 2) (- 1 (/ (* (pow (sin x) 2) (pow (sin eps) 2)) (* (pow (cos x) 2) (pow (cos eps) 2))))))) (+ (/ (* (pow (sin x) 2) (sin eps)) (* (pow (cos x) 2) (* (cos eps) (- 1 (/ (* (pow (sin x) 2) (pow (sin eps) 2)) (* (pow (cos x) 2) (pow (cos eps) 2))))))) (/ (sin eps) (* (cos eps) (- 1 (/ (* (pow (sin x) 2) (pow (sin eps) 2)) (* (pow (cos x) 2) (pow (cos eps) 2))))))))) (/ (sin x) (cos x)))
864.0ms
(* (* (* (* (tan x) (tan x)) (tan x)) (* (* (tan eps) (tan eps)) (tan eps))) (* (* (* (tan x) (tan x)) (tan x)) (* (* (tan eps) (tan eps)) (tan eps))))
843.0ms
(- (+ (/ (sin x) (* (cos x) (- 1 (/ (* (pow (sin x) 2) (pow (sin eps) 2)) (* (pow (cos x) 2) (pow (cos eps) 2)))))) (+ (/ (* (sin x) (pow (sin eps) 2)) (* (cos x) (* (pow (cos eps) 2) (- 1 (/ (* (pow (sin x) 2) (pow (sin eps) 2)) (* (pow (cos x) 2) (pow (cos eps) 2))))))) (+ (/ (* (pow (sin x) 2) (sin eps)) (* (pow (cos x) 2) (* (cos eps) (- 1 (/ (* (pow (sin x) 2) (pow (sin eps) 2)) (* (pow (cos x) 2) (pow (cos eps) 2))))))) (/ (sin eps) (* (cos eps) (- 1 (/ (* (pow (sin x) 2) (pow (sin eps) 2)) (* (pow (cos x) 2) (pow (cos eps) 2))))))))) (/ (sin x) (cos x)))
792.0ms
(* (* (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) (* (tan x) (tan eps))) (* (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) (* (tan x) (tan eps))))

prune3.7s

Pruning

12 alts after pruning (12 fresh and 0 done)

Merged error: 0.2b

localize68.0ms

Local error

Found 4 expressions with local error:

26.6b
(log (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))
3.0b
(- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x))
1.7b
(exp (log (* (* (tan x) (tan eps)) (* (tan x) (tan eps)))))
0.3b
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))

rewrite488.0ms

Algorithm
rewrite-expression-head
Rules
129×*-un-lft-identity
123×pow1
97×tan-quot
92×add-sqr-sqrt
81×times-frac
78×prod-diff
71×add-cube-cbrt
51×frac-times pow-prod-down
34×difference-of-squares
33×associate-*l/ associate-*r/
32×log-pow
30×log-div
29×add-exp-log
26×fma-neg
20×distribute-lft-out
19×exp-prod
16×add-cbrt-cube prod-exp
15×exp-diff
12×pow-sqr pow-prod-up
associate-/r/ cbrt-unprod
pow-plus add-log-exp
flip3-- rem-log-exp flip--
expm1-log1p-u insert-posit16 log1p-expm1-u div-inv
pow2
log-prod
sub-neg diff-log swap-sqr associate-*r* associate-*l* exp-sum *-commutative frac-sub distribute-lft-out-- rem-exp-log
Counts
4 → 268
Calls
4 calls:
Slowest
193.0ms
(exp (log (* (* (tan x) (tan eps)) (* (tan x) (tan eps)))))
119.0ms
(log (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))
95.0ms
(- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x))
74.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))

series1.2s

Counts
4 → 12
Calls
4 calls:
Slowest
667.0ms
(- (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))) (tan x))
195.0ms
(log (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))
183.0ms
(exp (log (* (* (tan x) (tan eps)) (* (tan x) (tan eps)))))
140.0ms
(* (* (tan x) (tan eps)) (* (tan x) (tan eps)))

simplify34.6s

Counts
326 → 280
Calls
326 calls:
Slowest
589.0ms
(* (* (* (* (tan x) (tan x)) (tan x)) (* (* (tan eps) (tan eps)) (tan eps))) (* (* (* (tan x) (tan x)) (tan x)) (* (* (tan eps) (tan eps)) (tan eps))))
527.0ms
(log (* (* (tan x) (tan eps)) (* (sin x) (tan eps))))
513.0ms
(fma (/ (+ (tan eps) (tan x)) (- (pow 1 3) (pow (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) 3))) (+ (* 1 1) (+ (* (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) (* (* (tan x) (tan eps)) (* (tan x) (tan eps)))) (* 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps)))))) (- (* (tan x) 1)))
494.0ms
(* (* (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) (* (tan x) (tan eps))) (* (* (* (tan x) (tan eps)) (* (tan x) (tan eps))) (* (tan x) (tan eps))))
459.0ms
(fma (* (cbrt (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps)))))) (cbrt (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps))))))) (cbrt (/ (+ (tan eps) (tan x)) (- 1 (* (* (tan x) (tan eps)) (* (tan x) (tan eps)))))) (- (* (sqrt (tan x)) (sqrt (tan x)))))

prune3.0s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 0.2b

regimes175.0ms

Accuracy

99.2% (0.2b remaining)

Error of 0.4b against oracle of 0.2b and baseline of 19.4b

bsearch292.0ms

end0.0ms

sample10.5s

Algorithm
intervals
Results
5.3s3294×body1280valid
2.5s1864×body640valid
1.6s618×body2560valid
568.0ms797×body320valid
185.0ms1091×body80valid
119.0ms336×body160valid