Details

Time bar (total: 24.9s)

analyze2.1s (8.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0%99.7%0.3%11
0%99.7%0.3%12
5.1%94.6%0.3%13
7%92.7%0.3%14
Compiler

Compiled 19 to 19 computations (0% saved)

sample57.0ms (0.2%)

Algorithm
intervals
Results
18.0ms256×body128valid
7.0ms92×body128nan
3.0ms45×body128invalid
Compiler

Compiled 37 to 43 computations (-16.2% saved)

simplify130.0ms (0.5%)

Algorithm
egg-herbie
Rules
645×distribute-neg-frac_binary64_1065
581×distribute-rgt-neg-in_binary64_1059
569×distribute-lft-neg-in_binary64_1058
418×associate-/l*_binary64_1046
372×cancel-sign-sub-inv_binary64_1067
251×associate-/l/_binary64_1048
237×*-commutative_binary64_1032
227×times-frac_binary64_1107
191×associate-/r/_binary64_1047
163×associate-/r*_binary64_1045
133×neg-mul-1_binary64_1097
132×neg-sub0_binary64_1096
91×associate-*l/_binary64_1044
77×associate-*l*_binary64_1042
73×associate-*r/_binary64_1043
69×associate-*r*_binary64_1041
55×div-sub_binary64_1106
31×sub-neg_binary64_1094
22×distribute-lft-neg-out_binary64_1060
20×swap-sqr_binary64_1068
18×distribute-rgt-neg-out_binary64_1061
15×distribute-frac-neg_binary64_1064
unswap-sqr_binary64_1069
sqr-pow_binary64_1073
unsub-neg_binary64_1095
+-commutative_binary64_1031
pow-plus_binary64_1164 cube-unmult_binary64_1138 mul0-rgt_binary64_1084 mul0-lft_binary64_1083 div0_binary64_1082 distribute-rgt-in_binary64_1051 distribute-lft-in_binary64_1050
unpow2_binary64_1166 unpow1/2_binary64_1165 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 *-rgt-identity_binary64_1091 *-lft-identity_binary64_1090 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-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-+r+_binary64_1033
Counts
1 → 3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01827
14227
211127
371827
4281527

prune12.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
13.1b
Counts
4 → 2
Compiler

Compiled 90 to 76 computations (15.6% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

1.7b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))))
3.1b
(*.f64 (/.f64 M 2) (/.f64 D d))
4.0b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))
11.0b
(*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))

rewrite286.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
7.5b
Rules
67×add-exp-log_binary64_1139
58×add-sqr-sqrt_binary64_1123
34×times-frac_binary64_1107
32×associate-*r*_binary64_1041
30×add-cube-cbrt_binary64_1136 *-un-lft-identity_binary64_1101
27×prod-exp_binary64_1150
23×add-cbrt-cube_binary64_1137
22×associate-*l*_binary64_1042
19×div-exp_binary64_1152
12×unswap-sqr_binary64_1069
10×pow-exp_binary64_1169
pow1_binary64_1162
cbrt-unprod_binary64_1134 sqrt-prod_binary64_1117
cbrt-undiv_binary64_1135
add-log-exp_binary64_1140 associate-*r/_binary64_1043 sqrt-div_binary64_1118
unpow2_binary64_1166 sqr-pow_binary64_1073 div-inv_binary64_1098 *-commutative_binary64_1032
pow-to-exp_binary64_1170 flip3--_binary64_1105 flip--_binary64_1076 pow-prod-down_binary64_1172
unpow-prod-down_binary64_1180 pow1/2_binary64_1181 sqrt-pow1_binary64_1119 rem-sqrt-square_binary64_1114 frac-times_binary64_1111 associate-*l/_binary64_1044
Counts
4 → 139
Calls

4 calls:

11.0ms
(*.f64 (/.f64 M 2) (/.f64 D d))
10.0ms
(*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))
8.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))))
4.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))
Compiler

Compiled 4029 to 2284 computations (43.3% saved)

series1.5s (5.9%)

Error
6.8b
Counts
4 → 57
Calls

4 calls:

578.0ms
(*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))
466.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))))
234.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))
136.0ms
(*.f64 (/.f64 M 2) (/.f64 D d))
Compiler

Compiled 3306 to 2982 computations (9.8% saved)

