Details

Time bar (total: 8.0s)

analyze15.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%25%25%4
50%12.5%37.5%5
50%6.2%43.8%6
50%3.1%46.9%7
50%1.6%48.5%8
50%1.6%48.5%9
50.4%1.2%48.5%10
50.4%1.2%48.5%11
50.4%1.1%48.6%12
50.4%1%48.6%13
50.5%0.9%48.6%14
Compiler

Compiled 14 to 8 computations (42.9% saved)

sample59.0ms (0.7%)

Algorithm
intervals
Results
31.0ms119×body1024valid
10.0ms73×body512valid
3.0ms32×body256valid
3.0msbody2048valid
1.0ms23×body128valid
Compiler

Compiled 27 to 16 computations (40.7% saved)

simplify438.0ms (5.5%)

Algorithm
egg-herbie
Rules
316×exp-prod_binary64_1153
270×*-commutative_binary64_1032
265×neg-mul-1_binary64_1097
251×neg-sub0_binary64_1096
244×unsub-neg_binary64_1095
231×cube-prod_binary64_1129
208×associate-*l*_binary64_1042
207×associate-*r*_binary64_1041
196×prod-exp_binary64_1150 swap-sqr_binary64_1068
184×distribute-lft-neg-in_binary64_1058
156×distribute-rgt-neg-in_binary64_1059
129×div-exp_binary64_1152
126×associate-/l*_binary64_1046
123×sub-neg_binary64_1094
122×unswap-sqr_binary64_1069
113×div-sub_binary64_1106
107×times-frac_binary64_1107
105×exp-sum_binary64_1147
100×distribute-neg-frac_binary64_1065
99×distribute-lft-neg-out_binary64_1060 distribute-rgt1-in_binary64_1057
89×distribute-rgt-neg-out_binary64_1061
83×associate-/r*_binary64_1045
79×pow-plus_binary64_1164
61×distribute-rgt-in_binary64_1051
54×exp-diff_binary64_1149
53×exp-neg_binary64_1148
51×associate-/l/_binary64_1048
48×sqr-neg_binary64_1115
43×distribute-lft-in_binary64_1050
41×cancel-sign-sub-inv_binary64_1067 associate-*l/_binary64_1044
36×sqr-pow_binary64_1073 distribute-frac-neg_binary64_1064
35×associate-/r/_binary64_1047 associate-*r/_binary64_1043 associate-+l+_binary64_1034 associate-+r+_binary64_1033
32×cube-div_binary64_1130
27×distribute-rgt-out_binary64_1054
26×+-commutative_binary64_1031
24×associate-+l-_binary64_1036
21×pow-sqr_binary64_1074 distribute-neg-in_binary64_1062
16×cube-neg_binary64_1128 *-lft-identity_binary64_1090
15×exp-lft-sqr_binary64_1156 mul0-rgt_binary64_1084 mul0-lft_binary64_1083
14×cube-unmult_binary64_1138
12×unpow3_binary64_1167 cube-mult_binary64_1131 *-rgt-identity_binary64_1091 associate--r+_binary64_1037
rec-exp_binary64_1151
sub0-neg_binary64_1088 difference-of-squares_binary64_1070 associate--l-_binary64_1039
count-2_binary64_1049
+-rgt-identity_binary64_1086
div0_binary64_1082 distribute-lft1-in_binary64_1056 associate--l+_binary64_1038 associate-+r-_binary64_1035
rem-sqrt-square_binary64_1114 /-rgt-identity_binary64_1092 distribute-neg-out_binary64_1063
exp-sqrt_binary64_1154 distribute-lft-out_binary64_1052
pow-base-1_binary64_1161 --rgt-identity_binary64_1087 rgt-mult-inverse_binary64_1078
1-exp_binary64_1145 exp-1-e_binary64_1144 remove-double-neg_binary64_1089 +-lft-identity_binary64_1085 *-inverses_binary64_1081 +-inverses_binary64_1080 lft-mult-inverse_binary64_1079 difference-of-sqr--1_binary64_1072 associate--r-_binary64_1040
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 unpow2_binary64_1166 unpow1/2_binary64_1165 exp-to-pow_binary64_1163 unpow0_binary64_1160 unpow1_binary64_1159 unpow-1_binary64_1158 exp-lft-cube_binary64_1157 exp-cbrt_binary64_1155 e-exp-1_binary64_1146 exp-0_binary64_1143 rem-log-exp_binary64_1142 rem-exp-log_binary64_1141 rem-3cbrt-rft_binary64_1127 rem-3cbrt-lft_binary64_1126 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 sqr-abs_binary64_1116 rem-square-sqrt_binary64_1113 mul-1-neg_binary64_1093 remove-double-div_binary64_1077 difference-of-sqr-1_binary64_1071 cancel-sign-sub_binary64_1066 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0822
12022
23422
36022
413022
536422
6164022
7364722

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
58.6b
Counts
1 → 1
Compiler

