Details

Time bar (total: 2.5min)

analyze147.0ms

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%68.7%6.3%6
25%56.2%18.8%7
25%48.4%26.6%8
25%35.1%39.9%9
28.1%18.3%53.6%10
31.6%12.3%56.1%11
33.4%5.9%60.8%12
35.2%3.8%61%13
36.1%2.9%61%14

sample28.0ms

Algorithm
intervals
Results
20.0ms256×body80valid

simplify51.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
0505546

prune3.0ms

Filtered
1 candidates to 1 candidates (0.0%)
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 0.2b

Counts
2 → 1

localize16.0ms

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (+.f64 1 a)) (*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a))))))
0.1b
(*.f64 (*.f64 a a) (+.f64 1 a))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.6b
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))

rewrite32.0ms

Algorithm
rewrite-expression-head
Rules
15×pow1_binary64 add-exp-log_binary64
14×add-cbrt-cube_binary64
10×*-un-lft-identity_binary64 add-sqr-sqrt_binary64
add-cube-cbrt_binary64
associate-*r*_binary64
pow-prod-down_binary64 add-log-exp_binary64 cbrt-unprod_binary64 prod-exp_binary64
associate-*r/_binary64
pow-unpow_binary64 distribute-lft-in_binary64 distribute-rgt-in_binary64 unpow-prod-down_binary64
flip3-+_binary64 sub-neg_binary64 associate-*l*_binary64 unswap-sqr_binary64 flip-+_binary64 associate-+r+_binary64 *-commutative_binary64
pow-to-exp_binary64 flip3--_binary64 distribute-lft-out_binary64 unpow2_binary64 pow-pow_binary64 sqr-pow_binary64 +-commutative_binary64 flip--_binary64 pow-exp_binary64 sum-log_binary64
Counts
4 → 78
Calls
4 calls:
9.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (+.f64 1 a)) (*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a))))))
8.0ms
(*.f64 (*.f64 a a) (+.f64 1 a))
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
8.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))

series183.0ms

Counts
4 → 12
Calls
4 calls:
81.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (+.f64 1 a)) (*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a))))))
33.0ms
(*.f64 (*.f64 a a) (+.f64 1 a))
32.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
36.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))

simplify79.0ms

Algorithm
egg-herbie
Counts
90 → 90
Iterations

Useful iterations: 0 (53.0ms)

IterNodesCost
050791820

prune108.0ms

Filtered
59 candidates to 90 candidates (-52.5%)
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New87390
Fresh000
Picked011
Done000
Total87491

Merged error: 0.0b

Counts
91 → 4

localize21.0ms

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 2 (*.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (+.f64 1 a)) (*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a))))))
0.1b
(*.f64 (*.f64 a a) (+.f64 1 a))
0.6b
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))
2.0b
(*.f64 (*.f64 b b) (*.f64 a a))

rewrite46.0ms

Algorithm
rewrite-expression-head
Rules
42×pow1_binary64
32×associate-*r/_binary64
26×add-exp-log_binary64 add-cbrt-cube_binary64
20×pow-prod-down_binary64 frac-add_binary64
14×flip3-+_binary64 cbrt-unprod_binary64 prod-exp_binary64 flip-+_binary64
13×add-log-exp_binary64
*-un-lft-identity_binary64 associate-*r*_binary64 add-sqr-sqrt_binary64
add-cube-cbrt_binary64 sum-log_binary64
flip3--_binary64 flip--_binary64
pow-prod-up_binary64 pow-plus_binary64
distribute-lft-in_binary64 associate-*l*_binary64 distribute-rgt-in_binary64 unswap-sqr_binary64 *-commutative_binary64
sub-neg_binary64 pow-sqr_binary64 associate-+r+_binary64 pow2_binary64
distribute-lft-out_binary64 associate-+l+_binary64 +-commutative_binary64
Counts
4 → 104
Calls
4 calls:
17.0ms
(+.f64 (+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 2 (*.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (+.f64 1 a)) (*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a))))))
8.0ms
(*.f64 (*.f64 a a) (+.f64 1 a))
8.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))
9.0ms
(*.f64 (*.f64 b b) (*.f64 a a))

series183.0ms

Counts
4 → 12
Calls
4 calls:
82.0ms
(+.f64 (+.f64 (pow.f64 b 4) (+.f64 (pow.f64 a 4) (*.f64 2 (*.f64 (*.f64 b b) (*.f64 a a))))) (*.f64 4 (+.f64 (*.f64 (*.f64 a a) (+.f64 1 a)) (*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a))))))
32.0ms
(*.f64 (*.f64 a a) (+.f64 1 a))
38.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))
31.0ms
(*.f64 (*.f64 b b) (*.f64 a a))

