Details

Time bar (total: 36.3s)

analyze2.0s (5.5%)

Algorithm
search
egg-herbie
Rules
752×associate-*r/_binary64_1043
481×*-commutative_binary64_1032
271×cancel-sign-sub-inv_binary64_1067
230×associate-/l*_binary64_1046
224×neg-mul-1_binary64_1097 neg-sub0_binary64_1096
216×unswap-sqr_binary64_1069
205×distribute-rgt-neg-in_binary64_1059
185×distribute-lft-neg-in_binary64_1058
140×distribute-rgt-in_binary64_1051 distribute-lft-in_binary64_1050
129×associate-*l*_binary64_1042
118×associate-/r/_binary64_1047
100×swap-sqr_binary64_1068
94×distribute-neg-frac_binary64_1065
87×sub-neg_binary64_1094
85×sqr-pow_binary64_1073
77×associate-*r*_binary64_1041
72×times-frac_binary64_1107
71×associate-/r*_binary64_1045
48×associate-*l/_binary64_1044
40×unsub-neg_binary64_1095 distribute-lft-neg-out_binary64_1060
29×*-rgt-identity_binary64_1091 *-lft-identity_binary64_1090
21×unpow1/2_binary64_1165
20×div-sub_binary64_1106 distribute-rgt-neg-out_binary64_1061
18×associate-/l/_binary64_1048
10×unpow2_binary64_1166 sub0-neg_binary64_1088 associate-+l-_binary64_1036 +-commutative_binary64_1031
unpow1_binary64_1159 rem-sqrt-square_binary64_1114
1-exp_binary64_1145 swap-M-D
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1364 erf-erfc_binary64_1363 erf-odd_binary64_1362 if-if-and-not_binary64_1361 if-if-and_binary64_1360 if-if-or-not_binary64_1359 if-if-or_binary64_1358 if-not_binary64_1357 if-same_binary64_1356 if-false_binary64_1355 if-true_binary64_1354 not-gte_binary64_1353 not-lte_binary64_1352 not-gt_binary64_1351 not-lt_binary64_1350 gte-same_binary64_1349 lte-same_binary64_1348 gt-same_binary64_1347 lt-same_binary64_1346 sinh---cosh_binary64_1293 sinh-+-cosh_binary64_1292 sinh-cosh_binary64_1291 tanh-def-c_binary64_1290 tanh-def-b_binary64_1289 tanh-def-a_binary64_1288 cosh-def_binary64_1287 sinh-def_binary64_1286 tan-neg_binary64_1233 cos-neg_binary64_1232 sin-neg_binary64_1231 tan-0_binary64_1230 cos-0_binary64_1229 sin-0_binary64_1228 hang-m-tan_binary64_1227 hang-p-tan_binary64_1226 hang-m0-tan_binary64_1225 hang-p0-tan_binary64_1224 hang-0m-tan_binary64_1223 hang-0p-tan_binary64_1222 tan-+PI/2_binary64_1221 tan-+PI_binary64_1220 tan-PI_binary64_1219 tan-PI/3_binary64_1218 tan-PI/4_binary64_1217 tan-PI/6_binary64_1216 cos-+PI/2_binary64_1215 cos-+PI_binary64_1214 cos-PI_binary64_1213 cos-PI/2_binary64_1212 cos-PI/3_binary64_1211 cos-PI/4_binary64_1210 cos-PI/6_binary64_1209 sin-+PI/2_binary64_1208 sin-+PI_binary64_1207 sin-PI_binary64_1206 sin-PI/2_binary64_1205 sin-PI/3_binary64_1204 sin-PI/4_binary64_1203 sin-PI/6_binary64_1202 sub-1-sin_binary64_1201 sub-1-cos_binary64_1200 -1-add-sin_binary64_1199 -1-add-cos_binary64_1198 1-sub-sin_binary64_1197 1-sub-cos_binary64_1196 cos-sin-sum_binary64_1195 log-E_binary64_1191 log-pow_binary64_1190 log-rec_binary64_1189 log-div_binary64_1188 log-prod_binary64_1187 pow-base-0_binary64_1185 unpow1/3_binary64_1168 unpow3_binary64_1167 pow-plus_binary64_1164 exp-to-pow_binary64_1163 pow-base-1_binary64_1161 unpow0_binary64_1160 unpow-1_binary64_1158 exp-lft-cube_binary64_1157 exp-lft-sqr_binary64_1156 exp-cbrt_binary64_1155 exp-sqrt_binary64_1154 exp-prod_binary64_1153 div-exp_binary64_1152 rec-exp_binary64_1151 prod-exp_binary64_1150 exp-diff_binary64_1149 exp-neg_binary64_1148 exp-sum_binary64_1147 e-exp-1_binary64_1146 exp-1-e_binary64_1144 exp-0_binary64_1143 rem-log-exp_binary64_1142 rem-exp-log_binary64_1141 cube-unmult_binary64_1138 cube-mult_binary64_1131 cube-div_binary64_1130 cube-prod_binary64_1129 cube-neg_binary64_1128 rem-3cbrt-rft_binary64_1127 rem-3cbrt-lft_binary64_1126 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 sqr-abs_binary64_1116 sqr-neg_binary64_1115 rem-square-sqrt_binary64_1113 mul-1-neg_binary64_1093 /-rgt-identity_binary64_1092 remove-double-neg_binary64_1089 --rgt-identity_binary64_1087 +-rgt-identity_binary64_1086 +-lft-identity_binary64_1085 mul0-rgt_binary64_1084 mul0-lft_binary64_1083 div0_binary64_1082 *-inverses_binary64_1081 +-inverses_binary64_1080 lft-mult-inverse_binary64_1079 rgt-mult-inverse_binary64_1078 remove-double-div_binary64_1077 pow-sqr_binary64_1074 difference-of-sqr--1_binary64_1072 difference-of-sqr-1_binary64_1071 difference-of-squares_binary64_1070 cancel-sign-sub_binary64_1066 distribute-frac-neg_binary64_1064 distribute-neg-out_binary64_1063 distribute-neg-in_binary64_1062 distribute-rgt1-in_binary64_1057 distribute-lft1-in_binary64_1056 distribute-rgt-out--_binary64_1055 distribute-rgt-out_binary64_1054 distribute-lft-out--_binary64_1053 distribute-lft-out_binary64_1052 count-2_binary64_1049 associate--r-_binary64_1040 associate--l-_binary64_1039 associate--l+_binary64_1038 associate--r+_binary64_1037 associate-+r-_binary64_1035 associate-+l+_binary64_1034 associate-+r+_binary64_1033
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0122451
1393451
21448451
34121451
45362451
055
155
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%81.1%18.9%7
0%68.6%31.4%8
0%59.2%40.8%9
0%59.2%40.8%10
0%59.2%40.8%11
0.4%49.5%50.1%12
0.8%44.4%54.8%13
1.4%39.9%58.7%14
Symmetry