Compiled 13 to 7 computations (46.2% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
1.5b
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
4.4b
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))

rewrite115.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
47×*-un-lft-identity_binary64_1101
31×add-sqr-sqrt_binary64_1123
30×times-frac_binary64_1107
17×add-cube-cbrt_binary64_1136
cosh-undef_binary64_1295 distribute-lft-out_binary64_1052
sinh-undef_binary64_1294 add-log-exp_binary64_1140 difference-of-squares_binary64_1070 distribute-lft-out--_binary64_1053
associate-/l*_binary64_1046
add-exp-log_binary64_1139 add-cbrt-cube_binary64_1137 associate-/r*_binary64_1045
pow1_binary64_1162 cancel-sign-sub-inv_binary64_1067
flip3--_binary64_1105 flip--_binary64_1076 associate-/l/_binary64_1048 flip3-+_binary64_1104 associate-/r/_binary64_1047 flip-+_binary64_1075
diff-log_binary64_1193 sub-neg_binary64_1094 tanh-undef_binary64_1296 div-exp_binary64_1152 cbrt-undiv_binary64_1135 frac-2neg_binary64_1112 div-sub_binary64_1106 clear-num_binary64_1100 div-inv_binary64_1098 sum-log_binary64_1192 +-commutative_binary64_1031
Counts
3 → 89
Calls

3 calls:

13.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
6.0ms
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
5.0ms
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 1999 to 313 computations (84.3% saved)

series217.0ms (2.7%)

Error
1.3b
Counts
3 → 18
Calls

3 calls:

115.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
45.0ms
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
34.0ms
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 602 to 382 computations (36.5% saved)

simplify1.7s (21.1%)

