Details

Time bar (total: 20.7s)

analyze2.8s (13.4%)

Algorithm
search
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
Compiler

Compiled 41 to 33 computations (19.5% saved)

sample150.0ms (0.7%)

Algorithm
intervals
Results
28.0ms173×body128valid
21.0ms29×body2048valid
21.0ms37×body1024nan
15.0ms20×body2048nan
14.0ms24×body1024valid
12.0ms87×body128nan
7.0ms16×body512nan
7.0ms16×body512valid
4.0ms14×body256valid
3.0msbody256nan
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify132.0ms (0.6%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (32.0ms)

IterNodesCost
0561361

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 51.8b

Counts
2 → 1
Compiler

Compiled 80 to 59 computations (26.3% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

7.0b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
13.4b
(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))))))
21.7b
(/.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)))
36.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite105.0ms (0.5%)

Algorithm
rewrite-expression-head
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×flip-+_binary64_2780 flip3-+_binary64_2809
24×frac-times_binary64_2816 frac-add_binary64_2814
20×associate-/l/_binary64_2753 distribute-neg-frac_binary64_2770
17×pow1_binary64_2867
16×distribute-lft-neg-in_binary64_2763 flip3--_binary64_2810 flip--_binary64_2781 distribute-rgt-neg-in_binary64_2764
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
neg-mul-1_binary64_2802 unpow-prod-down_binary64_2885 add-log-exp_binary64_2845
associate-*l*_binary64_2747 distribute-lft-out_binary64_2757 associate-/r*_binary64_2750 associate-*r*_binary64_2746
pow1/2_binary64_2886 associate-/r/_binary64_2752
neg-sub0_binary64_2801 div-inv_binary64_2803 div-exp_binary64_2857 *-commutative_binary64_2737 cbrt-undiv_binary64_2840 distribute-lft-out--_binary64_2758 div-sub_binary64_2811 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 rem-sqrt-square_binary64_2819 distribute-frac-neg_binary64_2769 clear-num_binary64_2805 unswap-sqr_binary64_2774 frac-2neg_binary64_2817
Counts
4 → 158
Calls

4 calls:

30.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)))
12.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)

series885.0ms (4.3%)

Counts
4 → 12
Calls

4 calls:

422.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)))
329.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))))))
68.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
65.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)

simplify135.0ms (0.7%)

Algorithm
egg-herbie
Counts
170 → 170
Iterations

Useful iterations: 0 (53.0ms)

IterNodesCost
0494711055
1494711055

prune666.0ms (3.2%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New15317170
Fresh000
Picked101
Done000
Total15417171

Merged error: 45.6b

Counts
171 → 17
Compiler

Compiled 11994 to 6799 computations (43.3% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.9b
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))))
12.4b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))))
18.0b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
36.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite210.0ms (1%)

Algorithm
rewrite-expression-head
Rules
640×times-frac_binary64_2812
487×*-un-lft-identity_binary64_2806
298×add-sqr-sqrt_binary64_2828
297×add-cube-cbrt_binary64_2841
265×sqrt-prod_binary64_2822
152×distribute-lft-neg-in_binary64_2763 distribute-rgt-neg-in_binary64_2764
114×distribute-lft-out_binary64_2757
90×associate-/r*_binary64_2750
66×sqrt-div_binary64_2823
37×associate-/r/_binary64_2752
36×distribute-neg-frac_binary64_2770
31×flip-+_binary64_2780 flip3-+_binary64_2809
24×frac-add_binary64_2814
19×neg-mul-1_binary64_2802
11×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 pow1_binary64_2867
div-inv_binary64_2803 associate-/l*_binary64_2751
associate-/l/_binary64_2753 div-exp_binary64_2857 cbrt-undiv_binary64_2840 sqrt-pow1_binary64_2824 add-log-exp_binary64_2845 associate-*r/_binary64_2748 associate-*l/_binary64_2749
flip3--_binary64_2810 flip--_binary64_2781 pow-prod-down_binary64_2877
pow1/2_binary64_2886 clear-num_binary64_2805 frac-2neg_binary64_2817
div-sub_binary64_2811 rem-sqrt-square_binary64_2819
Counts
4 → 504
Calls

4 calls:

44.0ms
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))))
23.0ms
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))))
9.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
9.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))

series874.0ms (4.2%)

Counts
4 → 12
Calls

4 calls:

397.0ms
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))))
251.0ms
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))))
151.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
74.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify372.0ms (1.8%)

Algorithm
egg-herbie
Counts
516 → 516
Iterations

Useful iterations: 0 (55.0ms)

IterNodesCost
0524146794

