Details

Time bar (total: 1.1min)

analyze3.6s (5.7%)

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)

sample160.0ms (0.3%)

Algorithm
intervals
Results
37.0ms176×body128valid
18.0ms20×body2048valid
17.0ms28×body1024valid
17.0ms98×body128nan
15.0ms19×body2048nan
10.0ms14×body1024nan
10.0ms18×body512valid
7.0ms14×body512nan
5.0ms14×body256valid
3.0ms10×body256nan
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify132.0ms (0.2%)

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
Error
51.4b
Counts
2 → 1
Compiler

Compiled 80 to 59 computations (26.3% saved)

localize20.0ms (0%)

Local error

Found 4 expressions with local error:

6.7b
(*.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)))))
13.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))))))
18.2b
(/.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)))
33.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite195.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
78×sqrt-div_binary64_1118
60×associate-*r/_binary64_1043
48×associate-*l/_binary64_1044
46×flip3-+_binary64_1104 flip-+_binary64_1075
43×*-un-lft-identity_binary64_1101
36×frac-times_binary64_1111 times-frac_binary64_1107 frac-add_binary64_1109
32×add-sqr-sqrt_binary64_1123
31×add-cube-cbrt_binary64_1136
24×pow1_binary64_1162
22×flip--_binary64_1076 flip3--_binary64_1105
20×distribute-neg-frac_binary64_1065 associate-/l/_binary64_1048
16×distribute-rgt-neg-in_binary64_1059 distribute-lft-neg-in_binary64_1058
15×add-exp-log_binary64_1139 sqrt-prod_binary64_1117 add-cbrt-cube_binary64_1137
12×associate-/l*_binary64_1046 pow-prod-down_binary64_1172
cbrt-unprod_binary64_1134 prod-exp_binary64_1150 distribute-lft-out_binary64_1052
sqrt-pow1_binary64_1119 associate-*r*_binary64_1041
unpow-prod-down_binary64_1180 add-log-exp_binary64_1140 neg-mul-1_binary64_1097
associate-/r*_binary64_1045
associate-/r/_binary64_1047 pow1/2_binary64_1181
*-commutative_binary64_1032 rem-sqrt-square_binary64_1114 frac-2neg_binary64_1112 distribute-lft-in_binary64_1050 clear-num_binary64_1100 distribute-lft-out--_binary64_1053 neg-sub0_binary64_1096 distribute-frac-neg_binary64_1064 div-inv_binary64_1098 div-exp_binary64_1152 cbrt-undiv_binary64_1135 associate-*l*_binary64_1042 distribute-rgt-in_binary64_1051 div-sub_binary64_1106
Counts
4 → 183
Calls

4 calls:

60.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))))))
37.0ms
(*.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)))))
32.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)))

series1.6s (2.4%)

Counts
4 → 12
Calls

4 calls:

638.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)))
468.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))))))
355.0ms
(*.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)))))
90.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

simplify245.0ms (0.4%)

Algorithm
egg-herbie
Counts
195 → 195
Iterations

Useful iterations: 0 (82.0ms)

IterNodesCost
0498514027
1498514027