(sort M D)

Compiler

Compiled 36 to 32 computations (11.1% saved)

sample137.0ms (0.4%)

Algorithm
intervals
Results
39.0ms256×body128valid
30.0ms251×body128nan
18.0ms129×body128invalid
Compiler

Compiled 71 to 68 computations (4.2% saved)

simplify37.0ms (0.1%)

Algorithm
egg-herbie
Rules
679×distribute-neg-frac_binary64_1065
437×*-commutative_binary64_1032
425×associate-/l*_binary64_1046
347×cancel-sign-sub-inv_binary64_1067
263×associate-/l/_binary64_1048
212×associate-/r/_binary64_1047
203×associate-/r*_binary64_1045
201×neg-sub0_binary64_1096
200×neg-mul-1_binary64_1097
198×distribute-rgt-neg-in_binary64_1059
195×distribute-lft-neg-in_binary64_1058
188×times-frac_binary64_1107
160×associate-*l*_binary64_1042
141×associate-*r*_binary64_1041
136×unswap-sqr_binary64_1069
118×unsub-neg_binary64_1095
107×associate-*l/_binary64_1044
76×associate-*r/_binary64_1043
67×distribute-rgt-in_binary64_1051 distribute-lft-in_binary64_1050
30×distribute-lft-neg-out_binary64_1060
29×sub-neg_binary64_1094
27×distribute-rgt-neg-out_binary64_1061
24×div-sub_binary64_1106
20×swap-sqr_binary64_1068
19×sqr-pow_binary64_1073
14×distribute-rgt-out_binary64_1054 distribute-lft-out_binary64_1052
12×mul0-rgt_binary64_1084 mul0-lft_binary64_1083
*-rgt-identity_binary64_1091 *-lft-identity_binary64_1090
cube-unmult_binary64_1138
pow-plus_binary64_1164
unpow1/2_binary64_1165 +-commutative_binary64_1031
div0_binary64_1082
unpow2_binary64_1166 unpow1_binary64_1159 1-exp_binary64_1145 rem-sqrt-square_binary64_1114 sub0-neg_binary64_1088 associate-+l-_binary64_1036 associate-+l+_binary64_1034
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1364 erf-erfc_binary64_1363 erf-odd_binary64_1362 if-if-and-not_binary64_1361 if-if-and_binary64_1360 if-if-or-not_binary64_1359 if-if-or_binary64_1358 if-not_binary64_1357 if-same_binary64_1356 if-false_binary64_1355 if-true_binary64_1354 not-gte_binary64_1353 not-lte_binary64_1352 not-gt_binary64_1351 not-lt_binary64_1350 gte-same_binary64_1349 lte-same_binary64_1348 gt-same_binary64_1347 lt-same_binary64_1346 sinh---cosh_binary64_1293 sinh-+-cosh_binary64_1292 sinh-cosh_binary64_1291 tanh-def-c_binary64_1290 tanh-def-b_binary64_1289 tanh-def-a_binary64_1288 cosh-def_binary64_1287 sinh-def_binary64_1286 tan-neg_binary64_1233 cos-neg_binary64_1232 sin-neg_binary64_1231 tan-0_binary64_1230 cos-0_binary64_1229 sin-0_binary64_1228 hang-m-tan_binary64_1227 hang-p-tan_binary64_1226 hang-m0-tan_binary64_1225 hang-p0-tan_binary64_1224 hang-0m-tan_binary64_1223 hang-0p-tan_binary64_1222 tan-+PI/2_binary64_1221 tan-+PI_binary64_1220 tan-PI_binary64_1219 tan-PI/3_binary64_1218 tan-PI/4_binary64_1217 tan-PI/6_binary64_1216 cos-+PI/2_binary64_1215 cos-+PI_binary64_1214 cos-PI_binary64_1213 cos-PI/2_binary64_1212 cos-PI/3_binary64_1211 cos-PI/4_binary64_1210 cos-PI/6_binary64_1209 sin-+PI/2_binary64_1208 sin-+PI_binary64_1207 sin-PI_binary64_1206 sin-PI/2_binary64_1205 sin-PI/3_binary64_1204 sin-PI/4_binary64_1203 sin-PI/6_binary64_1202 sub-1-sin_binary64_1201 sub-1-cos_binary64_1200 -1-add-sin_binary64_1199 -1-add-cos_binary64_1198 1-sub-sin_binary64_1197 1-sub-cos_binary64_1196 cos-sin-sum_binary64_1195 log-E_binary64_1191 log-pow_binary64_1190 log-rec_binary64_1189 log-div_binary64_1188 log-prod_binary64_1187 pow-base-0_binary64_1185 unpow1/3_binary64_1168 unpow3_binary64_1167 exp-to-pow_binary64_1163 pow-base-1_binary64_1161 unpow0_binary64_1160 unpow-1_binary64_1158 exp-lft-cube_binary64_1157 exp-lft-sqr_binary64_1156 exp-cbrt_binary64_1155 exp-sqrt_binary64_1154 exp-prod_binary64_1153 div-exp_binary64_1152 rec-exp_binary64_1151 prod-exp_binary64_1150 exp-diff_binary64_1149 exp-neg_binary64_1148 exp-sum_binary64_1147 e-exp-1_binary64_1146 exp-1-e_binary64_1144 exp-0_binary64_1143 rem-log-exp_binary64_1142 rem-exp-log_binary64_1141 cube-mult_binary64_1131 cube-div_binary64_1130 cube-prod_binary64_1129 cube-neg_binary64_1128 rem-3cbrt-rft_binary64_1127 rem-3cbrt-lft_binary64_1126 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 sqr-abs_binary64_1116 sqr-neg_binary64_1115 rem-square-sqrt_binary64_1113 mul-1-neg_binary64_1093 /-rgt-identity_binary64_1092 remove-double-neg_binary64_1089 --rgt-identity_binary64_1087 +-rgt-identity_binary64_1086 +-lft-identity_binary64_1085 *-inverses_binary64_1081 +-inverses_binary64_1080 lft-mult-inverse_binary64_1079 rgt-mult-inverse_binary64_1078 remove-double-div_binary64_1077 pow-sqr_binary64_1074 difference-of-sqr--1_binary64_1072 difference-of-sqr-1_binary64_1071 difference-of-squares_binary64_1070 cancel-sign-sub_binary64_1066 distribute-frac-neg_binary64_1064 distribute-neg-out_binary64_1063 distribute-neg-in_binary64_1062 distribute-rgt1-in_binary64_1057 distribute-lft1-in_binary64_1056 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053 count-2_binary64_1049 associate--r-_binary64_1040 associate--l-_binary64_1039 associate--l+_binary64_1038 associate--r+_binary64_1037 associate-+r-_binary64_1035 associate-+r+_binary64_1033
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02441
16241
218841
3106041
4349041
5520541