Algorithm
egg-herbie
Rules
487×times-frac_binary64_1107
414×associate-*r*_binary64_1041
381×associate-*l*_binary64_1042
304×associate-/l*_binary64_1046
195×log-prod_binary64_1187 associate-*l/_binary64_1044
186×associate-/r*_binary64_1045
170×associate-/l/_binary64_1048
162×associate-*r/_binary64_1043
132×distribute-rgt-in_binary64_1051
120×*-commutative_binary64_1032
108×distribute-lft-in_binary64_1050
105×cancel-sign-sub-inv_binary64_1067
89×associate-/r/_binary64_1047
85×prod-exp_binary64_1150 associate-+l+_binary64_1034
83×log-div_binary64_1188
81×+-commutative_binary64_1031
80×div-sub_binary64_1106
64×sub-neg_binary64_1094
52×associate-+r+_binary64_1033
46×div-exp_binary64_1152 distribute-rgt-neg-in_binary64_1059
40×sqr-pow_binary64_1073
37×neg-mul-1_binary64_1097 neg-sub0_binary64_1096
36×exp-prod_binary64_1153
35×distribute-neg-frac_binary64_1065
34×exp-lft-sqr_binary64_1156 distribute-lft-neg-in_binary64_1058
26×distribute-lft-neg-out_binary64_1060 associate-+l-_binary64_1036
21×distribute-rgt-out_binary64_1054 associate-+r-_binary64_1035
20×unswap-sqr_binary64_1069
18×pow-sqr_binary64_1074
15×unpow3_binary64_1167 cube-prod_binary64_1129
13×distribute-rgt-neg-out_binary64_1061
12×swap-sqr_binary64_1068
11×associate--l+_binary64_1038
10×pow-plus_binary64_1164 cube-div_binary64_1130 unsub-neg_binary64_1095 *-rgt-identity_binary64_1091 distribute-rgt-out--_binary64_1055
/-rgt-identity_binary64_1092 associate--r+_binary64_1037
log-pow_binary64_1190
distribute-neg-in_binary64_1062
exp-diff_binary64_1149 *-lft-identity_binary64_1090 distribute-rgt1-in_binary64_1057
log-rec_binary64_1189 rec-exp_binary64_1151 exp-sum_binary64_1147 difference-of-squares_binary64_1070 distribute-lft-out_binary64_1052
cube-unmult_binary64_1138 distribute-neg-out_binary64_1063 distribute-lft1-in_binary64_1056
exp-sqrt_binary64_1154 cube-mult_binary64_1131 +-rgt-identity_binary64_1086 count-2_binary64_1049 associate--r-_binary64_1040
exp-neg_binary64_1148 rem-log-exp_binary64_1142 rem-sqrt-square_binary64_1114 --rgt-identity_binary64_1087
cosh-def_binary64_1287 sinh-def_binary64_1286 unpow2_binary64_1166 pow-base-1_binary64_1161 unpow1_binary64_1159 1-exp_binary64_1145 rem-3cbrt-lft_binary64_1126 rem-square-sqrt_binary64_1113 remove-double-neg_binary64_1089 sub0-neg_binary64_1088 *-inverses_binary64_1081 lft-mult-inverse_binary64_1079 difference-of-sqr--1_binary64_1072 cancel-sign-sub_binary64_1066 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 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 unpow1/3_binary64_1168 unpow1/2_binary64_1165 exp-to-pow_binary64_1163 unpow0_binary64_1160 unpow-1_binary64_1158 exp-lft-cube_binary64_1157 exp-cbrt_binary64_1155 e-exp-1_binary64_1146 exp-1-e_binary64_1144 exp-0_binary64_1143 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-abs_binary64_1116 sqr-neg_binary64_1115 mul-1-neg_binary64_1093 +-lft-identity_binary64_1085 mul0-rgt_binary64_1084 mul0-lft_binary64_1083 div0_binary64_1082 +-inverses_binary64_1080 rgt-mult-inverse_binary64_1078 remove-double-div_binary64_1077 difference-of-sqr-1_binary64_1071 distribute-frac-neg_binary64_1064 distribute-lft-out--_binary64_1053
Counts
107 → 353
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01652708
13932250
210011801
345571801

