Details

Time bar (total: 2.5min)

analyze125.0ms (0.1%)

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%53.1%22%7
25%46.8%28.2%8
25%33.6%41.5%9
28.1%18%54%10
31.6%12.1%56.3%11
33.4%5.9%60.8%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 30 to 20 computations (33.3% saved)

sample24.0ms (0%)

Algorithm
intervals
Results
16.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 59 to 41 computations (30.5% saved)

simplify171.0ms (0.1%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (77.0ms)

IterNodesCost
0491543
1491543

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 0.2b

Counts
2 → 1
Compiler

Compiled 58 to 38 computations (34.5% saved)

localize20.0ms (0%)

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 3 a)))))
0.1b
(*.f64 (*.f64 a a) (-.f64 1 a))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.8b
(*.f64 (*.f64 b b) (+.f64 3 a))

rewrite43.0ms (0%)

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt_binary64_2828 add-exp-log_binary64_2844 *-un-lft-identity_binary64_2806 pow1_binary64_2867
14×add-cbrt-cube_binary64_2842
10×add-cube-cbrt_binary64_2841 associate-*r*_binary64_2746
cancel-sign-sub-inv_binary64_2772 distribute-lft-in_binary64_2755 distribute-rgt-in_binary64_2756 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 add-log-exp_binary64_2845 pow-prod-down_binary64_2877
associate-*r/_binary64_2748
pow-unpow_binary64_2883 unpow-prod-down_binary64_2885
associate-*l*_binary64_2747 *-commutative_binary64_2737 associate-+r+_binary64_2738 sub-neg_binary64_2799 flip-+_binary64_2780 flip3-+_binary64_2809 difference-of-squares_binary64_2775 unswap-sqr_binary64_2774
pow-exp_binary64_2874 distribute-lft-out_binary64_2757 flip3--_binary64_2810 distribute-lft-out--_binary64_2758 pow-pow_binary64_2878 pow-to-exp_binary64_2875 sum-log_binary64_2897 flip--_binary64_2781 sqr-pow_binary64_2778 unpow2_binary64_2871 +-commutative_binary64_2736
Counts
4 → 87
Calls

4 calls:

11.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
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 3 a)))))
9.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

series670.0ms (0.4%)

Counts
4 → 45
Calls

4 calls:

374.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 3 a)))))
220.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
50.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
26.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
Compiler

Compiled 2019 to 1626 computations (19.5% saved)

simplify86.0ms (0.1%)

Algorithm
egg-herbie
Counts
132 → 132
Iterations

Useful iterations: 0 (59.0ms)

IterNodesCost
050652513

prune216.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1293132
Fresh000
Picked101
Done000
Total1303133

Merged error: 0.0b

Counts
133 → 3
Compiler

Compiled 4382 to 2310 computations (47.3% saved)

localize20.0ms (0%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 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 3 a)))))
0.1b
(*.f64 (*.f64 a a) (-.f64 1 a))
0.8b
(*.f64 (*.f64 b b) (+.f64 3 a))
3.6b
(*.f64 (*.f64 b b) (*.f64 a a))

rewrite67.0ms (0%)

Algorithm
rewrite-expression-head
Rules
42×pow1_binary64_2867
32×associate-*r/_binary64_2748
26×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842
20×frac-add_binary64_2814 pow-prod-down_binary64_2877
14×prod-exp_binary64_2855 cbrt-unprod_binary64_2839 flip-+_binary64_2780 flip3-+_binary64_2809
13×add-sqr-sqrt_binary64_2828 *-un-lft-identity_binary64_2806 add-log-exp_binary64_2845
11×associate-*r*_binary64_2746
add-cube-cbrt_binary64_2841
cancel-sign-sub-inv_binary64_2772 distribute-lft-in_binary64_2755 distribute-rgt-in_binary64_2756 sum-log_binary64_2897
flip3--_binary64_2810 flip--_binary64_2781
pow-prod-up_binary64_2876 pow-plus_binary64_2869
associate-*l*_binary64_2747 *-commutative_binary64_2737 unswap-sqr_binary64_2774
pow-sqr_binary64_2779 associate-+r+_binary64_2738 sub-neg_binary64_2799 pow2_binary64_2887 difference-of-squares_binary64_2775
distribute-lft-out_binary64_2757 associate-+l+_binary64_2739 distribute-lft-out--_binary64_2758 +-commutative_binary64_2736
Counts
4 → 113
Calls

