Details

Time bar (total: 32.4s)

analyze2.1s (6.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
25%74.9%0.1%6
31.2%68.7%0.1%7
34.3%65.6%0.1%8
37.5%59.3%3.2%9
42.9%53.5%3.6%10
44.5%50%5.6%11
47.8%45.8%6.4%12
48.7%43.7%7.6%13
50.5%41.3%8.2%14
Compiler

Compiled 128 to 81 computations (36.7% saved)

sample142.0ms (0.4%)

Algorithm
intervals
Results
48.0ms221×body128valid
36.0ms166×body128invalid
15.0ms12×body1024valid
7.0ms10×body512valid
6.0ms13×body256valid
Compiler

Compiled 255 to 163 computations (36.1% saved)

simplify147.0ms (0.5%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (46.0ms)

IterNodesCost
05174157

prune23.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.5b
Counts
2 → 2
Compiler

Compiled 337 to 210 computations (37.7% saved)

localize51.0ms (0.2%)

Local error

Found 8 expressions with local error:

0.0b
(-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6)
0.0b
(+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6))) (+.f64 (*.f64 x1 x1) 1)) (*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 x1 x1) x1)) x1)
0.0b
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6))) (+.f64 (*.f64 x1 x1) 1)) (*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))))
0.0b
(-.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2))
2.8b
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
3.3b
(+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6)))
5.0b
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
5.1b
(*.f64 (*.f64 x1 x1) (-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6))

rewrite151.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
33×add-sqr-sqrt_binary64
30×add-exp-log_binary64 add-cbrt-cube_binary64
29×*-un-lft-identity_binary64
24×associate-*r*_binary64
23×associate-*r/_binary64
21×add-cube-cbrt_binary64 cancel-sign-sub-inv_binary64
18×pow1_binary64
16×times-frac_binary64
15×cbrt-unprod_binary64 prod-exp_binary64
12×distribute-lft-in_binary64 distribute-rgt-in_binary64
11×flip3--_binary64 flip--_binary64
10×frac-add_binary64
pow-prod-down_binary64
add-log-exp_binary64 associate-+l+_binary64 associate-+r+_binary64
sub-neg_binary64
difference-of-squares_binary64
distribute-lft-out--_binary64 frac-times_binary64
cbrt-undiv_binary64 div-exp_binary64
flip3-+_binary64 associate-/r/_binary64 associate-*l*_binary64 flip-+_binary64 associate-*l/_binary64 *-commutative_binary64
associate--l-_binary64 diff-log_binary64 unswap-sqr_binary64 div-sub_binary64 div-inv_binary64 +-commutative_binary64 sum-log_binary64
Counts
4 → 130
Calls

8 calls:

44.0ms
(+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6)))
22.0ms
(*.f64 (*.f64 x1 x1) (-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6))
19.0ms
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
18.0ms
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
0.0ms
(-.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2))

series2.5s (7.8%)

Counts
4 → 63
Calls

4 calls:

1.6s
(+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6)))
402.0ms
(*.f64 (*.f64 x1 x1) (-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6))
304.0ms
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
233.0ms
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
Compiler

Compiled 10321 to 7039 computations (31.8% saved)

simplify148.0ms (0.5%)

Algorithm
egg-herbie
Counts
193 → 193
Iterations

Useful iterations: 0 (59.0ms)

IterNodesCost
0494012399
1494012399