prune6.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
26.6b
Counts
2 → 1
Compiler

Compiled 54 to 46 computations (14.8% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

6.6b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
11.0b
(sqrt.f64 (/.f64 d h))
12.6b
(sqrt.f64 (/.f64 d l))
12.8b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite351.0ms (1%)

Algorithm
rewrite-expression-head
Error
13.2b
Rules
77×add-exp-log_binary64_1139
41×prod-exp_binary64_1150
32×add-sqr-sqrt_binary64_1123
29×times-frac_binary64_1107
26×add-cube-cbrt_binary64_1136 *-un-lft-identity_binary64_1101 sqrt-prod_binary64_1117
21×add-cbrt-cube_binary64_1137
16×div-exp_binary64_1152 associate-*r*_binary64_1041
14×sqrt-div_binary64_1118
13×pow1_binary64_1162
10×pow-exp_binary64_1169
cbrt-unprod_binary64_1134 frac-times_binary64_1111
associate-*r/_binary64_1043 associate-*l/_binary64_1044
pow-prod-down_binary64_1172 add-log-exp_binary64_1140 rem-sqrt-square_binary64_1114 flip3--_binary64_1105 flip--_binary64_1076
div-inv_binary64_1098
pow-to-exp_binary64_1170 cbrt-undiv_binary64_1135 associate-*l*_binary64_1042 *-commutative_binary64_1032 pow1/2_binary64_1181 sqrt-pow1_binary64_1119 sub-neg_binary64_1094 distribute-rgt-in_binary64_1051 cancel-sign-sub-inv_binary64_1067 distribute-lft-in_binary64_1050
Counts
4 → 127
Calls

4 calls:

16.0ms
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
11.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
3.0ms
(sqrt.f64 (/.f64 d l))
3.0ms
(sqrt.f64 (/.f64 d h))
Compiler

Compiled 4932 to 2296 computations (53.4% saved)

series2.3s (6.4%)

Error
18.8b
Counts
4 → 50
Calls

4 calls:

1.3s
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
827.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
58.0ms
(sqrt.f64 (/.f64 d h))
55.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 3752 to 2913 computations (22.4% saved)

simplify165.0ms (0.5%)

Algorithm
egg-herbie
Rules
383×associate-*l*_binary64_1042
313×associate-*r*_binary64_1041
302×distribute-rgt-in_binary64_1051
278×distribute-lft-in_binary64_1050
200×*-commutative_binary64_1032
193×distribute-rgt-neg-in_binary64_1059
175×distribute-lft-neg-in_binary64_1058
138×cancel-sign-sub-inv_binary64_1067
134×log-prod_binary64_1187
130×exp-prod_binary64_1153
126×associate-/l*_binary64_1046
110×associate-*r/_binary64_1043
88×times-frac_binary64_1107 associate-*l/_binary64_1044
75×unswap-sqr_binary64_1069
74×distribute-neg-frac_binary64_1065
68×associate-/r*_binary64_1045
60×sqr-pow_binary64_1073
53×cube-prod_binary64_1129
49×log-div_binary64_1188
48×distribute-lft-neg-out_binary64_1060
44×swap-sqr_binary64_1068
40×neg-sub0_binary64_1096
39×*-lft-identity_binary64_1090
38×unpow3_binary64_1167
37×distribute-rgt-neg-out_binary64_1061
36×sub-neg_binary64_1094 *-rgt-identity_binary64_1091
35×+-commutative_binary64_1031
33×neg-mul-1_binary64_1097
31×associate-/l/_binary64_1048
28×associate-/r/_binary64_1047
21×associate-+l+_binary64_1034
18×distribute-rgt-out_binary64_1054
15×cube-div_binary64_1130
14×distribute-lft-out_binary64_1052
11×log-pow_binary64_1190 unpow1/2_binary64_1165
10×rem-sqrt-square_binary64_1114
cube-unmult_binary64_1138
/-rgt-identity_binary64_1092 associate-+r-_binary64_1035
pow-plus_binary64_1164 associate-+r+_binary64_1033
unpow2_binary64_1166 unpow1_binary64_1159 mul-1-neg_binary64_1093
cube-mult_binary64_1131 unsub-neg_binary64_1095 distribute-rgt1-in_binary64_1057
exp-sqrt_binary64_1154 pow-sqr_binary64_1074 associate--l+_binary64_1038 associate--r+_binary64_1037
exp-sum_binary64_1147 rem-square-sqrt_binary64_1113 distribute-neg-in_binary64_1062
div-sub_binary64_1106 distribute-lft1-in_binary64_1056
exp-diff_binary64_1149 1-exp_binary64_1145 exp-1-e_binary64_1144 associate-+l-_binary64_1036
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1364 erf-erfc_binary64_1363 erf-odd_binary64_1362 if-if-and-not_binary64_1361 if-if-and_binary64_1360 if-if-or-not_binary64_1359 if-if-or_binary64_1358 if-not_binary64_1357 if-same_binary64_1356 if-false_binary64_1355 if-true_binary64_1354 not-gte_binary64_1353 not-lte_binary64_1352 not-gt_binary64_1351 not-lt_binary64_1350 gte-same_binary64_1349 lte-same_binary64_1348 gt-same_binary64_1347 lt-same_binary64_1346 sinh---cosh_binary64_1293 sinh-+-cosh_binary64_1292 sinh-cosh_binary64_1291 tanh-def-c_binary64_1290 tanh-def-b_binary64_1289 tanh-def-a_binary64_1288 cosh-def_binary64_1287 sinh-def_binary64_1286 tan-neg_binary64_1233 cos-neg_binary64_1232 sin-neg_binary64_1231 tan-0_binary64_1230 cos-0_binary64_1229 sin-0_binary64_1228 hang-m-tan_binary64_1227 hang-p-tan_binary64_1226 hang-m0-tan_binary64_1225 hang-p0-tan_binary64_1224 hang-0m-tan_binary64_1223 hang-0p-tan_binary64_1222 tan-+PI/2_binary64_1221 tan-+PI_binary64_1220 tan-PI_binary64_1219 tan-PI/3_binary64_1218 tan-PI/4_binary64_1217 tan-PI/6_binary64_1216 cos-+PI/2_binary64_1215 cos-+PI_binary64_1214 cos-PI_binary64_1213 cos-PI/2_binary64_1212 cos-PI/3_binary64_1211 cos-PI/4_binary64_1210 cos-PI/6_binary64_1209 sin-+PI/2_binary64_1208 sin-+PI_binary64_1207 sin-PI_binary64_1206 sin-PI/2_binary64_1205 sin-PI/3_binary64_1204 sin-PI/4_binary64_1203 sin-PI/6_binary64_1202 sub-1-sin_binary64_1201 sub-1-cos_binary64_1200 -1-add-sin_binary64_1199 -1-add-cos_binary64_1198 1-sub-sin_binary64_1197 1-sub-cos_binary64_1196 cos-sin-sum_binary64_1195 log-E_binary64_1191 log-rec_binary64_1189 pow-base-0_binary64_1185 unpow1/3_binary64_1168 exp-to-pow_binary64_1163 pow-base-1_binary64_1161 unpow0_binary64_1160 unpow-1_binary64_1158 exp-lft-cube_binary64_1157 exp-lft-sqr_binary64_1156 exp-cbrt_binary64_1155 div-exp_binary64_1152 rec-exp_binary64_1151 prod-exp_binary64_1150 exp-neg_binary64_1148 e-exp-1_binary64_1146 exp-0_binary64_1143 rem-log-exp_binary64_1142 rem-exp-log_binary64_1141 cube-neg_binary64_1128 rem-3cbrt-rft_binary64_1127 rem-3cbrt-lft_binary64_1126 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 sqr-abs_binary64_1116 sqr-neg_binary64_1115 remove-double-neg_binary64_1089 sub0-neg_binary64_1088 --rgt-identity_binary64_1087 +-rgt-identity_binary64_1086 +-lft-identity_binary64_1085 mul0-rgt_binary64_1084 mul0-lft_binary64_1083 div0_binary64_1082 *-inverses_binary64_1081 +-inverses_binary64_1080 lft-mult-inverse_binary64_1079 rgt-mult-inverse_binary64_1078 remove-double-div_binary64_1077 difference-of-sqr--1_binary64_1072 difference-of-sqr-1_binary64_1071 difference-of-squares_binary64_1070 cancel-sign-sub_binary64_1066 distribute-frac-neg_binary64_1064 distribute-neg-out_binary64_1063 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053 count-2_binary64_1049 associate--r-_binary64_1040 associate--l-_binary64_1039
Counts
177 → 126
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03324611
17604377
228174371
347734371
449794371

prune259.0ms (0.7%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New11016126
Fresh000
Picked101
Done000
Total11116127
Error
11.3b
Counts
127 → 16
Compiler

Compiled 4480 to 2110 computations (52.9% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.8b
(/.f64 (*.f64 M D) (*.f64 d 2))
6.6b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
12.6b
(sqrt.f64 (/.f64 d l))
12.8b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite332.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
10.5b
Rules
93×add-exp-log_binary64_1139
48×prod-exp_binary64_1150
37×add-cbrt-cube_binary64_1137
22×add-sqr-sqrt_binary64_1123
20×div-exp_binary64_1152 times-frac_binary64_1107
19×add-cube-cbrt_binary64_1136 *-un-lft-identity_binary64_1101
16×pow1_binary64_1162 cbrt-unprod_binary64_1134 associate-*r*_binary64_1041
13×sqrt-div_binary64_1118 sqrt-prod_binary64_1117
12×associate-*r/_binary64_1043
10×pow-exp_binary64_1169
frac-times_binary64_1111
pow-prod-down_binary64_1172
cbrt-undiv_binary64_1135 associate-*l/_binary64_1044
add-log-exp_binary64_1140 flip3--_binary64_1105 flip--_binary64_1076
div-inv_binary64_1098
pow-to-exp_binary64_1170 associate-*l*_binary64_1042 *-commutative_binary64_1032 rem-sqrt-square_binary64_1114 sub-neg_binary64_1094 distribute-rgt-in_binary64_1051 cancel-sign-sub-inv_binary64_1067 distribute-lft-in_binary64_1050
pow1/2_binary64_1181 sqrt-pow1_binary64_1119 frac-2neg_binary64_1112 clear-num_binary64_1100 associate-/l*_binary64_1046 associate-/r*_binary64_1045
Counts
4 → 126
Calls

4 calls:

21.0ms
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
12.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
6.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
5.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 6223 to 2306 computations (62.9% saved)

series4.6s (12.8%)

Error
11.3b
Counts
4 → 55
Calls

4 calls:

3.4s
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
819.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
207.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
64.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 6576 to 4835 computations (26.5% saved)

simplify249.0ms (0.7%)

Algorithm
egg-herbie
Rules
655×associate-*l*_binary64_1042
521×associate-*r*_binary64_1041
298×*-commutative_binary64_1032
213×log-prod_binary64_1187
210×times-frac_binary64_1107
176×associate-/l*_binary64_1046
141×associate-*r/_binary64_1043
122×log-div_binary64_1188
117×associate-*l/_binary64_1044
101×associate-/r*_binary64_1045
96×cube-prod_binary64_1129
95×exp-prod_binary64_1153 sqr-pow_binary64_1073
59×distribute-rgt-in_binary64_1051
58×distribute-lft-in_binary64_1050
52×sub-neg_binary64_1094
49×neg-sub0_binary64_1096
42×*-lft-identity_binary64_1090
41×neg-mul-1_binary64_1097
40×+-commutative_binary64_1031
39×*-rgt-identity_binary64_1091
36×cube-div_binary64_1130
28×distribute-rgt-neg-in_binary64_1059
27×associate-+l+_binary64_1034
25×cancel-sign-sub-inv_binary64_1067
23×swap-sqr_binary64_1068 distribute-lft-neg-in_binary64_1058
21×associate-/r/_binary64_1047
20×associate-/l/_binary64_1048
16×log-pow_binary64_1190
13×cube-unmult_binary64_1138
10×associate-+r+_binary64_1033
mul-1-neg_binary64_1093 /-rgt-identity_binary64_1092
exp-sum_binary64_1147 associate-+r-_binary64_1035
rem-sqrt-square_binary64_1114 div-sub_binary64_1106
unpow3_binary64_1167 pow-plus_binary64_1164 unsub-neg_binary64_1095 pow-sqr_binary64_1074 unswap-sqr_binary64_1069 distribute-neg-frac_binary64_1065 distribute-lft-neg-out_binary64_1060
unpow1/2_binary64_1165 exp-sqrt_binary64_1154
unpow1/3_binary64_1168 unpow2_binary64_1166 unpow1_binary64_1159 exp-diff_binary64_1149 cube-mult_binary64_1131 associate--l+_binary64_1038 associate--r+_binary64_1037
distribute-rgt-neg-out_binary64_1061 distribute-rgt-out_binary64_1054
rem-square-sqrt_binary64_1113 distribute-neg-in_binary64_1062 distribute-rgt1-in_binary64_1057 distribute-lft-out_binary64_1052 associate-+l-_binary64_1036
log-rec_binary64_1189 exp-neg_binary64_1148 1-exp_binary64_1145 exp-1-e_binary64_1144 sqr-abs_binary64_1116 distribute-frac-neg_binary64_1064 distribute-neg-out_binary64_1063 associate--r-_binary64_1040 associate--l-_binary64_1039
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1364 erf-erfc_binary64_1363 erf-odd_binary64_1362 if-if-and-not_binary64_1361 if-if-and_binary64_1360 if-if-or-not_binary64_1359 if-if-or_binary64_1358 if-not_binary64_1357 if-same_binary64_1356 if-false_binary64_1355 if-true_binary64_1354 not-gte_binary64_1353 not-lte_binary64_1352 not-gt_binary64_1351 not-lt_binary64_1350 gte-same_binary64_1349 lte-same_binary64_1348 gt-same_binary64_1347 lt-same_binary64_1346 sinh---cosh_binary64_1293 sinh-+-cosh_binary64_1292 sinh-cosh_binary64_1291 tanh-def-c_binary64_1290 tanh-def-b_binary64_1289 tanh-def-a_binary64_1288 cosh-def_binary64_1287 sinh-def_binary64_1286 tan-neg_binary64_1233 cos-neg_binary64_1232 sin-neg_binary64_1231 tan-0_binary64_1230 cos-0_binary64_1229 sin-0_binary64_1228 hang-m-tan_binary64_1227 hang-p-tan_binary64_1226 hang-m0-tan_binary64_1225 hang-p0-tan_binary64_1224 hang-0m-tan_binary64_1223 hang-0p-tan_binary64_1222 tan-+PI/2_binary64_1221 tan-+PI_binary64_1220 tan-PI_binary64_1219 tan-PI/3_binary64_1218 tan-PI/4_binary64_1217 tan-PI/6_binary64_1216 cos-+PI/2_binary64_1215 cos-+PI_binary64_1214 cos-PI_binary64_1213 cos-PI/2_binary64_1212 cos-PI/3_binary64_1211 cos-PI/4_binary64_1210 cos-PI/6_binary64_1209 sin-+PI/2_binary64_1208 sin-+PI_binary64_1207 sin-PI_binary64_1206 sin-PI/2_binary64_1205 sin-PI/3_binary64_1204 sin-PI/4_binary64_1203 sin-PI/6_binary64_1202 sub-1-sin_binary64_1201 sub-1-cos_binary64_1200 -1-add-sin_binary64_1199 -1-add-cos_binary64_1198 1-sub-sin_binary64_1197 1-sub-cos_binary64_1196 cos-sin-sum_binary64_1195 log-E_binary64_1191 pow-base-0_binary64_1185 exp-to-pow_binary64_1163 pow-base-1_binary64_1161 unpow0_binary64_1160 unpow-1_binary64_1158 exp-lft-cube_binary64_1157 exp-lft-sqr_binary64_1156 exp-cbrt_binary64_1155 div-exp_binary64_1152 rec-exp_binary64_1151 prod-exp_binary64_1150 e-exp-1_binary64_1146 exp-0_binary64_1143 rem-log-exp_binary64_1142 rem-exp-log_binary64_1141 cube-neg_binary64_1128 rem-3cbrt-rft_binary64_1127 rem-3cbrt-lft_binary64_1126 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 sqr-neg_binary64_1115 remove-double-neg_binary64_1089 sub0-neg_binary64_1088 --rgt-identity_binary64_1087 +-rgt-identity_binary64_1086 +-lft-identity_binary64_1085 mul0-rgt_binary64_1084 mul0-lft_binary64_1083 div0_binary64_1082 *-inverses_binary64_1081 +-inverses_binary64_1080 lft-mult-inverse_binary64_1079 rgt-mult-inverse_binary64_1078 remove-double-div_binary64_1077 difference-of-sqr--1_binary64_1072 difference-of-sqr-1_binary64_1071 difference-of-squares_binary64_1070 cancel-sign-sub_binary64_1066 distribute-lft1-in_binary64_1056 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053 count-2_binary64_1049
Counts
181 → 140
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03936547
19836104
241416103
348496103
449976103
549476103

prune308.0ms (0.8%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New1346140
Fresh01515
Picked101
Done000
Total13521156
Error
10.5b
Counts
156 → 21
Compiler

Compiled 6704 to 2755 computations (58.9% saved)

localize31.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 l)
4.8b
(/.f64 (*.f64 M D) (*.f64 d 2))
6.6b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
12.8b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite355.0ms (1%)

Algorithm
rewrite-expression-head
Error
9.1b
Rules
102×add-exp-log_binary64_1139
55×prod-exp_binary64_1150
46×add-cbrt-cube_binary64_1137
24×pow1_binary64_1162
23×cbrt-unprod_binary64_1134
20×div-exp_binary64_1152
18×associate-*r/_binary64_1043
16×associate-*r*_binary64_1041
14×pow-prod-down_binary64_1172
13×add-cube-cbrt_binary64_1136 add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101
12×sqrt-div_binary64_1118
10×pow-exp_binary64_1169 times-frac_binary64_1107
frac-times_binary64_1111
cbrt-undiv_binary64_1135 associate-*l/_binary64_1044
add-log-exp_binary64_1140 flip3--_binary64_1105 flip--_binary64_1076
cbrt-prod_binary64_1132
pow-to-exp_binary64_1170 associate-*l*_binary64_1042 div-inv_binary64_1098 *-commutative_binary64_1032 sub-neg_binary64_1094 distribute-rgt-in_binary64_1051 cancel-sign-sub-inv_binary64_1067 distribute-lft-in_binary64_1050
frac-2neg_binary64_1112 clear-num_binary64_1100 associate-/l*_binary64_1046 associate-/r*_binary64_1045 pow1/3_binary64_1183
Counts
4 → 118
Calls

4 calls:

29.0ms
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
11.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
6.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
1.0ms
(cbrt.f64 l)
Compiler

Compiled 7220 to 2249 computations (68.9% saved)

series4.4s (12.2%)

Error
10.0b
Counts
4 → 51
Calls

4 calls:

3.2s
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
832.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
193.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
110.0ms
(cbrt.f64 l)
Compiler

Compiled 7346 to 4952 computations (32.6% saved)

simplify233.0ms (0.6%)

Algorithm
egg-herbie
Rules
764×associate-*r*_binary64_1041
411×*-commutative_binary64_1032
283×times-frac_binary64_1107
186×associate-/l*_binary64_1046
154×log-div_binary64_1188 associate-/r*_binary64_1045
147×associate-*r/_binary64_1043
121×log-prod_binary64_1187
114×associate-*l/_binary64_1044
108×exp-prod_binary64_1153
96×cube-prod_binary64_1129
87×associate-*l*_binary64_1042
67×distribute-rgt-in_binary64_1051
66×distribute-lft-in_binary64_1050
47×+-commutative_binary64_1031
46×sqr-pow_binary64_1073
42×cube-div_binary64_1130
37×associate-+l+_binary64_1034
34×distribute-rgt-neg-in_binary64_1059
30×cancel-sign-sub-inv_binary64_1067
29×swap-sqr_binary64_1068 distribute-lft-neg-in_binary64_1058
26×sub-neg_binary64_1094
20×cube-unmult_binary64_1138 neg-sub0_binary64_1096
19×exp-diff_binary64_1149 associate-/r/_binary64_1047
18×exp-sum_binary64_1147 neg-mul-1_binary64_1097
16×log-pow_binary64_1190 associate-+r+_binary64_1033
15×associate-/l/_binary64_1048 associate-+r-_binary64_1035
10×unswap-sqr_binary64_1069
unpow1/3_binary64_1168 *-rgt-identity_binary64_1091
pow-plus_binary64_1164 distribute-lft-neg-out_binary64_1060
associate-+l-_binary64_1036
exp-neg_binary64_1148 *-lft-identity_binary64_1090
log-rec_binary64_1189 unpow3_binary64_1167 unpow1/2_binary64_1165 exp-sqrt_binary64_1154 distribute-rgt-neg-out_binary64_1061
unpow2_binary64_1166 exp-to-pow_binary64_1163 unpow1_binary64_1159 rem-sqrt-square_binary64_1114 distribute-neg-frac_binary64_1065 associate--l+_binary64_1038 associate--r+_binary64_1037
cube-mult_binary64_1131 distribute-rgt-out_binary64_1054
sqr-abs_binary64_1116 rem-square-sqrt_binary64_1113 unsub-neg_binary64_1095 mul-1-neg_binary64_1093 /-rgt-identity_binary64_1092 pow-sqr_binary64_1074 distribute-frac-neg_binary64_1064 distribute-neg-out_binary64_1063 distribute-neg-in_binary64_1062 distribute-rgt1-in_binary64_1057 distribute-lft-out_binary64_1052 associate--l-_binary64_1039
1-exp_binary64_1145 exp-1-e_binary64_1144 rem-3cbrt-lft_binary64_1126
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1364 erf-erfc_binary64_1363 erf-odd_binary64_1362 if-if-and-not_binary64_1361 if-if-and_binary64_1360 if-if-or-not_binary64_1359 if-if-or_binary64_1358 if-not_binary64_1357 if-same_binary64_1356 if-false_binary64_1355 if-true_binary64_1354 not-gte_binary64_1353 not-lte_binary64_1352 not-gt_binary64_1351 not-lt_binary64_1350 gte-same_binary64_1349 lte-same_binary64_1348 gt-same_binary64_1347 lt-same_binary64_1346 sinh---cosh_binary64_1293 sinh-+-cosh_binary64_1292 sinh-cosh_binary64_1291 tanh-def-c_binary64_1290 tanh-def-b_binary64_1289 tanh-def-a_binary64_1288 cosh-def_binary64_1287 sinh-def_binary64_1286 tan-neg_binary64_1233 cos-neg_binary64_1232 sin-neg_binary64_1231 tan-0_binary64_1230 cos-0_binary64_1229 sin-0_binary64_1228 hang-m-tan_binary64_1227 hang-p-tan_binary64_1226 hang-m0-tan_binary64_1225 hang-p0-tan_binary64_1224 hang-0m-tan_binary64_1223 hang-0p-tan_binary64_1222 tan-+PI/2_binary64_1221 tan-+PI_binary64_1220 tan-PI_binary64_1219 tan-PI/3_binary64_1218 tan-PI/4_binary64_1217 tan-PI/6_binary64_1216 cos-+PI/2_binary64_1215 cos-+PI_binary64_1214 cos-PI_binary64_1213 cos-PI/2_binary64_1212 cos-PI/3_binary64_1211 cos-PI/4_binary64_1210 cos-PI/6_binary64_1209 sin-+PI/2_binary64_1208 sin-+PI_binary64_1207 sin-PI_binary64_1206 sin-PI/2_binary64_1205 sin-PI/3_binary64_1204 sin-PI/4_binary64_1203 sin-PI/6_binary64_1202 sub-1-sin_binary64_1201 sub-1-cos_binary64_1200 -1-add-sin_binary64_1199 -1-add-cos_binary64_1198 1-sub-sin_binary64_1197 1-sub-cos_binary64_1196 cos-sin-sum_binary64_1195 log-E_binary64_1191 pow-base-0_binary64_1185 pow-base-1_binary64_1161 unpow0_binary64_1160 unpow-1_binary64_1158 exp-lft-cube_binary64_1157 exp-lft-sqr_binary64_1156 exp-cbrt_binary64_1155 div-exp_binary64_1152 rec-exp_binary64_1151 prod-exp_binary64_1150 e-exp-1_binary64_1146 exp-0_binary64_1143 rem-log-exp_binary64_1142 rem-exp-log_binary64_1141 cube-neg_binary64_1128 rem-3cbrt-rft_binary64_1127 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 sqr-neg_binary64_1115 div-sub_binary64_1106 remove-double-neg_binary64_1089 sub0-neg_binary64_1088 --rgt-identity_binary64_1087 +-rgt-identity_binary64_1086 +-lft-identity_binary64_1085 mul0-rgt_binary64_1084 mul0-lft_binary64_1083 div0_binary64_1082 *-inverses_binary64_1081 +-inverses_binary64_1080 lft-mult-inverse_binary64_1079 rgt-mult-inverse_binary64_1078 remove-double-div_binary64_1077 difference-of-sqr--1_binary64_1072 difference-of-sqr-1_binary64_1071 difference-of-squares_binary64_1070 cancel-sign-sub_binary64_1066 distribute-lft1-in_binary64_1056 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053 count-2_binary64_1049 associate--r-_binary64_1040
Counts
169 → 141
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04267854
111227098
243907097
348957097
449637097

prune322.0ms (0.9%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New1383141
Fresh02020
Picked101
Done000
Total13923162
Error
9.6b
Counts
162 → 23
Compiler

Compiled 8027 to 2728 computations (66% saved)

localize31.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.8b
(/.f64 (*.f64 M D) (*.f64 2 d))
5.5b
(*.f64 h (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)))
5.8b
(*.f64 (*.f64 h (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))) (/.f64 1 l))
6.6b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 h (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))) (/.f64 1 l))))