prune1.2s (1.8%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New17520195
Fresh000
Picked101
Done000
Total17620196
Error
44.5b
Counts
196 → 20
Compiler

Compiled 14393 to 8015 computations (44.3% saved)

localize25.0ms (0%)

Local error

Found 4 expressions with local error:

5.3b
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)
18.0b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
20.2b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
33.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite56.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
48×sqrt-div_binary64_1118
22×associate-*r/_binary64_1043
21×add-sqr-sqrt_binary64_1123
20×distribute-neg-frac_binary64_1065 associate-/l/_binary64_1048 associate-*l/_binary64_1044
18×*-un-lft-identity_binary64_1101 add-cube-cbrt_binary64_1136 times-frac_binary64_1107
16×flip3-+_binary64_1104 flip-+_binary64_1075
13×pow1_binary64_1162
12×frac-times_binary64_1111 frac-add_binary64_1109
10×flip--_binary64_1076 flip3--_binary64_1105
add-exp-log_binary64_1139 add-cbrt-cube_binary64_1137
associate-/l*_binary64_1046
distribute-rgt-neg-in_binary64_1059 add-log-exp_binary64_1140 neg-mul-1_binary64_1097 sqrt-pow1_binary64_1119 sqrt-prod_binary64_1117 distribute-lft-neg-in_binary64_1058 pow-prod-down_binary64_1172
associate-*r*_binary64_1041 associate-*l*_binary64_1042 associate-/r*_binary64_1045
associate-/r/_binary64_1047 pow1/2_binary64_1181
*-commutative_binary64_1032 rem-sqrt-square_binary64_1114 cbrt-unprod_binary64_1134 prod-exp_binary64_1150 frac-2neg_binary64_1112 clear-num_binary64_1100 neg-sub0_binary64_1096 distribute-frac-neg_binary64_1064 div-inv_binary64_1098 div-exp_binary64_1152 cbrt-undiv_binary64_1135 unswap-sqr_binary64_1069 div-sub_binary64_1106
Counts
4 → 112
Calls

4 calls:

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

series936.0ms (1.5%)

Counts
4 → 12
Calls

4 calls:

568.0ms
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
178.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
102.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
87.0ms
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)

simplify112.0ms (0.2%)

Algorithm
egg-herbie
Counts
124 → 124
Iterations

Useful iterations: 0 (48.0ms)

IterNodesCost
049795915
149795915

prune498.0ms (0.8%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1186124
Fresh31619
Picked101
Done000
Total12222144
Error
42.0b
Counts
144 → 22
Compiler

Compiled 8590 to 4776 computations (44.4% saved)

localize35.0ms (0.1%)

Local error

Found 4 expressions with local error:

5.6b
(/.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.6b
(*.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)))))
20.2b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
33.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite132.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
153×*-un-lft-identity_binary64_1101
121×times-frac_binary64_1107
89×add-sqr-sqrt_binary64_1123
83×add-cube-cbrt_binary64_1136
75×sqrt-prod_binary64_1117
66×associate-*r*_binary64_1041
56×distribute-rgt-neg-in_binary64_1059 distribute-lft-neg-in_binary64_1058
42×distribute-lft-out_binary64_1052
20×associate-/l*_binary64_1046
18×sqrt-div_binary64_1118
13×pow1_binary64_1162
11×add-exp-log_binary64_1139 add-cbrt-cube_binary64_1137
associate-*l/_binary64_1044
neg-mul-1_binary64_1097 associate-*r/_binary64_1043
distribute-neg-frac_binary64_1065 flip3-+_binary64_1104 associate-/l/_binary64_1048 flip-+_binary64_1075
flip--_binary64_1076 flip3--_binary64_1105
add-log-exp_binary64_1140 sqrt-pow1_binary64_1119 associate-/r/_binary64_1047 pow-prod-down_binary64_1172 associate-*l*_binary64_1042 frac-add_binary64_1109
associate-/r*_binary64_1045
cbrt-unprod_binary64_1134 frac-times_binary64_1111 prod-exp_binary64_1150 distribute-frac-neg_binary64_1064 div-inv_binary64_1098 div-exp_binary64_1152 cbrt-undiv_binary64_1135 unswap-sqr_binary64_1069 pow1/2_binary64_1181
*-commutative_binary64_1032 rem-sqrt-square_binary64_1114 frac-2neg_binary64_1112 clear-num_binary64_1100 neg-sub0_binary64_1096 distribute-rgt-neg-out_binary64_1061 div-sub_binary64_1106
Counts
4 → 225
Calls

4 calls:

43.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)))))
28.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)))

series1.1s (1.8%)

Counts
4 → 12
Calls

4 calls:

536.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)))))
301.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))))
227.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
76.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify213.0ms (0.3%)

Algorithm
egg-herbie
Counts
237 → 237
Iterations

Useful iterations: 0 (83.0ms)

IterNodesCost
0494912824
1494912824

prune1.0s (1.6%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New2343237
Fresh02121
Picked011
Done000
Total23425259
Error
42.0b
Counts
259 → 25
Compiler

Compiled 15164 to 8153 computations (46.2% saved)

localize58.0ms (0.1%)

Local error

Found 4 expressions with local error:

18.5b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (sqrt.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
20.2b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
34.2b
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.2b
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite76.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
46×sqrt-div_binary64_1118
34×associate-*r/_binary64_1043
20×distribute-neg-frac_binary64_1065 associate-/l/_binary64_1048
18×times-frac_binary64_1107 associate-*l/_binary64_1044
17×add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101 flip3-+_binary64_1104 add-cube-cbrt_binary64_1136 flip-+_binary64_1075
16×cbrt-div_binary64_1133
12×frac-times_binary64_1111 frac-add_binary64_1109
10×pow1_binary64_1162
flip--_binary64_1076 flip3--_binary64_1105
add-exp-log_binary64_1139 associate-/l*_binary64_1046 add-cbrt-cube_binary64_1137 cbrt-prod_binary64_1132
distribute-rgt-neg-in_binary64_1059 add-log-exp_binary64_1140 neg-mul-1_binary64_1097 distribute-lft-neg-in_binary64_1058
sqrt-pow1_binary64_1119 pow-prod-down_binary64_1172 associate-/r*_binary64_1045
pow1/3_binary64_1183 associate-/r/_binary64_1047
frac-2neg_binary64_1112 clear-num_binary64_1100 neg-sub0_binary64_1096 sqrt-prod_binary64_1117 distribute-frac-neg_binary64_1064 div-inv_binary64_1098 div-exp_binary64_1152 cbrt-undiv_binary64_1135 pow1/2_binary64_1181 div-sub_binary64_1106
Counts
4 → 103
Calls

4 calls:

25.0ms
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (sqrt.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
8.0ms
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
8.0ms
(cbrt.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)))

series42.3s (66.9%)

Counts
4 → 12
Calls

4 calls:

41.7s
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (sqrt.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
223.0ms
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
212.0ms
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
185.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))

simplify106.0ms (0.2%)

Algorithm
egg-herbie
Counts
115 → 115
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
049347735
149347735

prune407.0ms (0.6%)

Pruning

26 alts after pruning (25 fresh and 1 done)

PrunedKeptTotal
New1096115
Fresh41923
Picked101
Done011
Total11426140
Error
42.0b
Counts
140 → 26
Compiler

Compiled 9280 to 4984 computations (46.3% saved)

regimes1.7s (2.8%)

Accuracy

Total 5.4b remaining (11.1%)

Threshold costs 0b (0%)

Compiler

Compiled 29609 to 19370 computations (34.6% saved)

bsearch303.0ms (0.5%)

Steps
ItersRangePoint
9
1.2147720541555725e+119
4.078193130473355e+125
3.6253503641308704e+122
9
6.697515362436663e-295
6.676811345099415e-289
1.0370206653323664e-290
9
-7.302337223590061e-208
-8.928823328075392e-213
-1.0923582101290374e-212
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0220328
1220328

end0.0ms (0%)

sample7.0s (11.1%)

Algorithm
intervals
Results
707.0ms5532×body128valid
669.0ms580×body2048nan
457.0ms659×body2048valid
450.0ms873×body1024nan
448.0ms872×body1024valid
387.0ms3010×body128nan
221.0ms594×body512nan
219.0ms577×body512valid
91.0ms357×body256valid
81.0ms326×body256nan
3.0msbody4096valid
Compiler

Compiled 5132 to 3339 computations (34.9% saved)

Profiling

Loading profile data...