prune2.8s (13.4%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New5115516
Fresh31316
Picked101
Done000
Total51518533

Merged error: 44.4b

Counts
533 → 18
Compiler

Compiled 37045 to 20169 computations (45.6% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

9.2b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
12.0b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
18.0b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
36.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite130.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
153×*-un-lft-identity_binary64_2806
121×times-frac_binary64_2812
89×add-sqr-sqrt_binary64_2828
83×add-cube-cbrt_binary64_2841
75×sqrt-prod_binary64_2822
66×associate-*r*_binary64_2746
56×distribute-lft-neg-in_binary64_2763 distribute-rgt-neg-in_binary64_2764
42×distribute-lft-out_binary64_2757
20×associate-/l*_binary64_2751
18×sqrt-div_binary64_2823
13×pow1_binary64_2867
11×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842
associate-*l/_binary64_2749
neg-mul-1_binary64_2802 associate-*r/_binary64_2748
associate-/l/_binary64_2753 distribute-neg-frac_binary64_2770 flip-+_binary64_2780 flip3-+_binary64_2809
flip3--_binary64_2810 flip--_binary64_2781
associate-*l*_binary64_2747 sqrt-pow1_binary64_2824 add-log-exp_binary64_2845 frac-add_binary64_2814 associate-/r/_binary64_2752 pow-prod-down_binary64_2877
associate-/r*_binary64_2750
frac-times_binary64_2816 pow1/2_binary64_2886 div-inv_binary64_2803 div-exp_binary64_2857 cbrt-undiv_binary64_2840 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 distribute-frac-neg_binary64_2769 unswap-sqr_binary64_2774
distribute-rgt-neg-out_binary64_2766 neg-sub0_binary64_2801 *-commutative_binary64_2737 div-sub_binary64_2811 rem-sqrt-square_binary64_2819 clear-num_binary64_2805 frac-2neg_binary64_2817
Counts
4 → 225
Calls

4 calls:

45.0ms
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
23.0ms
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
7.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))

series830.0ms (4%)

Counts
4 → 12
Calls

4 calls:

395.0ms
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
223.0ms
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
145.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
68.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify148.0ms (0.7%)

Algorithm
egg-herbie
Counts
237 → 237
Iterations

Useful iterations: 0 (49.0ms)

IterNodesCost
0494912824
1494912824

prune791.0ms (3.8%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New2370237
Fresh01717
Picked011
Done000
Total23718255

Merged error: 44.4b

Counts
255 → 18
Compiler

Compiled 14771 to 7901 computations (46.5% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.9b
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))))
12.4b
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))))
18.0b
(sqrt.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))
36.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite145.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
250×times-frac_binary64_2812
218×*-un-lft-identity_binary64_2806
119×add-sqr-sqrt_binary64_2828
118×add-cube-cbrt_binary64_2841
104×sqrt-prod_binary64_2822
90×associate-/r*_binary64_2750
80×distribute-lft-neg-in_binary64_2763 distribute-rgt-neg-in_binary64_2764
60×distribute-lft-out_binary64_2757
36×sqrt-div_binary64_2823
19×associate-/r/_binary64_2752
18×add-exp-log_binary64_2844 add-cbrt-cube_binary64_2842 distribute-neg-frac_binary64_2770
16×flip-+_binary64_2780 flip3-+_binary64_2809
12×frac-add_binary64_2814
10×neg-mul-1_binary64_2802
pow1_binary64_2867
div-exp_binary64_2857 cbrt-undiv_binary64_2840
associate-/l/_binary64_2753 div-inv_binary64_2803 add-log-exp_binary64_2845 associate-/l*_binary64_2751 associate-*l/_binary64_2749
flip3--_binary64_2810 sqrt-pow1_binary64_2824 flip--_binary64_2781
pow1/2_binary64_2886 prod-exp_binary64_2855 cbrt-unprod_binary64_2839 clear-num_binary64_2805 associate-*r/_binary64_2748 frac-2neg_binary64_2817
div-sub_binary64_2811 rem-sqrt-square_binary64_2819 pow-prod-down_binary64_2877
Counts
4 → 294
Calls

4 calls:

43.0ms
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))))
23.0ms
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
5.0ms
(sqrt.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))

series846.0ms (4.1%)

Counts
4 → 12
Calls

4 calls:

410.0ms
(/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))))
245.0ms
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))))
119.0ms
(sqrt.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))
71.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify187.0ms (0.9%)

Algorithm
egg-herbie
Counts
306 → 306
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
0499720224
1499720224

prune1.1s (5.1%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New3042306
Fresh01616
Picked101
Done011
Total30519324

Merged error: 41.9b

Counts
324 → 19
Compiler

Compiled 18884 to 9966 computations (47.2% saved)

regimes1.2s (5.6%)

Compiler

Compiled 17915 to 12176 computations (32% saved)

bsearch6.0ms (0%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0133252
1133252

end0.0ms (0%)

sample6.2s (30.1%)

Algorithm
intervals
Results
800.0ms5552×body128valid
535.0ms689×body2048valid
502.0ms865×body1024nan
499.0ms825×body1024valid
444.0ms588×body2048nan
413.0ms2910×body128nan
256.0ms604×body512nan
250.0ms599×body512valid
94.0ms335×body256valid
89.0ms322×body256nan
Compiler

Compiled 3135 to 2122 computations (32.3% saved)

Profiling

Loading profile data...