rewrite493.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
8.9b
Rules
233×add-exp-log_binary64_1139
148×prod-exp_binary64_1150
60×add-cbrt-cube_binary64_1137
42×div-exp_binary64_1152
32×cbrt-unprod_binary64_1134
29×pow1_binary64_1162
25×pow-exp_binary64_1169
18×associate-*r/_binary64_1043
17×pow-prod-down_binary64_1172 associate-*r*_binary64_1041
13×add-cube-cbrt_binary64_1136 add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101
12×sqrt-div_binary64_1118
10×times-frac_binary64_1107
frac-times_binary64_1111 1-exp_binary64_1145 rec-exp_binary64_1151
cbrt-undiv_binary64_1135
associate-*l/_binary64_1044
associate-*l*_binary64_1042 pow-to-exp_binary64_1170
add-log-exp_binary64_1140 flip3--_binary64_1105 flip--_binary64_1076
*-commutative_binary64_1032
sub-neg_binary64_1094 distribute-rgt-in_binary64_1051 cancel-sign-sub-inv_binary64_1067 distribute-lft-in_binary64_1050 div-inv_binary64_1098
un-div-inv_binary64_1099 frac-2neg_binary64_1112 clear-num_binary64_1100 associate-/l*_binary64_1046 associate-/r*_binary64_1045
Counts
4 → 154
Calls

