Details

Time bar (total: 28.5s)

analyze2.9s (10.4%)

Algorithm
search
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05334427
044
144
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%98.2%1.8%8
0%94.3%5.7%9
0.4%93%6.6%10
7.4%83.3%9.3%11
12.4%75.2%12.4%12
14.4%68.9%16.7%13
16.8%65.4%17.8%14
Symmetry

(sort A C)

Compiler

Compiled 41 to 33 computations (19.5% saved)

sample164.0ms (0.6%)

Algorithm
intervals
Results
33.0ms172×body128valid
18.0ms24×body2048nan
17.0ms23×body2048valid
15.0ms23×body1024valid
13.0ms94×body128nan
13.0ms21×body1024nan
11.0ms26×body512valid
4.0ms11×body512nan
3.0ms12×body256valid
3.0ms10×body256nan
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify40.0ms (0.1%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (34.0ms)

IterNodesCost
0561361

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
55.4b
Counts
2 → 1
Compiler

Compiled 80 to 59 computations (26.3% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.3b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
16.5b
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
23.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
37.3b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite815.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
53.0b
Rules
66×sqrt-div_binary64_2823
40×associate-*r/_binary64_2748
39×*-un-lft-identity_binary64_2806
36×times-frac_binary64_2812
35×add-sqr-sqrt_binary64_2828
34×associate-*l/_binary64_2749
32×add-cube-cbrt_binary64_2841
31×flip3-+_binary64_2809 flip-+_binary64_2780
24×frac-add_binary64_2814 frac-times_binary64_2816
20×distribute-neg-frac_binary64_2770 associate-/l/_binary64_2753
17×pow1_binary64_2867
16×distribute-rgt-neg-in_binary64_2764 distribute-lft-neg-in_binary64_2763 flip3--_binary64_2810 flip--_binary64_2781
15×sqrt-prod_binary64_2822
12×associate-/l*_binary64_2751
add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842
pow-prod-down_binary64_2877
sqrt-pow1_binary64_2824
add-log-exp_binary64_2845 unpow-prod-down_binary64_2885 neg-mul-1_binary64_2802
distribute-lft-out_binary64_2757 associate-/r*_binary64_2750 associate-*l*_binary64_2747 associate-*r*_binary64_2746
pow1/2_binary64_2886 associate-/r/_binary64_2752
distribute-lft-out--_binary64_2758 rem-sqrt-square_binary64_2819 div-exp_binary64_2857 cbrt-undiv_binary64_2840 frac-2neg_binary64_2817 neg-sub0_binary64_2801 div-sub_binary64_2811 clear-num_binary64_2805 div-inv_binary64_2803 distribute-frac-neg_binary64_2769 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 unswap-sqr_binary64_2774 *-commutative_binary64_2737
Counts
4 → 158
Calls

4 calls:

31.0ms
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
17.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
11.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
8.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
Compiler

Compiled 11876 to 7641 computations (35.7% saved)

series7.4s (25.9%)

Error
31.6b
Counts
4 → 77
Calls

4 calls:

3.9s
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
2.7s
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
318.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
299.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
Compiler

Compiled 20101 to 14898 computations (25.9% saved)

simplify162.0ms (0.6%)

Algorithm
egg-herbie
Counts
235 → 235
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
0500115443

prune819.0ms (2.9%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New21421235
Fresh000
Picked101
Done000
Total21521236
Error
30.9b
Counts
236 → 21
Compiler

Compiled 16164 to 8484 computations (47.5% saved)

localize8.0ms (0%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 -1/2 (/.f64 F A))
0.4b
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))
14.4b
(sqrt.f64 (*.f64 -1/2 (/.f64 F A)))

rewrite106.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
30.7b
Rules
23×add-sqr-sqrt_binary64_2828
17×associate-*r*_binary64_2746
15×pow1_binary64_2867
14×add-cube-cbrt_binary64_2841 *-un-lft-identity_binary64_2806
10×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 times-frac_binary64_2812
associate-*l*_binary64_2747
pow-prod-down_binary64_2877
sqrt-pow1_binary64_2824 sqrt-prod_binary64_2822
associate-*r/_binary64_2748 unswap-sqr_binary64_2774
pow1/2_binary64_2886 add-log-exp_binary64_2845 prod-exp_binary64_2855 cbrt-unprod_binary64_2839
sqrt-div_binary64_2823 *-commutative_binary64_2737
sqrt-unprod_binary64_2826 div-exp_binary64_2857 cbrt-undiv_binary64_2840 div-inv_binary64_2803
Counts
3 → 72
Calls

3 calls:

9.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))
7.0ms
(*.f64 -1/2 (/.f64 F A))
4.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F A)))
Compiler

Compiled 1174 to 824 computations (29.8% saved)

series174.0ms (0.6%)

Error
30.9b
Counts
3 → 18
Calls

3 calls:

60.0ms
(*.f64 -1/2 (/.f64 F A))
58.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 F A))))
45.0ms
(sqrt.f64 (*.f64 -1/2 (/.f64 F A)))
Compiler

Compiled 674 to 676 computations (-0.3% saved)

simplify79.0ms (0.3%)