simplify117.0ms (0.5%)

Algorithm
egg-herbie
Rules
353×associate-*l*_binary64_1042
313×associate-*r*_binary64_1041
268×distribute-rgt-neg-in_binary64_1059
244×distribute-lft-neg-in_binary64_1058
208×associate-*r/_binary64_1043
201×*-commutative_binary64_1032
200×associate-/l*_binary64_1046
173×associate-*l/_binary64_1044
140×distribute-neg-frac_binary64_1065
128×cancel-sign-sub-inv_binary64_1067
110×times-frac_binary64_1107
107×unswap-sqr_binary64_1069
89×log-prod_binary64_1187
72×cube-prod_binary64_1129
68×associate-/r*_binary64_1045
67×exp-prod_binary64_1153
64×sqr-pow_binary64_1073
59×distribute-lft-in_binary64_1050
58×distribute-rgt-in_binary64_1051
57×neg-sub0_binary64_1096
51×neg-mul-1_binary64_1097 *-rgt-identity_binary64_1091 *-lft-identity_binary64_1090 swap-sqr_binary64_1068
43×log-div_binary64_1188
40×associate-/l/_binary64_1048
37×sub-neg_binary64_1094
35×cube-div_binary64_1130
29×+-commutative_binary64_1031
19×associate-/r/_binary64_1047
16×distribute-rgt-out_binary64_1054
11×/-rgt-identity_binary64_1092 distribute-lft-neg-out_binary64_1060 distribute-lft-out_binary64_1052
10×exp-sqrt_binary64_1154
associate-+r-_binary64_1035
log-pow_binary64_1190 unpow3_binary64_1167 rem-sqrt-square_binary64_1114
pow-plus_binary64_1164 cube-unmult_binary64_1138 distribute-rgt1-in_binary64_1057
cube-mult_binary64_1131 mul-1-neg_binary64_1093 pow-sqr_binary64_1074 associate-+l+_binary64_1034
unpow2_binary64_1166 unpow1/2_binary64_1165 unpow1_binary64_1159 associate-+l-_binary64_1036
distribute-neg-in_binary64_1062
distribute-rgt-neg-out_binary64_1061 associate-+r+_binary64_1033
distribute-lft1-in_binary64_1056
1-exp_binary64_1145 exp-1-e_binary64_1144 rem-square-sqrt_binary64_1113 associate--r-_binary64_1040 associate--r+_binary64_1037
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-diff_binary64_1149 exp-neg_binary64_1148 exp-sum_binary64_1147 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 div-sub_binary64_1106 unsub-neg_binary64_1095 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--l-_binary64_1039 associate--l+_binary64_1038
Counts
196 → 292
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03134180
17733999
230583999

prune443.0ms (1.8%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New27814292
Fresh011
Picked101
Done000
Total27915294
Error
3.9b
Counts
294 → 15
Compiler

Compiled 8394 to 4436 computations (47.2% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

3.1b
(*.f64 (/.f64 M 2) (/.f64 D d))
3.5b
(*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (*.f64 (cbrt.f64 h) (cbrt.f64 h)))
4.0b
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (/.f64 (cbrt.f64 h) l))))
7.6b
(*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (/.f64 (cbrt.f64 h) l))

rewrite341.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
3.9b
Rules
210×add-exp-log_binary64_1139
121×prod-exp_binary64_1150
47×add-sqr-sqrt_binary64_1123
43×div-exp_binary64_1152
40×times-frac_binary64_1107
36×associate-*r*_binary64_1041
33×add-cbrt-cube_binary64_1137 add-cube-cbrt_binary64_1136 *-un-lft-identity_binary64_1101
30×pow-exp_binary64_1169
20×associate-*l*_binary64_1042
19×cbrt-unprod_binary64_1134
pow1_binary64_1162 cbrt-prod_binary64_1132
cbrt-undiv_binary64_1135 unswap-sqr_binary64_1069
pow-to-exp_binary64_1170
add-log-exp_binary64_1140
pow-prod-down_binary64_1172 div-inv_binary64_1098 *-commutative_binary64_1032 sqrt-prod_binary64_1117
associate-*r/_binary64_1043 sqrt-div_binary64_1118 unpow2_binary64_1166 sqr-pow_binary64_1073
pow1/2_binary64_1181 sqrt-pow1_binary64_1119 flip3--_binary64_1105 flip--_binary64_1076 rem-sqrt-square_binary64_1114 pow2_binary64_1182 unpow-prod-down_binary64_1180 frac-times_binary64_1111 associate-*l/_binary64_1044
Counts
4 → 169
Calls