4 calls:

31.0ms
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 h (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))) (/.f64 1 l))))
13.0ms
(*.f64 (*.f64 h (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))) (/.f64 1 l))
9.0ms
(*.f64 h (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)))
6.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
Compiler

Compiled 9588 to 3435 computations (64.2% saved)

series4.9s (13.4%)

Error
9.6b
Counts
4 → 60
Calls

4 calls:

3.2s
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 h (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))) (/.f64 1 l))))
823.0ms
(*.f64 (*.f64 h (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))) (/.f64 1 l))
544.0ms
(*.f64 h (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)))
203.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
Compiler

Compiled 8735 to 5770 computations (33.9% saved)

simplify250.0ms (0.7%)

Algorithm
egg-herbie
Rules
443×*-commutative_binary64_1032
256×distribute-rgt-in_binary64_1051
179×times-frac_binary64_1107
167×associate-/l*_binary64_1046
158×exp-prod_binary64_1153
157×distribute-rgt-neg-in_binary64_1059
148×log-prod_binary64_1187
140×distribute-lft-neg-in_binary64_1058 associate-*r/_binary64_1043
114×log-div_binary64_1188
110×sqr-pow_binary64_1073
100×associate-/r*_binary64_1045
97×associate-*r*_binary64_1041
89×swap-sqr_binary64_1068
88×associate-*l*_binary64_1042
85×associate-*l/_binary64_1044
82×unpow3_binary64_1167
79×cancel-sign-sub-inv_binary64_1067
68×cube-prod_binary64_1129 distribute-neg-frac_binary64_1065 distribute-lft-in_binary64_1050
67×sub-neg_binary64_1094
64×associate-+l+_binary64_1034
57×+-commutative_binary64_1031
56×unswap-sqr_binary64_1069
52×neg-mul-1_binary64_1097 neg-sub0_binary64_1096
46×distribute-lft-neg-out_binary64_1060
40×distribute-rgt-neg-out_binary64_1061
38×*-rgt-identity_binary64_1091
35×cube-div_binary64_1130
32×unsub-neg_binary64_1095 associate-+r+_binary64_1033
29×exp-sum_binary64_1147 associate-+r-_binary64_1035
27×div-sub_binary64_1106
23×exp-diff_binary64_1149
22×*-lft-identity_binary64_1090
20×associate-/r/_binary64_1047
17×cube-unmult_binary64_1138
11×log-pow_binary64_1190 associate-/l/_binary64_1048
10×exp-to-pow_binary64_1163 pow-sqr_binary64_1074 distribute-neg-out_binary64_1063 associate-+l-_binary64_1036
unpow1/2_binary64_1165
pow-plus_binary64_1164 distribute-rgt-out_binary64_1054 associate--l+_binary64_1038
unpow1/3_binary64_1168 /-rgt-identity_binary64_1092 +-rgt-identity_binary64_1086
exp-sqrt_binary64_1154 exp-neg_binary64_1148 distribute-rgt1-in_binary64_1057
unpow2_binary64_1166 unpow1_binary64_1159 rem-sqrt-square_binary64_1114 distribute-frac-neg_binary64_1064 associate--r+_binary64_1037
log-rec_binary64_1189 cube-mult_binary64_1131 sub0-neg_binary64_1088 associate--l-_binary64_1039
sqr-abs_binary64_1116 rem-square-sqrt_binary64_1113 distribute-neg-in_binary64_1062 distribute-lft1-in_binary64_1056 distribute-lft-out_binary64_1052
1-exp_binary64_1145 exp-1-e_binary64_1144 mul-1-neg_binary64_1093 +-lft-identity_binary64_1085
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1364 erf-erfc_binary64_1363 erf-odd_binary64_1362 if-if-and-not_binary64_1361 if-if-and_binary64_1360 if-if-or-not_binary64_1359 if-if-or_binary64_1358 if-not_binary64_1357 if-same_binary64_1356 if-false_binary64_1355 if-true_binary64_1354 not-gte_binary64_1353 not-lte_binary64_1352 not-gt_binary64_1351 not-lt_binary64_1350 gte-same_binary64_1349 lte-same_binary64_1348 gt-same_binary64_1347 lt-same_binary64_1346 sinh---cosh_binary64_1293 sinh-+-cosh_binary64_1292 sinh-cosh_binary64_1291 tanh-def-c_binary64_1290 tanh-def-b_binary64_1289 tanh-def-a_binary64_1288 cosh-def_binary64_1287 sinh-def_binary64_1286 tan-neg_binary64_1233 cos-neg_binary64_1232 sin-neg_binary64_1231 tan-0_binary64_1230 cos-0_binary64_1229 sin-0_binary64_1228 hang-m-tan_binary64_1227 hang-p-tan_binary64_1226 hang-m0-tan_binary64_1225 hang-p0-tan_binary64_1224 hang-0m-tan_binary64_1223 hang-0p-tan_binary64_1222 tan-+PI/2_binary64_1221 tan-+PI_binary64_1220 tan-PI_binary64_1219 tan-PI/3_binary64_1218 tan-PI/4_binary64_1217 tan-PI/6_binary64_1216 cos-+PI/2_binary64_1215 cos-+PI_binary64_1214 cos-PI_binary64_1213 cos-PI/2_binary64_1212 cos-PI/3_binary64_1211 cos-PI/4_binary64_1210 cos-PI/6_binary64_1209 sin-+PI/2_binary64_1208 sin-+PI_binary64_1207 sin-PI_binary64_1206 sin-PI/2_binary64_1205 sin-PI/3_binary64_1204 sin-PI/4_binary64_1203 sin-PI/6_binary64_1202 sub-1-sin_binary64_1201 sub-1-cos_binary64_1200 -1-add-sin_binary64_1199 -1-add-cos_binary64_1198 1-sub-sin_binary64_1197 1-sub-cos_binary64_1196 cos-sin-sum_binary64_1195 log-E_binary64_1191 pow-base-0_binary64_1185 pow-base-1_binary64_1161 unpow0_binary64_1160 unpow-1_binary64_1158 exp-lft-cube_binary64_1157 exp-lft-sqr_binary64_1156 exp-cbrt_binary64_1155 div-exp_binary64_1152 rec-exp_binary64_1151 prod-exp_binary64_1150 e-exp-1_binary64_1146 exp-0_binary64_1143 rem-log-exp_binary64_1142 rem-exp-log_binary64_1141 cube-neg_binary64_1128 rem-3cbrt-rft_binary64_1127 rem-3cbrt-lft_binary64_1126 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 sqr-neg_binary64_1115 remove-double-neg_binary64_1089 --rgt-identity_binary64_1087 mul0-rgt_binary64_1084 mul0-lft_binary64_1083 div0_binary64_1082 *-inverses_binary64_1081 +-inverses_binary64_1080 lft-mult-inverse_binary64_1079 rgt-mult-inverse_binary64_1078 remove-double-div_binary64_1077 difference-of-sqr--1_binary64_1072 difference-of-sqr-1_binary64_1071 difference-of-squares_binary64_1070 cancel-sign-sub_binary64_1066 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053 count-2_binary64_1049 associate--r-_binary64_1040
Counts
214 → 191
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
04549168
111428334
230648333
346668266
449488266