prune2.4s (7.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1849193
Fresh101
Picked101
Done000
Total1869195
Error
0.4b
Counts
195 → 9
Compiler

Compiled 29001 to 17630 computations (39.2% saved)

localize56.0ms (0.2%)

Local error

Found 8 expressions with local error:

0.0b
(+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (+.f64 (*.f64 (*.f64 x1 x1) (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 2 (*.f64 x1 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3))) (*.f64 (*.f64 (neg.f64 (sqrt.f64 6)) (sqrt.f64 6)) (*.f64 x1 x1))) (+.f64 (*.f64 x1 x1) 1)) (*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 x1 x1) x1)) x1)
0.0b
(+.f64 (*.f64 (+.f64 (+.f64 (*.f64 (*.f64 x1 x1) (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 2 (*.f64 x1 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3))) (*.f64 (*.f64 (neg.f64 (sqrt.f64 6)) (sqrt.f64 6)) (*.f64 x1 x1))) (+.f64 (*.f64 x1 x1) 1)) (*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))))
0.0b
(+.f64 (*.f64 (*.f64 x1 x1) (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 2 (*.f64 x1 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)))
0.0b
(-.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2))
2.8b
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
3.3b
(+.f64 (+.f64 (*.f64 (*.f64 x1 x1) (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 2 (*.f64 x1 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3))) (*.f64 (*.f64 (neg.f64 (sqrt.f64 6)) (sqrt.f64 6)) (*.f64 x1 x1)))
5.0b
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
5.1b
(*.f64 (*.f64 x1 x1) (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))))

rewrite143.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
46×add-exp-log_binary64 add-cbrt-cube_binary64
25×pow1_binary64 cbrt-unprod_binary64 prod-exp_binary64 add-sqr-sqrt_binary64
22×*-un-lft-identity_binary64 associate-*r*_binary64
16×times-frac_binary64
14×pow-prod-down_binary64 add-cube-cbrt_binary64
11×add-log-exp_binary64
cbrt-undiv_binary64 difference-of-squares_binary64 div-exp_binary64
distribute-lft-out--_binary64
associate-*r/_binary64 cancel-sign-sub-inv_binary64 sum-log_binary64
flip3-+_binary64 distribute-lft-neg-out_binary64 associate-/r/_binary64 associate-*l*_binary64 flip-+_binary64 *-commutative_binary64
sub-neg_binary64 flip3--_binary64 associate--l-_binary64 diff-log_binary64 associate-+l+_binary64 div-sub_binary64 div-inv_binary64 +-commutative_binary64 flip--_binary64 unsub-neg_binary64
Counts
4 → 105
Calls

8 calls:

45.0ms
(+.f64 (+.f64 (*.f64 (*.f64 x1 x1) (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 2 (*.f64 x1 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3))) (*.f64 (*.f64 (neg.f64 (sqrt.f64 6)) (sqrt.f64 6)) (*.f64 x1 x1)))
24.0ms
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
19.0ms
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
19.0ms
(*.f64 (*.f64 x1 x1) (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))))
0.0ms
(-.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2))

series2.5s (7.7%)

Counts
4 → 64
Calls

4 calls:

1.7s
(+.f64 (+.f64 (*.f64 (*.f64 x1 x1) (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 2 (*.f64 x1 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3))) (*.f64 (*.f64 (neg.f64 (sqrt.f64 6)) (sqrt.f64 6)) (*.f64 x1 x1)))
300.0ms
(*.f64 (*.f64 x1 x1) (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))))
298.0ms
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 x1 (*.f64 x1 3)) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
249.0ms
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
Compiler

Compiled 11027 to 7543 computations (31.6% saved)

simplify105.0ms (0.3%)

Algorithm
egg-herbie
Counts
169 → 169
Iterations

Useful iterations: 0 (42.0ms)

IterNodesCost
049137825
149137825

prune1.6s (5%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1681169
Fresh178
Picked011
Done000
Total1699178
Error
0.4b
Counts
178 → 9
Compiler

Compiled 25083 to 15195 computations (39.4% saved)

localize50.0ms (0.2%)

Local error

Found 8 expressions with local error:

0.0b
(+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1))))))) (+.f64 (*.f64 x1 x1) 1)) (*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 x1 x1) x1)) x1)
0.0b
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1))))))) (+.f64 (*.f64 x1 x1) 1)) (*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))))
0.0b
(/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))
0.0b
(-.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2))
0.2b
(*.f64 (*.f64 x1 x1) (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1))))))
2.8b
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
3.3b
(+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1)))))))
5.0b
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))