4 calls:

17.0ms
(*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (/.f64 (cbrt.f64 h) l))
16.0ms
(*.f64 (/.f64 M 2) (/.f64 D d))
10.0ms
(*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (*.f64 (cbrt.f64 h) (cbrt.f64 h)))
5.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (/.f64 (cbrt.f64 h) l))))
Compiler

Compiled 5964 to 2724 computations (54.3% saved)

series1.7s (7%)

Error
3.2b
Counts
4 → 51
Calls

4 calls:

691.0ms
(*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (*.f64 (cbrt.f64 h) (cbrt.f64 h)))
598.0ms
(*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (/.f64 (cbrt.f64 h) l))
256.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (/.f64 (cbrt.f64 h) l))))
135.0ms
(*.f64 (/.f64 M 2) (/.f64 D d))
Compiler

Compiled 3582 to 3102 computations (13.4% saved)

simplify143.0ms (0.6%)

Algorithm
egg-herbie
Rules
542×associate-*l*_binary64_1042
372×associate-*r*_binary64_1041
257×associate-*r/_binary64_1043 *-commutative_binary64_1032
247×unswap-sqr_binary64_1069
236×associate-/l*_binary64_1046
174×associate-*l/_binary64_1044
163×cancel-sign-sub-inv_binary64_1067
138×times-frac_binary64_1107
112×log-prod_binary64_1187
94×swap-sqr_binary64_1068
91×exp-prod_binary64_1153
86×associate-/r*_binary64_1045
83×cube-prod_binary64_1129
76×sqr-pow_binary64_1073
55×associate-/l/_binary64_1048
48×neg-sub0_binary64_1096
47×*-lft-identity_binary64_1090
46×log-div_binary64_1188 *-rgt-identity_binary64_1091
42×neg-mul-1_binary64_1097
41×+-commutative_binary64_1031
37×associate-+l+_binary64_1034
33×sub-neg_binary64_1094
31×distribute-rgt-neg-in_binary64_1059
25×distribute-lft-neg-in_binary64_1058
24×cube-div_binary64_1130
19×associate-/r/_binary64_1047
17×associate-+r-_binary64_1035
13×/-rgt-identity_binary64_1092 associate-+r+_binary64_1033
12×distribute-neg-frac_binary64_1065
10×exp-sqrt_binary64_1154 rem-sqrt-square_binary64_1114
pow-plus_binary64_1164
log-pow_binary64_1190 mul-1-neg_binary64_1093
unpow3_binary64_1167 unpow2_binary64_1166 unpow1/2_binary64_1165 unpow1_binary64_1159 cube-unmult_binary64_1138 pow-sqr_binary64_1074
cube-mult_binary64_1131 associate-+l-_binary64_1036
distribute-lft-out_binary64_1052
distribute-rgt-out_binary64_1054 distribute-rgt-in_binary64_1051 distribute-lft-in_binary64_1050
distribute-lft-neg-out_binary64_1060 distribute-rgt1-in_binary64_1057
unpow1/3_binary64_1168 1-exp_binary64_1145 exp-1-e_binary64_1144 rem-3cbrt-rft_binary64_1127 rem-3cbrt-lft_binary64_1126 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 rem-square-sqrt_binary64_1113 count-2_binary64_1049 associate--r-_binary64_1040 associate--r+_binary64_1037
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 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-diff_binary64_1149 exp-neg_binary64_1148 exp-sum_binary64_1147 e-exp-1_binary64_1146 exp-0_binary64_1143 rem-log-exp_binary64_1142 rem-exp-log_binary64_1141 cube-neg_binary64_1128 sqr-abs_binary64_1116 sqr-neg_binary64_1115 div-sub_binary64_1106 unsub-neg_binary64_1095 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-neg-in_binary64_1062 distribute-rgt-neg-out_binary64_1061 distribute-lft1-in_binary64_1056 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053 associate--l-_binary64_1039 associate--l+_binary64_1038
Counts
220 → 647
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03555743
18904672
236494504