simplify117.0ms

Algorithm
egg-herbie
Counts
116 → 116
Iterations

Useful iterations: 0 (73.0ms)

IterNodesCost
050094860

prune214.0ms

Filtered
76 candidates to 116 candidates (-52.6%)
Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1151116
Fresh112
Picked011
Done011
Total1164120

Merged error: 0.0b

Counts
120 → 4

localize20.0ms

Local error

Found 4 expressions with local error:

0.6b
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))
20.9b
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2))
20.9b
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2))
20.9b
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2))

rewrite26.0ms

Algorithm
rewrite-expression-head
Rules
24×cbrt-prod_binary64
12×add-sqr-sqrt_binary64
11×*-un-lft-identity_binary64 add-cube-cbrt_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 unpow-prod-down_binary64
add-log-exp_binary64
pow-prod-down_binary64 cbrt-unprod_binary64 associate-*r*_binary64 unpow2_binary64 pow1/3_binary64 sqr-pow_binary64 prod-exp_binary64
sub-neg_binary64 associate-*r/_binary64
flip3--_binary64 distribute-lft-in_binary64 associate-*l*_binary64 distribute-rgt-in_binary64 unswap-sqr_binary64 flip--_binary64 *-commutative_binary64
Counts
4 → 71
Calls
4 calls:
8.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))
7.0ms
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2))
5.0ms
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2))
5.0ms
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2))

series297.0ms

Counts
4 → 12
Calls
4 calls:
33.0ms
(*.f64 (*.f64 b b) (-.f64 1 (*.f64 3 a)))
88.0ms
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2))
90.0ms
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2))
86.0ms
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2))

simplify67.0ms

Algorithm
egg-herbie
Counts
83 → 83
Iterations

Useful iterations: 0 (43.0ms)

IterNodesCost
055381568

prune138.0ms

Filtered
62 candidates to 83 candidates (-33.9%)
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New83083
Fresh011
Picked011
Done022
Total83487

Merged error: 0.0b

Counts
87 → 4

localize54.0ms

Local error

Found 4 expressions with local error:

1.6b
(*.f64 (*.f64 b b) (-.f64 1 (pow.f64 (*.f64 a 3) 3)))
4.0b
(+.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b b) 6) (*.f64 (pow.f64 a 6) (pow.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b b) 2)) 3))) (*.f64 (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9)))) (-.f64 1 a))) (*.f64 (+.f64 (pow.f64 b 8) (*.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (pow.f64 b 4)))) (*.f64 4 (+.f64 (*.f64 (*.f64 (*.f64 a a) (-.f64 1 (*.f64 a a))) (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9))))) (*.f64 (*.f64 (*.f64 b b) (-.f64 1 (pow.f64 (*.f64 a 3) 3))) (-.f64 1 a))))))
4.1b
(*.f64 (pow.f64 a 6) (pow.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b b) 2)) 3))
48.0b
(/.f64 (+.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b b) 6) (*.f64 (pow.f64 a 6) (pow.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b b) 2)) 3))) (*.f64 (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9)))) (-.f64 1 a))) (*.f64 (+.f64 (pow.f64 b 8) (*.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (pow.f64 b 4)))) (*.f64 4 (+.f64 (*.f64 (*.f64 (*.f64 a a) (-.f64 1 (*.f64 a a))) (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9))))) (*.f64 (*.f64 (*.f64 b b) (-.f64 1 (pow.f64 (*.f64 a 3) 3))) (-.f64 1 a)))))) (*.f64 (+.f64 (pow.f64 b 8) (*.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (pow.f64 b 4)))) (*.f64 (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9)))) (-.f64 1 a))))

rewrite4.5s