prune407.0ms (5.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3494353
Fresh000
Picked101
Done000
Total3504354
Error
0.9b
Counts
354 → 4
Compiler

Compiled 7601 to 2510 computations (67% saved)

localize4.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(cosh.f64 x)
0.0b
(sinh.f64 x)
1.5b
(/.f64 (sinh.f64 x) (cosh.f64 x))

rewrite38.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.9b
Rules
11×add-cube-cbrt_binary64_1136 add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101
times-frac_binary64_1107
add-exp-log_binary64_1139 add-cbrt-cube_binary64_1137
pow1_binary64_1162 add-log-exp_binary64_1140 associate-/l*_binary64_1046 associate-/r*_binary64_1045
sinh-def_binary64_1286 cosh-def_binary64_1287
div-exp_binary64_1152 cbrt-undiv_binary64_1135 frac-2neg_binary64_1112 clear-num_binary64_1100 div-inv_binary64_1098 associate-/l/_binary64_1048 associate-/r/_binary64_1047
Counts
3 → 45
Calls

3 calls:

4.0ms
(/.f64 (sinh.f64 x) (cosh.f64 x))
1.0ms
(cosh.f64 x)
1.0ms
(sinh.f64 x)
Compiler

Compiled 501 to 139 computations (72.3% saved)

series302.0ms (3.8%)

Error
0.9b
Counts
3 → 18
Calls

3 calls:

166.0ms
(/.f64 (sinh.f64 x) (cosh.f64 x))
61.0ms
(cosh.f64 x)
57.0ms
(sinh.f64 x)
Compiler

Compiled 510 to 374 computations (26.7% saved)

simplify150.0ms (1.9%)

Algorithm
egg-herbie
Rules
1059×div-sub_binary64_1106
558×associate-/r*_binary64_1045
278×*-commutative_binary64_1032
162×cancel-sign-sub-inv_binary64_1067
130×associate-/l/_binary64_1048
127×distribute-rgt-in_binary64_1051
122×distribute-lft-in_binary64_1050
95×associate-/l*_binary64_1046
91×exp-prod_binary64_1153
88×sub-neg_binary64_1094
83×associate-+l+_binary64_1034
78×associate-*l/_binary64_1044
77×associate-*l*_binary64_1042
72×+-commutative_binary64_1031
70×distribute-rgt-neg-in_binary64_1059 associate-/r/_binary64_1047
69×times-frac_binary64_1107 associate-*r*_binary64_1041
63×associate-*r/_binary64_1043
60×sqr-pow_binary64_1073
57×associate-+l-_binary64_1036
56×log-div_binary64_1188
55×cube-div_binary64_1130 distribute-lft-neg-in_binary64_1058
53×associate-+r+_binary64_1033
52×associate--l-_binary64_1039
49×exp-diff_binary64_1149
46×exp-sqrt_binary64_1154
38×cube-prod_binary64_1129
37×log-prod_binary64_1187
36×pow-sqr_binary64_1074
35×exp-sum_binary64_1147
33×associate-+r-_binary64_1035
30×neg-sub0_binary64_1096
28×distribute-neg-frac_binary64_1065
27×neg-mul-1_binary64_1097 unswap-sqr_binary64_1069
26×associate--l+_binary64_1038
21×prod-exp_binary64_1150
19×pow-plus_binary64_1164 unsub-neg_binary64_1095
18×associate--r+_binary64_1037
16×cube-unmult_binary64_1138 distribute-lft-neg-out_binary64_1060
15×div-exp_binary64_1152 *-rgt-identity_binary64_1091 swap-sqr_binary64_1068
13×unpow3_binary64_1167 cube-mult_binary64_1131
12×/-rgt-identity_binary64_1092
11×associate--r-_binary64_1040
10×*-lft-identity_binary64_1090 distribute-neg-out_binary64_1063 distribute-lft-out_binary64_1052
exp-lft-sqr_binary64_1156 sub0-neg_binary64_1088 distribute-neg-in_binary64_1062
+-rgt-identity_binary64_1086 distribute-rgt-neg-out_binary64_1061 distribute-rgt1-in_binary64_1057 distribute-rgt-out_binary64_1054
log-pow_binary64_1190 log-rec_binary64_1189 rec-exp_binary64_1151
exp-to-pow_binary64_1163
rem-sqrt-square_binary64_1114 cancel-sign-sub_binary64_1066 distribute-rgt-out--_binary64_1055 count-2_binary64_1049
cosh-def_binary64_1287 sinh-def_binary64_1286 unpow2_binary64_1166 pow-base-1_binary64_1161 unpow1_binary64_1159 exp-neg_binary64_1148 1-exp_binary64_1145 exp-1-e_binary64_1144 rem-log-exp_binary64_1142 rem-exp-log_binary64_1141 cube-neg_binary64_1128 sqr-neg_binary64_1115 remove-double-neg_binary64_1089 *-inverses_binary64_1081 rgt-mult-inverse_binary64_1078 distribute-frac-neg_binary64_1064 distribute-lft-out--_binary64_1053
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 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 unpow1/3_binary64_1168 unpow1/2_binary64_1165 unpow0_binary64_1160 unpow-1_binary64_1158 exp-lft-cube_binary64_1157 exp-cbrt_binary64_1155 e-exp-1_binary64_1146 exp-0_binary64_1143 rem-3cbrt-rft_binary64_1127 rem-3cbrt-lft_binary64_1126 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 sqr-abs_binary64_1116 rem-square-sqrt_binary64_1113 mul-1-neg_binary64_1093 --rgt-identity_binary64_1087 +-lft-identity_binary64_1085 mul0-rgt_binary64_1084 mul0-lft_binary64_1083 div0_binary64_1082 +-inverses_binary64_1080 lft-mult-inverse_binary64_1079 remove-double-div_binary64_1077 difference-of-sqr--1_binary64_1072 difference-of-sqr-1_binary64_1071 difference-of-squares_binary64_1070 distribute-lft1-in_binary64_1056
Counts
63 → 54
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0116854
1236806
2617752
31623752
43945752

prune51.0ms (0.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New54054
Fresh033
Picked011
Done000
Total54458
Error
0.9b
Counts
58 → 4
Compiler

Compiled 817 to 411 computations (49.7% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(-.f64 (*.f64 (pow.f64 x 5) 2/15) (*.f64 1/3 (pow.f64 x 3)))
0.0b
(*.f64 (pow.f64 x 5) 2/15)
0.1b
(*.f64 1/3 (pow.f64 x 3))

rewrite110.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0.9b
Rules
22×add-sqr-sqrt_binary64_1123
15×associate-*r*_binary64_1041
13×add-exp-log_binary64_1139
10×add-cube-cbrt_binary64_1136 *-un-lft-identity_binary64_1101 associate-*l*_binary64_1042
unpow-prod-down_binary64_1180
add-cbrt-cube_binary64_1137 unswap-sqr_binary64_1069
prod-exp_binary64_1150
add-log-exp_binary64_1140
cube-prod_binary64_1129 sqr-pow_binary64_1073
pow1_binary64_1162
pow-to-exp_binary64_1170 pow-exp_binary64_1169 cbrt-unprod_binary64_1134 *-commutative_binary64_1032
unpow3_binary64_1167 cube-mult_binary64_1131 diff-log_binary64_1193 flip3--_binary64_1105 sub-neg_binary64_1094 flip--_binary64_1076 cancel-sign-sub-inv_binary64_1067
Counts
3 → 68
Calls

3 calls:

7.0ms
(*.f64 1/3 (pow.f64 x 3))
5.0ms
(*.f64 (pow.f64 x 5) 2/15)
5.0ms
(-.f64 (*.f64 (pow.f64 x 5) 2/15) (*.f64 1/3 (pow.f64 x 3)))
Compiler

Compiled 1374 to 1084 computations (21.1% saved)

series294.0ms (3.7%)

Error
0.9b
Counts
3 → 12
Calls

3 calls:

162.0ms
(-.f64 (*.f64 (pow.f64 x 5) 2/15) (*.f64 1/3 (pow.f64 x 3)))
66.0ms
(*.f64 (pow.f64 x 5) 2/15)
56.0ms
(*.f64 1/3 (pow.f64 x 3))
Compiler

Compiled 393 to 322 computations (18.1% saved)

simplify187.0ms (2.3%)

Algorithm
egg-herbie
Rules
351×exp-prod_binary64_1153
296×distribute-rgt-neg-in_binary64_1059
277×distribute-lft-neg-in_binary64_1058
219×*-commutative_binary64_1032
205×cancel-sign-sub-inv_binary64_1067
202×distribute-rgt-in_binary64_1051
186×log-prod_binary64_1187
177×neg-mul-1_binary64_1097
176×sqr-pow_binary64_1073
163×distribute-lft-in_binary64_1050
145×associate-*l*_binary64_1042
140×cube-prod_binary64_1129
135×unswap-sqr_binary64_1069
128×associate-*r*_binary64_1041
103×pow-sqr_binary64_1074
91×log-pow_binary64_1190
85×distribute-rgt-out_binary64_1054
78×associate-+r+_binary64_1033
77×associate-/l*_binary64_1046
74×pow-plus_binary64_1164 associate-+l+_binary64_1034
65×swap-sqr_binary64_1068
62×exp-sum_binary64_1147
59×neg-sub0_binary64_1096
54×difference-of-squares_binary64_1070
46×exp-to-pow_binary64_1163
44×unpow3_binary64_1167
33×unsub-neg_binary64_1095 associate-/r*_binary64_1045
32×sub-neg_binary64_1094
31×cube-mult_binary64_1131
29×*-lft-identity_binary64_1090 associate-/l/_binary64_1048
26×*-rgt-identity_binary64_1091 associate-*r/_binary64_1043
22×distribute-lft-neg-out_binary64_1060 +-commutative_binary64_1031
18×rem-sqrt-square_binary64_1114
17×associate-*l/_binary64_1044
16×distribute-rgt-neg-out_binary64_1061 distribute-lft-out_binary64_1052
15×exp-diff_binary64_1149 times-frac_binary64_1107
12×pow-base-1_binary64_1161
11×cube-unmult_binary64_1138 sqr-neg_binary64_1115
div-sub_binary64_1106 mul0-rgt_binary64_1084 mul0-lft_binary64_1083 count-2_binary64_1049
associate-/r/_binary64_1047
unpow1/3_binary64_1168
associate-+l-_binary64_1036
distribute-rgt-out--_binary64_1055 associate-+r-_binary64_1035
exp-sqrt_binary64_1154 prod-exp_binary64_1150
exp-neg_binary64_1148 sub0-neg_binary64_1088 +-rgt-identity_binary64_1086
exp-lft-cube_binary64_1157 exp-lft-sqr_binary64_1156 div-exp_binary64_1152 distribute-neg-in_binary64_1062 associate--r+_binary64_1037
log-div_binary64_1188 1-exp_binary64_1145 exp-1-e_binary64_1144 rem-log-exp_binary64_1142 cube-div_binary64_1130 cube-neg_binary64_1128 rem-cbrt-cube_binary64_1125 rem-cube-cbrt_binary64_1124 rem-square-sqrt_binary64_1113 *-inverses_binary64_1081 distribute-rgt1-in_binary64_1057 distribute-lft-out--_binary64_1053
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 unpow2_binary64_1166 unpow1/2_binary64_1165 unpow0_binary64_1160 unpow1_binary64_1159 unpow-1_binary64_1158 exp-cbrt_binary64_1155 rec-exp_binary64_1151 e-exp-1_binary64_1146 exp-0_binary64_1143 rem-exp-log_binary64_1141 rem-3cbrt-rft_binary64_1127 rem-3cbrt-lft_binary64_1126 sqr-abs_binary64_1116 mul-1-neg_binary64_1093 /-rgt-identity_binary64_1092 remove-double-neg_binary64_1089 --rgt-identity_binary64_1087 +-lft-identity_binary64_1085 div0_binary64_1082 +-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 cancel-sign-sub_binary64_1066 distribute-neg-frac_binary64_1065 distribute-frac-neg_binary64_1064 distribute-neg-out_binary64_1063 distribute-lft1-in_binary64_1056 associate--r-_binary64_1040 associate--l-_binary64_1039 associate--l+_binary64_1038
Counts
80 → 100
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01191027
1254966
2873965
31814965
44377965

prune170.0ms (2.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New973100
Fresh022
Picked101
Done011
Total986104
Error
0.9b
Counts
104 → 6
Compiler

Compiled 2446 to 1902 computations (22.2% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)
0.7b
(pow.f64 (cbrt.f64 x) 5)

rewrite90.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.9b
Rules
12×cbrt-prod_binary64_1132
10×add-cube-cbrt_binary64_1136 add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101
unpow-prod-down_binary64_1180
pow1_binary64_1162 add-exp-log_binary64_1139
pow1/3_binary64_1183 add-log-exp_binary64_1140 add-cbrt-cube_binary64_1137
pow-unpow_binary64_1178
pow-pow_binary64_1173
pow-to-exp_binary64_1170 pow-exp_binary64_1169 sqr-pow_binary64_1073
Counts
4 → 54
Calls

4 calls:

3.0ms
(pow.f64 (cbrt.f64 x) 5)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1438 to 846 computations (41.2% saved)

series568.0ms (7.1%)

Error
0.9b
Counts
4 → 12
Calls

4 calls:

203.0ms
(pow.f64 (cbrt.f64 x) 5)
119.0ms
(cbrt.f64 x)
114.0ms
(cbrt.f64 x)
112.0ms
(cbrt.f64 x)
Compiler

Compiled 894 to 687 computations (23.2% saved)

simplify154.0ms (1.9%)

Algorithm
egg-herbie
Rules
662×distribute-rgt-in_binary64_1051
592×distribute-lft-in_binary64_1050
358×unswap-sqr_binary64_1069
313×associate-/l/_binary64_1048
248×log-prod_binary64_1187
233×distribute-rgt-neg-in_binary64_1059 distribute-lft-neg-in_binary64_1058
228×sqr-pow_binary64_1073
141×associate-*l*_binary64_1042
138×distribute-rgt-out_binary64_1054
137×*-commutative_binary64_1032
132×pow-sqr_binary64_1074
107×associate-*r*_binary64_1041
104×times-frac_binary64_1107
69×cancel-sign-sub-inv_binary64_1067
59×pow-plus_binary64_1164 associate-/l*_binary64_1046
52×exp-prod_binary64_1153
48×associate-/r*_binary64_1045
44×cube-prod_binary64_1129
42×log-pow_binary64_1190
39×cube-unmult_binary64_1138
36×neg-sub0_binary64_1096
34×neg-mul-1_binary64_1097
31×associate-/r/_binary64_1047
27×count-2_binary64_1049
24×distribute-lft-out_binary64_1052 associate-*l/_binary64_1044
18×rem-sqrt-square_binary64_1114
17×associate-*r/_binary64_1043
14×/-rgt-identity_binary64_1092
13×sub-neg_binary64_1094 *-rgt-identity_binary64_1091
12×*-lft-identity_binary64_1090 swap-sqr_binary64_1068 distribute-lft1-in_binary64_1056
11×distribute-rgt1-in_binary64_1057
pow-base-1_binary64_1161 distribute-rgt-neg-out_binary64_1061 distribute-lft-neg-out_binary64_1060
unpow3_binary64_1167 cube-mult_binary64_1131
cube-div_binary64_1130
associate-+l+_binary64_1034 +-commutative_binary64_1031
unpow1/3_binary64_1168 prod-exp_binary64_1150 associate-+r+_binary64_1033
remove-double-div_binary64_1077
mul-1-neg_binary64_1093
unpow1_binary64_1159 div-exp_binary64_1152 rec-exp_binary64_1151 1-exp_binary64_1145 rem-3cbrt-lft_binary64_1126 rem-cbrt-cube_binary64_1125 +-rgt-identity_binary64_1086 rgt-mult-inverse_binary64_1078
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 log-div_binary64_1188 pow-base-0_binary64_1185 unpow2_binary64_1166 unpow1/2_binary64_1165 exp-to-pow_binary64_1163 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-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 rem-cube-cbrt_binary64_1124 sqr-abs_binary64_1116 sqr-neg_binary64_1115 rem-square-sqrt_binary64_1113 div-sub_binary64_1106 unsub-neg_binary64_1095 remove-double-neg_binary64_1089 sub0-neg_binary64_1088 --rgt-identity_binary64_1087 +-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 difference-of-sqr--1_binary64_1072 difference-of-sqr-1_binary64_1071 difference-of-squares_binary64_1070 cancel-sign-sub_binary64_1066 distribute-neg-frac_binary64_1065 distribute-frac-neg_binary64_1064 distribute-neg-out_binary64_1063 distribute-neg-in_binary64_1062 distribute-rgt-out--_binary64_1055 distribute-lft-out--_binary64_1053 associate--r-_binary64_1040 associate--l-_binary64_1039 associate--l+_binary64_1038 associate--r+_binary64_1037 associate-+l-_binary64_1036 associate-+r-_binary64_1035
Counts
66 → 40
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
056530
1114518
2306514
3893489
41959489

prune63.0ms (0.8%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New39140
Fresh044
Picked101
Done011
Total40646
Error
0.9b
Counts
46 → 6
Compiler

Compiled 1010 to 643 computations (36.3% saved)

regimes184.0ms (2.3%)

Accuracy

Total 0.0b remaining (96.5%)

Threshold costs 0.0b (96.5%)

Compiler

Compiled 1768 to 1352 computations (23.5% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
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 1-exp_binary64_1145 exp-1-e_binary64_1144 exp-0_binary64_1143 sqr-abs_binary64_1116 sqr-neg_binary64_1115 neg-mul-1_binary64_1097 neg-sub0_binary64_1096 unsub-neg_binary64_1095 sub-neg_binary64_1094 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-inv_binary64_1067 cancel-sign-sub_binary64_1066 distribute-neg-frac_binary64_1065 distribute-frac-neg_binary64_1064 distribute-neg-out_binary64_1063 distribute-neg-in_binary64_1062 distribute-rgt-neg-out_binary64_1061 distribute-lft-neg-out_binary64_1060 distribute-rgt-neg-in_binary64_1059 distribute-lft-neg-in_binary64_1058 *-commutative_binary64_1032 +-commutative_binary64_1031
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
Proof
(tanh f64 h0)

end0.0ms (0%)

sample2.7s (33.3%)

Algorithm
intervals
Results
1.0s3845×body1024valid
273.0ms1978×body512valid
109.0ms375×body2048valid
86.0ms982×body256valid
37.0ms820×body128valid
0.0msbody128overflowed
Compiler

Compiled 886 to 679 computations (23.4% saved)

Profiling

Loading profile data...