4 calls:

18.0ms
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 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 3 a)))))
10.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
9.0ms
(*.f64 (*.f64 b b) (*.f64 a a))
9.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))

series550.0ms (0.4%)

Counts
4 → 33
Calls

4 calls:

377.0ms
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 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 3 a)))))
86.0ms
(*.f64 (*.f64 b b) (*.f64 a a))
58.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
29.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
Compiler

Compiled 1803 to 1444 computations (19.9% saved)

simplify124.0ms (0.1%)

Algorithm
egg-herbie
Counts
146 → 146
Iterations

Useful iterations: 0 (78.0ms)

IterNodesCost
049515208
149515208

prune341.0ms (0.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1451146
Fresh112
Picked011
Done000
Total1463149

Merged error: 0b

Counts
149 → 3
Compiler

Compiled 7168 to 4080 computations (43.1% saved)

localize17.0ms (0%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (*.f64 a a) (-.f64 1 a))
0.3b
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 6)
0.8b
(*.f64 (*.f64 b b) (+.f64 3 a))
29.0b
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 6))

rewrite40.0ms (0%)

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt_binary64_2828 *-un-lft-identity_binary64_2806
15×add-exp-log_binary64_2844 pow1_binary64_2867
14×add-cbrt-cube_binary64_2842
12×add-cube-cbrt_binary64_2841
10×associate-*r*_binary64_2746
cbrt-prod_binary64_2837
cancel-sign-sub-inv_binary64_2772 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 unpow-prod-down_binary64_2885 pow-prod-down_binary64_2877
distribute-lft-in_binary64_2755 distribute-rgt-in_binary64_2756
add-log-exp_binary64_2845 associate-*r/_binary64_2748
pow-unpow_binary64_2883
associate-*l*_binary64_2747 *-commutative_binary64_2737 sub-neg_binary64_2799 sqr-pow_binary64_2778 difference-of-squares_binary64_2775 unswap-sqr_binary64_2774
pow-exp_binary64_2874 pow1/3_binary64_2888 distribute-lft-out_binary64_2757 flip3--_binary64_2810 distribute-lft-out--_binary64_2758 pow-pow_binary64_2878 pow-to-exp_binary64_2875 flip-+_binary64_2780 flip--_binary64_2781 flip3-+_binary64_2809
Counts
4 → 88
Calls

4 calls:

10.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
8.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
8.0ms
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 6)
5.0ms
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 6))

series357.0ms (0.2%)

Counts
4 → 34
Calls

4 calls:

221.0ms
(cbrt.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 6))
54.0ms
(*.f64 (*.f64 b b) (+.f64 3 a))
53.0ms
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 6)
28.0ms
(*.f64 (*.f64 a a) (-.f64 1 a))
Compiler

Compiled 1754 to 1363 computations (22.3% saved)

simplify83.0ms (0.1%)

Algorithm
egg-herbie
Counts
122 → 122
Iterations

Useful iterations: 0 (63.0ms)

IterNodesCost
051671639

prune180.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1220122
Fresh011
Picked011
Done011
Total1223125

Merged error: 0b

Counts
125 → 3
Compiler

Compiled 4161 to 2213 computations (46.8% saved)

localize41.0ms (0%)

Local error

Found 4 expressions with local error:

0.4b
(*.f64 (*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a))) (+.f64 a 1))
1.0b
(*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a)))
2.9b
(+.f64 (*.f64 (*.f64 (-.f64 3 a) (+.f64 a 1)) (-.f64 (pow.f64 a 8) (*.f64 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2))))) (*.f64 (+.f64 (*.f64 a (*.f64 (+.f64 a (neg.f64 (pow.f64 a 3))) (-.f64 3 a))) (*.f64 (*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a))) (+.f64 a 1))) (*.f64 4 (-.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2))))))
39.8b
(/.f64 (+.f64 (*.f64 (*.f64 (-.f64 3 a) (+.f64 a 1)) (-.f64 (pow.f64 a 8) (*.f64 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2))))) (*.f64 (+.f64 (*.f64 a (*.f64 (+.f64 a (neg.f64 (pow.f64 a 3))) (-.f64 3 a))) (*.f64 (*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a))) (+.f64 a 1))) (*.f64 4 (-.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)))))) (*.f64 (*.f64 (-.f64 3 a) (+.f64 a 1)) (-.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)))))