Algorithm
rewrite-expression-head
Rules
39314×associate-*r/_binary64
28076×frac-times_binary64
20384×frac-add_binary64
14842×flip3--_binary64 flip--_binary64
14605×flip3-+_binary64 flip-+_binary64
8304×associate-*l/_binary64
5202×associate-/l/_binary64
34×add-sqr-sqrt_binary64
30×add-exp-log_binary64
26×associate-/r/_binary64
20×associate-*r*_binary64 add-cbrt-cube_binary64
16×*-un-lft-identity_binary64
15×prod-exp_binary64
13×unswap-sqr_binary64 unpow-prod-down_binary64
12×add-cube-cbrt_binary64
11×sqr-pow_binary64
pow1_binary64 distribute-lft-in_binary64 distribute-rgt-in_binary64
associate-*l*_binary64
cbrt-unprod_binary64
pow-to-exp_binary64 add-log-exp_binary64 sub-neg_binary64 cube-prod_binary64 pow-exp_binary64
associate-+l+_binary64 difference-of-squares_binary64 associate-+r+_binary64
pow-prod-down_binary64 cbrt-undiv_binary64 associate-/l*_binary64 times-frac_binary64 div-exp_binary64
cube-div_binary64 *-commutative_binary64
associate-/r*_binary64 clear-num_binary64 frac-2neg_binary64 distribute-lft-out--_binary64 div-inv_binary64 +-commutative_binary64 unpow3_binary64 sum-log_binary64 cube-mult_binary64
Counts
4 → 10549
Calls
4 calls:
11.0ms
(*.f64 (*.f64 b b) (-.f64 1 (pow.f64 (*.f64 a 3) 3)))
167.0ms
(+.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b b) 6) (*.f64 (pow.f64 a 6) (pow.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b b) 2)) 3))) (*.f64 (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9)))) (-.f64 1 a))) (*.f64 (+.f64 (pow.f64 b 8) (*.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (pow.f64 b 4)))) (*.f64 4 (+.f64 (*.f64 (*.f64 (*.f64 a a) (-.f64 1 (*.f64 a a))) (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9))))) (*.f64 (*.f64 (*.f64 b b) (-.f64 1 (pow.f64 (*.f64 a 3) 3))) (-.f64 1 a))))))
13.0ms
(*.f64 (pow.f64 a 6) (pow.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b b) 2)) 3))
494.0ms
(/.f64 (+.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b b) 6) (*.f64 (pow.f64 a 6) (pow.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b b) 2)) 3))) (*.f64 (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9)))) (-.f64 1 a))) (*.f64 (+.f64 (pow.f64 b 8) (*.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (pow.f64 b 4)))) (*.f64 4 (+.f64 (*.f64 (*.f64 (*.f64 a a) (-.f64 1 (*.f64 a a))) (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9))))) (*.f64 (*.f64 (*.f64 b b) (-.f64 1 (pow.f64 (*.f64 a 3) 3))) (-.f64 1 a)))))) (*.f64 (+.f64 (pow.f64 b 8) (*.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (pow.f64 b 4)))) (*.f64 (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9)))) (-.f64 1 a))))

series3.9s

Counts
4 → 12
Calls
4 calls:
78.0ms
(*.f64 (*.f64 b b) (-.f64 1 (pow.f64 (*.f64 a 3) 3)))
2.5s
(+.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b b) 6) (*.f64 (pow.f64 a 6) (pow.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b b) 2)) 3))) (*.f64 (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9)))) (-.f64 1 a))) (*.f64 (+.f64 (pow.f64 b 8) (*.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (pow.f64 b 4)))) (*.f64 4 (+.f64 (*.f64 (*.f64 (*.f64 a a) (-.f64 1 (*.f64 a a))) (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9))))) (*.f64 (*.f64 (*.f64 b b) (-.f64 1 (pow.f64 (*.f64 a 3) 3))) (-.f64 1 a))))))
98.0ms
(*.f64 (pow.f64 a 6) (pow.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b b) 2)) 3))
1.3s
(/.f64 (+.f64 (*.f64 (+.f64 (pow.f64 (*.f64 b b) 6) (*.f64 (pow.f64 a 6) (pow.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b b) 2)) 3))) (*.f64 (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9)))) (-.f64 1 a))) (*.f64 (+.f64 (pow.f64 b 8) (*.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (pow.f64 b 4)))) (*.f64 4 (+.f64 (*.f64 (*.f64 (*.f64 a a) (-.f64 1 (*.f64 a a))) (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9))))) (*.f64 (*.f64 (*.f64 b b) (-.f64 1 (pow.f64 (*.f64 a 3) 3))) (-.f64 1 a)))))) (*.f64 (+.f64 (pow.f64 b 8) (*.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (pow.f64 b 4)))) (*.f64 (+.f64 1 (*.f64 a (+.f64 3 (*.f64 a 9)))) (-.f64 1 a))))

simplify28.9s

Algorithm
egg-herbie
Counts
10561 → 10561
Iterations

Useful iterations: 0 (648.0ms)

IterNodesCost
0271295016568

prune1.8min

Filtered
10540 candidates to 10561 candidates (-0.2%)

Profiling

Loading profile data...