prune1.5s (6.2%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New6434647
Fresh11314
Picked101
Done000
Total64517662
Error
3.6b
Counts
662 → 17
Compiler

Compiled 21340 to 9980 computations (53.2% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

2.1b
(*.f64 (pow.f64 (/.f64 (*.f64 M (/.f64 D d)) 2) 2) (cbrt.f64 h))
3.1b
(*.f64 M (/.f64 D d))
4.0b
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M (/.f64 D d)) 2) 2) (cbrt.f64 h)) (cbrt.f64 h)) (/.f64 (cbrt.f64 h) l))))
7.6b
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M (/.f64 D d)) 2) 2) (cbrt.f64 h)) (cbrt.f64 h)) (/.f64 (cbrt.f64 h) l))

rewrite277.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
3.6b
Rules
102×add-exp-log_binary64_1139
56×prod-exp_binary64_1150
49×add-sqr-sqrt_binary64_1123
41×associate-*r*_binary64_1041
31×add-cube-cbrt_binary64_1136 *-un-lft-identity_binary64_1101 times-frac_binary64_1107
22×add-cbrt-cube_binary64_1137
21×div-exp_binary64_1152
16×associate-*l*_binary64_1042 cbrt-prod_binary64_1132
15×cbrt-unprod_binary64_1134
12×pow1_binary64_1162 pow-exp_binary64_1169
10×unswap-sqr_binary64_1069
unpow-prod-down_binary64_1180
pow-prod-down_binary64_1172 add-log-exp_binary64_1140 cbrt-undiv_binary64_1135
pow-to-exp_binary64_1170 div-inv_binary64_1098 *-commutative_binary64_1032 sqrt-prod_binary64_1117 unpow2_binary64_1166 sqr-pow_binary64_1073
associate-*r/_binary64_1043 sqrt-div_binary64_1118
pow1/2_binary64_1181 sqrt-pow1_binary64_1119 flip3--_binary64_1105 flip--_binary64_1076 rem-sqrt-square_binary64_1114
Counts
4 → 144
Calls

4 calls:

20.0ms
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M (/.f64 D d)) 2) 2) (cbrt.f64 h)) (cbrt.f64 h)) (/.f64 (cbrt.f64 h) l))
10.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M (/.f64 D d)) 2) 2) (cbrt.f64 h))
8.0ms
(*.f64 M (/.f64 D d))
5.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M (/.f64 D d)) 2) 2) (cbrt.f64 h)) (cbrt.f64 h)) (/.f64 (cbrt.f64 h) l))))
Compiler

Compiled 5162 to 2349 computations (54.5% saved)

series1.6s (6.6%)

Error
2.9b
Counts
4 → 51
Calls

4 calls:

626.0ms
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M (/.f64 D d)) 2) 2) (cbrt.f64 h)) (cbrt.f64 h)) (/.f64 (cbrt.f64 h) l))
582.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M (/.f64 D d)) 2) 2) (cbrt.f64 h))
251.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M (/.f64 D d)) 2) 2) (cbrt.f64 h)) (cbrt.f64 h)) (/.f64 (cbrt.f64 h) l))))
113.0ms
(*.f64 M (/.f64 D d))
Compiler

Compiled 3618 to 3074 computations (15% saved)

simplify126.0ms (0.5%)