rewrite13.2s (8.8%)

Algorithm
rewrite-expression-head
Rules
32754×associate-*r/_binary64_2748
28080×frac-times_binary64_2816
20384×frac-add_binary64_2814
18194×flip3--_binary64_2810 flip--_binary64_2781
14040×associate-*l/_binary64_2749
11258×flip-+_binary64_2780 flip3-+_binary64_2809
5202×associate-/l/_binary64_2753
27×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842
26×associate-/r/_binary64_2752
21×distribute-lft-in_binary64_2755 distribute-rgt-in_binary64_2756
18×pow1_binary64_2867
16×cancel-sign-sub-inv_binary64_2772 associate-+r+_binary64_2738
14×add-sqr-sqrt_binary64_2828 *-un-lft-identity_binary64_2806
12×prod-exp_binary64_2855 cbrt-unprod_binary64_2839 add-cube-cbrt_binary64_2841
pow-prod-down_binary64_2877
sub-neg_binary64_2799 associate-*r*_binary64_2746
add-log-exp_binary64_2845
associate-+l+_binary64_2739
times-frac_binary64_2812 div-exp_binary64_2857 cbrt-undiv_binary64_2840 associate-/l*_binary64_2751
associate-*l*_binary64_2747 *-commutative_binary64_2737
div-inv_binary64_2803 distribute-lft-out_binary64_2757 associate-/r*_binary64_2750 sum-log_binary64_2897 clear-num_binary64_2805 difference-of-squares_binary64_2775 unswap-sqr_binary64_2774 frac-2neg_binary64_2817 +-commutative_binary64_2736
Counts
4 → 10540
Calls

4 calls:

741.0ms
(/.f64 (+.f64 (*.f64 (*.f64 (-.f64 3 a) (+.f64 a 1)) (-.f64 (pow.f64 a 8) (*.f64 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2))))) (*.f64 (+.f64 (*.f64 a (*.f64 (+.f64 a (neg.f64 (pow.f64 a 3))) (-.f64 3 a))) (*.f64 (*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a))) (+.f64 a 1))) (*.f64 4 (-.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)))))) (*.f64 (*.f64 (-.f64 3 a) (+.f64 a 1)) (-.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)))))
201.0ms
(+.f64 (*.f64 (*.f64 (-.f64 3 a) (+.f64 a 1)) (-.f64 (pow.f64 a 8) (*.f64 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2))))) (*.f64 (+.f64 (*.f64 a (*.f64 (+.f64 a (neg.f64 (pow.f64 a 3))) (-.f64 3 a))) (*.f64 (*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a))) (+.f64 a 1))) (*.f64 4 (-.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2))))))
14.0ms
(*.f64 (*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a))) (+.f64 a 1))
9.0ms
(*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a)))

series4.2s (2.8%)

Counts
4 → 42
Calls

4 calls:

3.6s
(/.f64 (+.f64 (*.f64 (*.f64 (-.f64 3 a) (+.f64 a 1)) (-.f64 (pow.f64 a 8) (*.f64 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2))))) (*.f64 (+.f64 (*.f64 a (*.f64 (+.f64 a (neg.f64 (pow.f64 a 3))) (-.f64 3 a))) (*.f64 (*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a))) (+.f64 a 1))) (*.f64 4 (-.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)))))) (*.f64 (*.f64 (-.f64 3 a) (+.f64 a 1)) (-.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)))))
391.0ms
(+.f64 (*.f64 (*.f64 (-.f64 3 a) (+.f64 a 1)) (-.f64 (pow.f64 a 8) (*.f64 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2)) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2))))) (*.f64 (+.f64 (*.f64 a (*.f64 (+.f64 a (neg.f64 (pow.f64 a 3))) (-.f64 3 a))) (*.f64 (*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a))) (+.f64 a 1))) (*.f64 4 (-.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 b a) (*.f64 b a)) 2))))))
111.0ms
(*.f64 (*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a))) (+.f64 a 1))
102.0ms
(*.f64 (*.f64 b b) (-.f64 9 (*.f64 a a)))
Compiler

Compiled 10583 to 8083 computations (23.6% saved)

simplify25.3s (16.8%)

Algorithm
egg-herbie
Counts
10582 → 10582
Iterations

Useful iterations: 0 (579.0ms)

IterNodesCost
0275433887180

prune1.7min (69.4%)

Profiling

Loading profile data...