rewrite154.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
57×associate-*r/_binary64
33×add-sqr-sqrt_binary64
30×add-exp-log_binary64 add-cbrt-cube_binary64
29×*-un-lft-identity_binary64
24×associate-*r*_binary64
21×add-cube-cbrt_binary64 cancel-sign-sub-inv_binary64
20×frac-add_binary64
18×pow1_binary64
16×times-frac_binary64
15×flip3--_binary64 cbrt-unprod_binary64 prod-exp_binary64 flip--_binary64
12×distribute-lft-in_binary64 distribute-rgt-in_binary64 frac-sub_binary64
pow-prod-down_binary64
flip3-+_binary64 add-log-exp_binary64 associate-+l+_binary64 flip-+_binary64 associate-+r+_binary64 frac-times_binary64
sub-neg_binary64
difference-of-squares_binary64
distribute-lft-out--_binary64 associate-*l/_binary64
cbrt-undiv_binary64 div-exp_binary64
associate-/r/_binary64 associate-*l*_binary64 *-commutative_binary64
associate--l-_binary64 diff-log_binary64 unswap-sqr_binary64 div-sub_binary64 div-inv_binary64 +-commutative_binary64 sum-log_binary64
Counts
4 → 142
Calls

8 calls:

42.0ms
(+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1)))))))
22.0ms
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
19.0ms
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
18.0ms
(*.f64 (*.f64 x1 x1) (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1))))))
0.0ms
(-.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2))

series1.4s (4.2%)

Counts
4 → 54
Calls

4 calls:

740.0ms
(+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1)))))))
311.0ms
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
247.0ms
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
80.0ms
(*.f64 (*.f64 x1 x1) (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1))))))
Compiler

Compiled 8218 to 5427 computations (34% saved)

simplify151.0ms (0.5%)

Algorithm
egg-herbie
Counts
196 → 196
Iterations

Useful iterations: 0 (46.0ms)

IterNodesCost
0494014515
1494014515

prune2.4s (7.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1924196
Fresh257
Picked101
Done011
Total19510205
Error
0.4b
Counts
205 → 10
Compiler

Compiled 30885 to 18443 computations (40.3% saved)

localize48.0ms (0.1%)

Local error

Found 8 expressions with local error:

0.0b
(+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 x1 (*.f64 x1 (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1)))))))) (+.f64 (*.f64 x1 x1) 1)) (*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 x1 x1) x1)) x1)
0.0b
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 x1 (*.f64 x1 (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1)))))))) (+.f64 (*.f64 x1 x1) 1)) (*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))))
0.0b
(/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))
0.0b
(-.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2))
0.2b
(*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3))
2.8b
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
3.3b
(+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 x1 (*.f64 x1 (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1))))))))
5.0b
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))

rewrite189.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
76×associate-*r/_binary64
43×add-exp-log_binary64 add-cbrt-cube_binary64
39×add-sqr-sqrt_binary64
33×*-un-lft-identity_binary64
27×associate-*r*_binary64 cancel-sign-sub-inv_binary64
24×distribute-lft-in_binary64 distribute-rgt-in_binary64
23×cbrt-unprod_binary64 add-cube-cbrt_binary64 prod-exp_binary64
22×pow1_binary64
20×frac-add_binary64
17×times-frac_binary64
16×flip3--_binary64 flip--_binary64 associate-+r+_binary64
12×pow-prod-down_binary64
10×frac-sub_binary64 frac-times_binary64
sub-neg_binary64
add-log-exp_binary64 associate-+l+_binary64
flip3-+_binary64 difference-of-squares_binary64 flip-+_binary64
cbrt-undiv_binary64 distribute-lft-out--_binary64 div-exp_binary64 associate-*l/_binary64
associate-/r/_binary64 associate-*l*_binary64 *-commutative_binary64
associate--l-_binary64 diff-log_binary64 div-sub_binary64 div-inv_binary64 +-commutative_binary64 sum-log_binary64
Counts
4 → 160
Calls

8 calls:

44.0ms
(+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 x1 (*.f64 x1 (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1))))))))
43.0ms
(*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3))
21.0ms
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
19.0ms
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
0.0ms
(-.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2))

series1.8s (5.5%)

Counts
4 → 59
Calls

4 calls:

751.0ms
(+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 x1 (*.f64 x1 (-.f64 (*.f64 12 (/.f64 (*.f64 x1 x1) (+.f64 (*.f64 x1 x1) 1))) (+.f64 6 (*.f64 4 (/.f64 x1 (+.f64 (*.f64 x1 x1) 1))))))))
488.0ms
(*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3))
306.0ms
(-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)
249.0ms
(*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))
Compiler

Compiled 9511 to 6369 computations (33% saved)

simplify190.0ms (0.6%)

Algorithm
egg-herbie
Counts
219 → 219
Iterations

Useful iterations: 0 (64.0ms)

IterNodesCost
0494617356
1494617356

prune2.4s (7.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2163219
Fresh358
Picked101
Done011
Total2209229
Error
0.4b
Counts
229 → 9
Compiler

Compiled 32684 to 19579 computations (40.1% saved)

simplify213.0ms (0.7%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (67.0ms)

IterNodesCost
0518413647

regimes1.2s (3.7%)

Compiler

Compiled 26932 to 17101 computations (36.5% saved)

bsearch0.0ms (0%)

regimes269.0ms (0.8%)

Compiler

Compiled 5389 to 3388 computations (37.1% saved)

bsearch0.0ms (0%)

regimes180.0ms (0.6%)

Compiler

Compiled 1928 to 1248 computations (35.3% saved)

bsearch335.0ms (1%)

Steps
ItersRangePoint
9
0.0004641151235109884
6163.337854012068
3.572483115071126
8
7.586039511240234e-145
4.435677564194416e-142
3.961055337262331e-143
7
-4.318987620655732e-138
-2.0712264732581017e-139
-3.0181739639152153e-139
10
-30829993.124775827
-1.4038323442234646e-10
-2.905723572080408
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes155.0ms (0.5%)

Compiler

Compiled 1002 to 671 computations (33% saved)

bsearch328.0ms (1%)

Steps
ItersRangePoint
9
0.0004641151235109884
6163.337854012068
2.1894534894931774
8
7.586039511240234e-145
4.435677564194416e-142
1.1371847617286735e-144
7
-4.318987620655732e-138
-2.0712264732581017e-139
-2.515948011277505e-138
10
-30829993.124775827
-1.4038323442234646e-10
-1.9463329267783314
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes141.0ms (0.4%)

Compiler

Compiled 777 to 527 computations (32.2% saved)

bsearch335.0ms (1%)

Steps
ItersRangePoint
9
0.0004641151235109884
6163.337854012068
4.804601780835791
8
7.586039511240234e-145
4.435677564194416e-142
8.159646800035157e-145
7
-4.318987620655732e-138
-2.0712264732581017e-139
-2.6164386648485612e-139
10
-30829993.124775827
-1.4038323442234646e-10
-2.2303517597312443
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes48.0ms (0.1%)

Compiler

Compiled 421 to 292 computations (30.6% saved)

bsearch0.0ms (0%)

regimes18.0ms (0.1%)

Accuracy

Total 0.1b remaining (28.6%)

Threshold costs 0.1b (28.6%)

Compiler

Compiled 10 to 26 computations (-160% saved)

bsearch39.0ms (0.1%)

Compiler

Compiled 1419 to 849 computations (40.2% saved)

simplify20.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (6.0ms)

IterNodesCost
03502119
13502119

end0.0ms (0%)

sample8.3s (25.6%)

Algorithm
intervals
Results
1.5s7010×body128valid
1.2s5732×body128invalid
291.0ms329×body1024valid
260.0ms393×body512valid
115.0ms268×body256valid
Compiler

Compiled 10521 to 6627 computations (37% saved)

Pareto

0.29895536291844615

Profiling

Loading profile data...