Algorithm
egg-herbie
Rules
518×associate-*l*_binary64_1042
365×associate-*r*_binary64_1041
263×unswap-sqr_binary64_1069
238×distribute-rgt-neg-in_binary64_1059
231×*-commutative_binary64_1032
199×associate-/l*_binary64_1046
192×associate-*r/_binary64_1043
137×times-frac_binary64_1107
130×cancel-sign-sub-inv_binary64_1067
116×associate-*l/_binary64_1044
95×distribute-neg-frac_binary64_1065
87×associate-/r*_binary64_1045
85×log-prod_binary64_1187
81×sqr-pow_binary64_1073
73×cube-prod_binary64_1129
64×exp-prod_binary64_1153
49×*-rgt-identity_binary64_1091 *-lft-identity_binary64_1090 associate-/l/_binary64_1048
48×neg-sub0_binary64_1096
41×neg-mul-1_binary64_1097
39×swap-sqr_binary64_1068
37×sub-neg_binary64_1094 +-commutative_binary64_1031
29×associate-+l+_binary64_1034
27×log-div_binary64_1188
25×distribute-lft-neg-in_binary64_1058
20×associate-/r/_binary64_1047
17×cube-div_binary64_1130
15×/-rgt-identity_binary64_1092
12×distribute-lft-neg-out_binary64_1060
11×log-pow_binary64_1190
10×cube-unmult_binary64_1138 rem-sqrt-square_binary64_1114
unpow2_binary64_1166 unpow1/2_binary64_1165 unpow1_binary64_1159 distribute-rgt-neg-out_binary64_1061 associate-+r-_binary64_1035
unpow3_binary64_1167 pow-plus_binary64_1164 mul-1-neg_binary64_1093
pow-sqr_binary64_1074 distribute-frac-neg_binary64_1064 associate-+r+_binary64_1033
cube-mult_binary64_1131
associate--l+_binary64_1038
exp-sqrt_binary64_1154 distribute-rgt-out_binary64_1054 distribute-rgt-in_binary64_1051 distribute-lft-in_binary64_1050 associate-+l-_binary64_1036
log-rec_binary64_1189 unpow1/3_binary64_1168 rem-square-sqrt_binary64_1113 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-rft_binary64_1127 rem-cube-cbrt_binary64_1124 unsub-neg_binary64_1095 count-2_binary64_1049
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 exp-diff_binary64_1149 exp-neg_binary64_1148 exp-sum_binary64_1147 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-lft_binary64_1126 rem-cbrt-cube_binary64_1125 sqr-abs_binary64_1116 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-neg-out_binary64_1063 distribute-neg-in_binary64_1062 distribute-lft1-in_binary64_1056 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053 associate--r-_binary64_1040 associate--r+_binary64_1037
Counts
195 → 658
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03324943
18144408
235623986

prune1.5s (6.2%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New6553658
Fresh41216
Picked011
Done000
Total65916675
Error
2.9b
Counts
675 → 16
Compiler

Compiled 23666 to 11629 computations (50.9% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.0b
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2)) l)))
4.4b
(/.f64 (*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2)) l)
5.2b
(*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2))
5.3b
(cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2)) l))) 3))

rewrite865.0ms (3.5%)

Algorithm
rewrite-expression-head
Error
2.0b
Rules
414×times-frac_binary64_1107
229×add-sqr-sqrt_binary64_1123
206×*-un-lft-identity_binary64_1101
197×add-cube-cbrt_binary64_1136
188×unpow-prod-down_binary64_1180
179×associate-*r*_binary64_1041
55×add-exp-log_binary64_1139
28×div-inv_binary64_1098
24×cbrt-prod_binary64_1132 div-exp_binary64_1152
18×sqrt-prod_binary64_1117
14×prod-exp_binary64_1150
11×add-cbrt-cube_binary64_1137
10×pow-exp_binary64_1169
cube-prod_binary64_1129
unswap-sqr_binary64_1069
difference-of-squares_binary64_1070
pow1_binary64_1162
add-log-exp_binary64_1140 sqrt-div_binary64_1118
distribute-lft-out--_binary64_1053 sqr-pow_binary64_1073 associate-*l*_binary64_1042 associate-/r*_binary64_1045
flip3--_binary64_1105 cube-div_binary64_1130 cbrt-div_binary64_1133 flip--_binary64_1076 pow-to-exp_binary64_1170 cbrt-unprod_binary64_1134 unpow2_binary64_1166 cbrt-undiv_binary64_1135
pow1/3_binary64_1183 unpow3_binary64_1167 cube-mult_binary64_1131 rem-cbrt-cube_binary64_1125 associate-/r/_binary64_1047 *-commutative_binary64_1032 frac-2neg_binary64_1112 clear-num_binary64_1100 associate-/l*_binary64_1046 pow1/2_binary64_1181 sqrt-pow1_binary64_1119 rem-sqrt-square_binary64_1114
Counts
4 → 286
Calls

4 calls:

71.0ms
(*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2))
37.0ms
(/.f64 (*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2)) l)
9.0ms
(cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2)) l))) 3))
7.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2)) l)))
Compiler

Compiled 10536 to 6695 computations (36.5% saved)

series1.4s (5.7%)

Error
2.9b
Counts
4 → 57
Calls