prune424.0ms (1.2%)

Pruning

27 alts after pruning (26 fresh and 1 done)

PrunedKeptTotal
New1874191
Fresh02222
Picked011
Done000
Total18727214
Error
9.3b
Counts
214 → 27
Compiler

Compiled 9758 to 3051 computations (68.7% saved)

regimes4.2s (11.5%)

Accuracy

Total 3.9b remaining (33.6%)

Threshold costs 0b (0%)

Compiler

Compiled 53573 to 38519 computations (28.1% saved)

bsearch16.0ms (0%)

Compiler

Compiled 35 to 31 computations (11.4% saved)

simplify42.0ms (0.1%)

Algorithm
egg-herbie
Rules
38×neg-mul-1_binary64_1097 neg-sub0_binary64_1096
32×*-commutative_binary64_1032
22×distribute-rgt-neg-in_binary64_1059
20×distribute-lft-neg-in_binary64_1058
17×sub-neg_binary64_1094
16×+-commutative_binary64_1031
14×*-rgt-identity_binary64_1091 distribute-lft-neg-out_binary64_1060
13×distribute-rgt-neg-out_binary64_1061
12×*-lft-identity_binary64_1090
unsub-neg_binary64_1095
cancel-sign-sub-inv_binary64_1067
distribute-neg-frac_binary64_1065
1-exp_binary64_1145
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_1361 if-if-and_binary64_1360 if-if-or-not_binary64_1359 if-if-or_binary64_1358 if-not_binary64_1357 if-same_binary64_1356 if-false_binary64_1355 if-true_binary64_1354 tan-0_binary64_1230 cos-0_binary64_1229 sin-0_binary64_1228 unpow1_binary64_1159 e-exp-1_binary64_1146 exp-1-e_binary64_1144 exp-0_binary64_1143 sqr-abs_binary64_1116 sqr-neg_binary64_1115 mul-1-neg_binary64_1093 /-rgt-identity_binary64_1092 remove-double-neg_binary64_1089 sub0-neg_binary64_1088 --rgt-identity_binary64_1087 +-rgt-identity_binary64_1086 +-lft-identity_binary64_1085 cancel-sign-sub_binary64_1066 distribute-frac-neg_binary64_1064 distribute-neg-out_binary64_1063 distribute-neg-in_binary64_1062
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067321
192321
2124321
3154321
4175321
5185321
6237321
7236321
8231321
Compiler

Compiled 404 to 196 computations (51.5% saved)

end0.0ms (0%)

sample9.8s (27%)

Algorithm
intervals
Results
1.1s8000×body128valid
1.1s8656×body128nan
669.0ms4823×body128invalid
Compiler

Compiled 7879 to 5620 computations (28.7% saved)

Profiling

Loading profile data...