Details

Time bar (total: 9.2s)

sample78.0ms

Algorithm
intervals
Results
38.0ms103×body1280valid
14.0ms17×body2560valid
11.0ms57×body640valid
5.0ms37×body320valid
1.0ms32×body80valid
1.0ms10×body160valid

simplify5.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
094
1104
2104

prune2.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 39.6b

localize8.0ms

Local error

Found 2 expressions with local error:

1.8b
(- (tan (+ x eps)) (tan x))
3.3b
(tan (+ x eps))

rewrite11.0ms

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

series143.0ms

Counts
2 → 6
Calls
2 calls:
90.0ms
(- (tan (+ x eps)) (tan x))
52.0ms
(tan (+ x eps))

simplify81.0ms

Algorithm
egg-herbie
Counts
31 → 31
Iterations

Useful iterations: 3 (24.0ms)

IterNodesCost
0134211
1295202
2757200
32482199
45001199

prune89.0ms

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 14.3b

localize12.0ms

Local error

Found 4 expressions with local error:

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

rewrite26.0ms

Algorithm
rewrite-expression-head
Rules
13×add-sqr-sqrt
10×*-un-lft-identity add-log-exp
tan-quot
pow1 add-exp-log add-cube-cbrt add-cbrt-cube
associate-*r* associate-*l*
sub-neg flip3-- diff-log flip-- difference-of-squares
+-commutative frac-times flip3-+ times-frac associate-*r/ pow-prod-down associate-*l/ frac-add prod-exp sum-log *-commutative frac-sub cbrt-unprod flip-+ distribute-lft-out distribute-lft-out-- unswap-sqr
Counts
4 → 62
Calls
4 calls:
3.0ms
(- 1 (* (tan x) (tan eps)))
4.0ms
(+ (tan x) (tan eps))
5.0ms
(* (tan x) (tan eps))
12.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))

series669.0ms

Counts
4 → 12
Calls
4 calls:
109.0ms
(- 1 (* (tan x) (tan eps)))
96.0ms
(+ (tan x) (tan eps))
96.0ms
(* (tan x) (tan eps))
368.0ms
(- (/ (+ (tan x) (tan eps)) (- 1 (* (tan x) (tan eps)))) (tan x))

simplify123.0ms

Algorithm
egg-herbie
Counts
74 → 74
Iterations

Useful iterations: 2 (33.0ms)

IterNodesCost
0343662
11170624
24756614
35001614

prune228.0ms

Pruning

16 alts after pruning (16 fresh and 0 done)

Merged error: 14.2b

localize18.0ms

Local error

Found 4 expressions with local error:

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

rewrite82.0ms

Algorithm
rewrite-expression-head
Rules
22×add-sqr-sqrt
13×tan-quot
11×pow1 add-exp-log *-un-lft-identity add-cbrt-cube
add-cube-cbrt
associate-*r* associate-*l* add-log-exp
cube-div frac-times pow-unpow times-frac associate-*r/ pow-prod-down associate-*l/ prod-exp cbrt-unprod difference-of-squares
pow-pow pow-exp *-commutative rem-cube-cbrt unswap-sqr
cube-mult pow-to-exp sub-neg unpow-prod-down flip3-- diff-log unpow3 cube-prod frac-sub flip-- distribute-lft-out-- sqr-pow
Counts
4 → 84
Calls
4 calls:
5.0ms
(* (tan x) (tan eps))
5.0ms
(* (tan x) (tan eps))
6.0ms
(pow (* (tan x) (tan eps)) 3)
63.0ms
(- (/ (+ (tan x) (tan eps)) (/ (- 1 (pow (* (tan x) (tan eps)) 3)) (+ (* (* (tan x) (tan eps)) (+ (* (tan x) (tan eps)) 1)) 1))) (tan x))

series1.9s

Counts
4 → 12
Calls
4 calls:
96.0ms
(* (tan x) (tan eps))
96.0ms
(* (tan x) (tan eps))
130.0ms
(pow (* (tan x) (tan eps)) 3)
1.6s
(- (/ (+ (tan x) (tan eps)) (/ (- 1 (pow (* (tan x) (tan eps)) 3)) (+ (* (* (tan x) (tan eps)) (+ (* (tan x) (tan eps)) 1)) 1))) (tan x))

simplify77.0ms

Algorithm
egg-herbie
Counts
96 → 96
Iterations

Useful iterations: 1 (15.0ms)

IterNodesCost
05401247
127471149
250011149

prune374.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 0.3b

localize69.0ms

Local error

Found 4 expressions with local error:

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

rewrite46.0ms

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt *-un-lft-identity frac-add
13×add-cube-cbrt add-log-exp
11×frac-sub
unpow-prod-down pow-unpow cube-prod
pow1 add-exp-log add-cbrt-cube
flip3-+ flip-+
cube-mult frac-times pow-to-exp pow-pow diff-log unpow3 associate-*r/ pow-exp sum-log rem-cube-cbrt sqr-pow
distribute-lft-out-- difference-of-squares
sub-neg flip3-- times-frac associate-*l/ associate--l+ flip-- distribute-lft-out
Counts
4 → 99
Calls
4 calls:
3.0ms
(pow (cos eps) 3)
3.0ms
(pow (cos eps) 3)
3.0ms
(pow (cos eps) 3)
35.0ms
(- (+ (+ (/ (* (pow (sin x) 2) (pow (sin eps) 3)) (* (pow (cos x) 2) (* (- 1 (/ (* (pow (sin x) 3) (pow (sin eps) 3)) (* (pow (cos x) 3) (pow (cos eps) 3)))) (pow (cos eps) 3)))) (* (/ (pow (sin eps) 2) (* (- 1 (/ (* (pow (sin x) 3) (pow (sin eps) 3)) (* (pow (cos x) 3) (pow (cos eps) 3)))) (pow (cos eps) 2))) (+ (/ (sin x) (cos x)) (/ (pow (sin x) 3) (pow (cos x) 3))))) (/ (sin x) (* (- 1 (/ (* (pow (sin x) 3) (pow (sin eps) 3)) (* (pow (cos x) 3) (pow (cos eps) 3)))) (cos x)))) (/ (sin x) (cos x)))

series1.4s

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

simplify76.0ms

Algorithm
egg-herbie
Counts
111 → 111
Iterations

Useful iterations: 1 (27.0ms)

IterNodesCost
010105756
150025532

prune885.0ms

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 0.2b

regimes310.0ms

Accuracy

0% (0.3b remaining)

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

bsearch0.0ms

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063113
167113
267113

end0.0ms

sample2.5s

Algorithm
intervals
Results
1.2s3316×body1280valid
529.0ms623×body2560valid
377.0ms1858×body640valid
106.0ms777×body320valid
42.0ms1076×body80valid
31.0ms350×body160valid