4 calls:

542.0ms
(/.f64 (*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2)) l)
360.0ms
(*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2))
232.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2)) l)))
230.0ms
(cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (/.f64 D d) (/.f64 2 M)) 2)) l))) 3))
Compiler

Compiled 3806 to 3525 computations (7.4% saved)

simplify144.0ms (0.6%)

Algorithm
egg-herbie
Rules
628×associate-*l/_binary64_1044
372×associate-*r/_binary64_1043
329×sqr-pow_binary64_1073
327×associate-/l/_binary64_1048
213×associate-/r/_binary64_1047
194×associate-/l*_binary64_1046
188×associate-/r*_binary64_1045
187×*-commutative_binary64_1032
150×unpow2_binary64_1166
149×unpow1_binary64_1159
146×times-frac_binary64_1107
103×swap-sqr_binary64_1068
25×sub-neg_binary64_1094
23×distribute-rgt-neg-in_binary64_1059
20×neg-sub0_binary64_1096 distribute-neg-frac_binary64_1065
18×neg-mul-1_binary64_1097 distribute-lft-neg-in_binary64_1058
17×/-rgt-identity_binary64_1092
15×unpow3_binary64_1167
14×unswap-sqr_binary64_1069
13×cube-mult_binary64_1131 rem-square-sqrt_binary64_1113
12×rem-cbrt-cube_binary64_1125
11×log-div_binary64_1188 log-prod_binary64_1187 *-rgt-identity_binary64_1091
10×+-commutative_binary64_1031
exp-prod_binary64_1153 cancel-sign-sub-inv_binary64_1067 associate-*r*_binary64_1041
rem-sqrt-square_binary64_1114
associate-*l*_binary64_1042
cube-div_binary64_1130 associate--l+_binary64_1038
cube-prod_binary64_1129
mul-1-neg_binary64_1093 *-lft-identity_binary64_1090
log-pow_binary64_1190 distribute-rgt-in_binary64_1051 distribute-lft-in_binary64_1050
cube-unmult_binary64_1138 remove-double-div_binary64_1077 pow-sqr_binary64_1074 distribute-rgt1-in_binary64_1057
unpow1/2_binary64_1165 1-exp_binary64_1145 rem-3cbrt-lft_binary64_1126 rem-cube-cbrt_binary64_1124 sqr-abs_binary64_1116 distribute-neg-in_binary64_1062 distribute-lft-neg-out_binary64_1060 distribute-rgt-out_binary64_1054 associate--r-_binary64_1040 associate--l-_binary64_1039 associate-+r+_binary64_1033
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 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 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-neg_binary64_1128 rem-3cbrt-rft_binary64_1127 sqr-neg_binary64_1115 div-sub_binary64_1106 unsub-neg_binary64_1095 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 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-neg-out_binary64_1061 distribute-lft1-in_binary64_1056 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053 distribute-lft-out_binary64_1052 count-2_binary64_1049 associate--r+_binary64_1037 associate-+l-_binary64_1036 associate-+r-_binary64_1035 associate-+l+_binary64_1034
Counts
343 → 756
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06968325
118318009