Algorithm
egg-herbie
Counts
90 → 90
Iterations

Useful iterations: 0 (63.0ms)

IterNodesCost
049481045
149481045

prune130.0ms (0.5%)

Pruning

29 alts after pruning (28 fresh and 1 done)

PrunedKeptTotal
New82890
Fresh02020
Picked011
Done000
Total8229111
Error
30.7b
Counts
111 → 29
Compiler

Compiled 2200 to 1566 computations (28.8% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

14.4b
(sqrt.f64 (neg.f64 (/.f64 F A)))

rewrite44.0ms (0.2%)

Algorithm
rewrite-expression-head
Error
28.0b
Rules
30×sqrt-prod_binary64_2822
18×times-frac_binary64_2812
17×add-sqr-sqrt_binary64_2828
16×add-cube-cbrt_binary64_2841 *-un-lft-identity_binary64_2806
13×distribute-rgt-neg-in_binary64_2764 distribute-lft-neg-in_binary64_2763
pow1_binary64_2867 div-inv_binary64_2803
pow1/2_binary64_2886 add-log-exp_binary64_2845 add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 sqrt-pow1_binary64_2824 distribute-neg-frac_binary64_2770 sqrt-div_binary64_2823 neg-mul-1_binary64_2802 rem-sqrt-square_binary64_2819
Counts
1 → 41
Calls

1 calls:

4.0ms
(sqrt.f64 (neg.f64 (/.f64 F A)))
Compiler

Compiled 547 to 221 computations (59.6% saved)

series37.0ms (0.1%)

Error
30.7b
Counts
1 → 6
Calls

1 calls:

34.0ms
(sqrt.f64 (neg.f64 (/.f64 F A)))
Compiler

Compiled 160 to 154 computations (3.8% saved)

simplify152.0ms (0.5%)

Algorithm
egg-herbie
Counts
47 → 47
Iterations

Useful iterations: 0 (137.0ms)

IterNodesCost
04604671
14604671

prune82.0ms (0.3%)

Pruning

30 alts after pruning (29 fresh and 1 done)

PrunedKeptTotal
New40747
Fresh52227
Picked011
Done101
Total463076
Error
28.0b
Counts
76 → 30
Compiler

Compiled 1474 to 892 computations (39.5% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

0.1b
(sqrt.f64 (/.f64 -1 A))
0.3b
(*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A)))

rewrite89.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
28.0b
Rules
36×add-sqr-sqrt_binary64_2828 sqrt-prod_binary64_2822
21×times-frac_binary64_2812
19×add-cube-cbrt_binary64_2841 *-un-lft-identity_binary64_2806
16×associate-*r*_binary64_2746
pow1_binary64_2867
unswap-sqr_binary64_2774 associate-*l*_binary64_2747
add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842
pow1/2_binary64_2886 pow-prod-down_binary64_2877 sqrt-pow1_binary64_2824
add-log-exp_binary64_2845 sqrt-div_binary64_2823 div-inv_binary64_2803 rem-sqrt-square_binary64_2819
prod-exp_binary64_2855 cbrt-unprod_binary64_2839 sqrt-unprod_binary64_2826 associate-*r/_binary64_2748 *-commutative_binary64_2737
Counts
2 → 68
Calls

2 calls:

12.0ms
(*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A)))
3.0ms
(sqrt.f64 (/.f64 -1 A))
Compiler

Compiled 1023 to 688 computations (32.7% saved)

series64.0ms (0.2%)

Error
28.0b
Counts
2 → 9
Calls

2 calls:

47.0ms
(*.f64 (sqrt.f64 F) (sqrt.f64 (/.f64 -1 A)))
12.0ms
(sqrt.f64 (/.f64 -1 A))
Compiler

Compiled 277 to 270 computations (2.5% saved)

simplify96.0ms (0.3%)

Algorithm
egg-herbie
Counts
77 → 77
Iterations

Useful iterations: 0 (80.0ms)

IterNodesCost
04831989
14831989

prune63.0ms (0.2%)

Pruning

32 alts after pruning (30 fresh and 2 done)

PrunedKeptTotal
New69877
Fresh62228
Picked011
Done011
Total7532107
Error
28.0b
Counts
107 → 32
Compiler

Compiled 993 to 644 computations (35.1% saved)

regimes4.3s (15.1%)

Accuracy

Total 4.5b remaining (14.5%)

Threshold costs 0b (0%)

Compiler

Compiled 46698 to 34784 computations (25.5% saved)

bsearch16.0ms (0.1%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify35.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (6.0ms)

IterNodesCost
0386414
1386414
Compiler

Compiled 536 to 374 computations (30.2% saved)

end0.0ms (0%)

sample10.6s (37.4%)

Algorithm
intervals
Results
798.0ms5547×body128valid
524.0ms671×body2048valid
518.0ms833×body1024valid
463.0ms808×body1024nan
446.0ms571×body2048nan
428.0ms2897×body128nan
261.0ms600×body512valid
246.0ms586×body512nan
99.0ms348×body256valid
99.0ms358×body256nan
1.0msbody4096valid
Compiler

Compiled 8015 to 5958 computations (25.7% saved)

Profiling

Loading profile data...