prune2.3s (9.2%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New7524756
Fresh21214
Picked101
Done011
Total75517772
Error
2.0b
Counts
772 → 17
Compiler

Compiled 26478 to 16547 computations (37.5% saved)

regimes3.9s (15.8%)

Accuracy

Total 5.4b remaining (62.3%)

Threshold costs 0b (0%)

Compiler

Compiled 45446 to 40955 computations (9.9% saved)

bsearch6.0ms (0%)

Compiler

Compiled 9 to 12 computations (-33.3% saved)

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
28×*-commutative_binary64_1032
19×sub-neg_binary64_1094 +-commutative_binary64_1031
16×neg-mul-1_binary64_1097 neg-sub0_binary64_1096
14×distribute-rgt-neg-in_binary64_1059
12×distribute-lft-neg-in_binary64_1058
distribute-neg-frac_binary64_1065
cancel-sign-sub-inv_binary64_1067
distribute-lft-neg-out_binary64_1060
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 unsub-neg_binary64_1095 mul-1-neg_binary64_1093 /-rgt-identity_binary64_1092 *-rgt-identity_binary64_1091 *-lft-identity_binary64_1090 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 distribute-rgt-neg-out_binary64_1061
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045140
171140
299140
3136140
4172140
5189140
6195140
Proof
(if real (<= f64 (pow f64 (/ f64 (* f64 h0 h1) (* f64 2 h2)) 2) 8070487952650597/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (* f64 h3 (cbrt f64 (pow f64 (sqrt f64 (- f64 1 (/ f64 (=> (* f64 (* f64 h4 (/ f64 (/ f64 h1 h2) (/ f64 2 h0))) (/ f64 (/ f64 h1 h2) (/ f64 2 h0)))) h5))) 3))) (if real (<= f64 (pow f64 (/ f64 (* f64 h0 h1) (* f64 2 h2)) 2) 794401870418910368310417058011242561964038864083915166020888245105612236397422984065112225594544125874425781998274445691753823339309677128710142162850982087131743112048903598878009597092788307041657438925976288807995714463443951078537523582252158545586814976) (* f64 h3 (sqrt f64 (- f64 1 (* f64 (pow f64 (/ f64 (* f64 h0 h1) (* f64 2 h2)) 2) (/ f64 h4 h5))))) (* f64 h3 (sqrt f64 (- f64 1 (* f64 (* f64 (/ f64 h0 2) (/ f64 h1 h2)) (* f64 (/ f64 h0 2) (* f64 (/ f64 h1 h2) (/ f64 h4 h5))))))))) *-commutative_binary64_1032 => (if real (<= f64 (pow f64 (/ f64 (* f64 h0 h1) (* f64 2 h2)) 2) 8070487952650597/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (* f64 h3 (cbrt f64 (pow f64 (sqrt f64 (- f64 1 (/ f64 (* f64 (/ f64 (/ f64 h1 h2) (/ f64 2 h0)) (* f64 h4 (/ f64 (/ f64 h1 h2) (/ f64 2 h0)))) h5))) 3))) (if real (<= f64 (pow f64 (/ f64 (* f64 h0 h1) (* f64 2 h2)) 2) 794401870418910368310417058011242561964038864083915166020888245105612236397422984065112225594544125874425781998274445691753823339309677128710142162850982087131743112048903598878009597092788307041657438925976288807995714463443951078537523582252158545586814976) (* f64 h3 (sqrt f64 (- f64 1 (* f64 (pow f64 (/ f64 (* f64 h0 h1) (* f64 2 h2)) 2) (/ f64 h4 h5))))) (* f64 h3 (sqrt f64 (- f64 1 (* f64 (=> (* f64 (/ f64 h0 2) (/ f64 h1 h2))) (* f64 (/ f64 h0 2) (* f64 (/ f64 h1 h2) (/ f64 h4 h5))))))))) *-commutative_binary64_1032 => (if real (<= f64 (pow f64 (/ f64 (* f64 h0 h1) (* f64 2 h2)) 2) 8070487952650597/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (* f64 h3 (cbrt f64 (pow f64 (sqrt f64 (- f64 1 (/ f64 (* f64 (/ f64 (/ f64 h1 h2) (/ f64 2 h0)) (* f64 h4 (/ f64 (/ f64 h1 h2) (/ f64 2 h0)))) h5))) 3))) (if real (<= f64 (pow f64 (/ f64 (* f64 h0 h1) (* f64 2 h2)) 2) 794401870418910368310417058011242561964038864083915166020888245105612236397422984065112225594544125874425781998274445691753823339309677128710142162850982087131743112048903598878009597092788307041657438925976288807995714463443951078537523582252158545586814976) (* f64 h3 (sqrt f64 (- f64 1 (* f64 (pow f64 (/ f64 (* f64 h0 h1) (* f64 2 h2)) 2) (/ f64 h4 h5))))) (* f64 h3 (sqrt f64 (- f64 1 (* f64 (* f64 (/ f64 h1 h2) (/ f64 h0 2)) (* f64 (/ f64 h0 2) (* f64 (/ f64 h1 h2) (/ f64 h4 h5)))))))))

end0.0ms (0%)

sample4.1s (16.7%)

Algorithm
intervals
Results
602.0ms8000×body128valid
219.0ms3063×body128nan
96.0ms1248×body128invalid
Compiler

Compiled 3024 to 2687 computations (11.1% saved)

Profiling

Loading profile data...