Details

Time bar (total: 8.9s)

analyze58.0ms (0.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
37.5%62.4%0.1%5
43.7%56.2%0.1%6
71.8%28.1%0.1%7
73.4%25%1.7%8
80.4%16.4%3.2%9
80.8%14%5.2%10
84.1%8.8%7.1%11
84.2%7.4%8.4%12
85.8%4.5%9.7%13
85.8%3.8%10.4%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample14.0ms (0.2%)

Algorithm
intervals
Results
5.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 15 to 15 computations (0% saved)

simplify947.0ms (10.6%)

Algorithm
egg-herbie
Rules
1217×exp-prod_binary64_3199
717×swap-sqr_binary64_3114
551×distribute-rgt-out--_binary64_3101
523×distribute-rgt-out_binary64_3100
496×cube-prod_binary64_3175
421×sub-neg_binary64_3140
319×distribute-rgt-neg-in_binary64_3105
291×unsub-neg_binary64_3141
276×div-sub_binary64_3152
255×exp-sum_binary64_3193
245×exp-diff_binary64_3195
180×associate--r-_binary64_3086
172×*-commutative_binary64_3078
170×cancel-sign-sub-inv_binary64_3113
161×sqr-pow_binary64_3119
137×neg-mul-1_binary64_3143
132×neg-sub0_binary64_3142
118×pow-plus_binary64_3210
117×pow-sqr_binary64_3120
116×associate--l-_binary64_3085
112×associate-+r-_binary64_3081
73×associate-+l-_binary64_3082 +-commutative_binary64_3077
49×distribute-lft-neg-in_binary64_3104
46×distribute-neg-out_binary64_3109 distribute-rgt1-in_binary64_3103
37×distribute-rgt-in_binary64_3097
21×distribute-neg-in_binary64_3108
19×associate-*r*_binary64_3087
17×associate--r+_binary64_3083
16×distribute-lft-in_binary64_3096 associate-+l+_binary64_3080
15×sqr-neg_binary64_3161 +-inverses_binary64_3126 difference-of-squares_binary64_3116
14×pow-base-1_binary64_3207 associate-+r+_binary64_3079
13×remove-double-neg_binary64_3135 count-2_binary64_3095
11×cube-unmult_binary64_3184 distribute-lft1-in_binary64_3102
10×exp-lft-sqr_binary64_3202 distribute-rgt-neg-out_binary64_3107 associate--l+_binary64_3084
distribute-lft-neg-out_binary64_3106
*-rgt-identity_binary64_3137
*-lft-identity_binary64_3136 --rgt-identity_binary64_3133
sub0-neg_binary64_3134 +-rgt-identity_binary64_3132 difference-of-sqr--1_binary64_3118 associate-*l/_binary64_3090 associate-*l*_binary64_3088
+-lft-identity_binary64_3131
distribute-lft-out--_binary64_3099 distribute-lft-out_binary64_3098
exp-neg_binary64_3194 cube-div_binary64_3176 mul0-lft_binary64_3129
unpow3_binary64_3213 1-exp_binary64_3191 exp-1-e_binary64_3190 cube-neg_binary64_3174 div0_binary64_3128 *-inverses_binary64_3127 distribute-neg-frac_binary64_3111
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_3410 erf-erfc_binary64_3409 erf-odd_binary64_3408 if-if-and-not_binary64_3407 if-if-and_binary64_3406 if-if-or-not_binary64_3405 if-if-or_binary64_3404 if-not_binary64_3403 if-same_binary64_3402 if-false_binary64_3401 if-true_binary64_3400 not-gte_binary64_3399 not-lte_binary64_3398 not-gt_binary64_3397 not-lt_binary64_3396 gte-same_binary64_3395 lte-same_binary64_3394 gt-same_binary64_3393 lt-same_binary64_3392 sinh---cosh_binary64_3339 sinh-+-cosh_binary64_3338 sinh-cosh_binary64_3337 tanh-def-c_binary64_3336 tanh-def-b_binary64_3335 tanh-def-a_binary64_3334 cosh-def_binary64_3333 sinh-def_binary64_3332 tan-neg_binary64_3279 cos-neg_binary64_3278 sin-neg_binary64_3277 tan-0_binary64_3276 cos-0_binary64_3275 sin-0_binary64_3274 hang-m-tan_binary64_3273 hang-p-tan_binary64_3272 hang-m0-tan_binary64_3271 hang-p0-tan_binary64_3270 hang-0m-tan_binary64_3269 hang-0p-tan_binary64_3268 tan-+PI/2_binary64_3267 tan-+PI_binary64_3266 tan-PI_binary64_3265 tan-PI/3_binary64_3264 tan-PI/4_binary64_3263 tan-PI/6_binary64_3262 cos-+PI/2_binary64_3261 cos-+PI_binary64_3260 cos-PI_binary64_3259 cos-PI/2_binary64_3258 cos-PI/3_binary64_3257 cos-PI/4_binary64_3256 cos-PI/6_binary64_3255 sin-+PI/2_binary64_3254 sin-+PI_binary64_3253 sin-PI_binary64_3252 sin-PI/2_binary64_3251 sin-PI/3_binary64_3250 sin-PI/4_binary64_3249 sin-PI/6_binary64_3248 sub-1-sin_binary64_3247 sub-1-cos_binary64_3246 -1-add-sin_binary64_3245 -1-add-cos_binary64_3244 1-sub-sin_binary64_3243 1-sub-cos_binary64_3242 cos-sin-sum_binary64_3241 log-E_binary64_3237 log-pow_binary64_3236 log-rec_binary64_3235 log-div_binary64_3234 log-prod_binary64_3233 pow-base-0_binary64_3231 unpow1/3_binary64_3214 unpow2_binary64_3212 unpow1/2_binary64_3211 exp-to-pow_binary64_3209 unpow0_binary64_3206 unpow1_binary64_3205 unpow-1_binary64_3204 exp-lft-cube_binary64_3203 exp-cbrt_binary64_3201 exp-sqrt_binary64_3200 div-exp_binary64_3198 rec-exp_binary64_3197 prod-exp_binary64_3196 e-exp-1_binary64_3192 exp-0_binary64_3189 rem-log-exp_binary64_3188 rem-exp-log_binary64_3187 cube-mult_binary64_3177 rem-3cbrt-rft_binary64_3173 rem-3cbrt-lft_binary64_3172 rem-cbrt-cube_binary64_3171 rem-cube-cbrt_binary64_3170 sqr-abs_binary64_3162 rem-sqrt-square_binary64_3160 rem-square-sqrt_binary64_3159 times-frac_binary64_3153 mul-1-neg_binary64_3139 /-rgt-identity_binary64_3138 mul0-rgt_binary64_3130 lft-mult-inverse_binary64_3125 rgt-mult-inverse_binary64_3124 remove-double-div_binary64_3123 difference-of-sqr-1_binary64_3117 unswap-sqr_binary64_3115 cancel-sign-sub_binary64_3112 distribute-frac-neg_binary64_3110 associate-/l/_binary64_3094 associate-/r/_binary64_3093 associate-/l*_binary64_3092 associate-/r*_binary64_3091 associate-*r/_binary64_3089
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
1911
21411
32011
42811
54311
68911
720311
8178911
9228211

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 7 to 6 computations (14.3% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))

rewrite31.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-cube-cbrt_binary64_3182 add-sqr-sqrt_binary64_3169 times-frac_binary64_3153 *-un-lft-identity_binary64_3147
add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183 associate-/l*_binary64_3092 associate-/r*_binary64_3091
pow1_binary64_3208 div-exp_binary64_3198 add-log-exp_binary64_3186 cbrt-undiv_binary64_3181 frac-2neg_binary64_3158 clear-num_binary64_3146 div-inv_binary64_3144
Counts
1 → 27
Calls

1 calls:

3.0ms
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
Compiler

Compiled 421 to 90 computations (78.6% saved)

series114.0ms (1.3%)

Error
0.0b
Counts
1 → 6
Calls

1 calls:

110.0ms
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
Compiler

Compiled 126 to 78 computations (38.1% saved)

simplify106.0ms (1.2%)

Algorithm
egg-herbie
Rules
745×times-frac_binary64_3153
612×div-sub_binary64_3152
499×distribute-rgt-in_binary64_3097
483×distribute-lft-in_binary64_3096
331×associate-/l*_binary64_3092
228×associate-/l/_binary64_3094
137×associate-/r*_binary64_3091
102×distribute-rgt-neg-out_binary64_3107
99×associate-/r/_binary64_3093
95×associate-*l*_binary64_3088
86×associate-*l/_binary64_3090
78×distribute-lft-neg-out_binary64_3106
77×distribute-frac-neg_binary64_3110
67×sub-neg_binary64_3140
59×unsub-neg_binary64_3141 associate-*r*_binary64_3087
58×associate-*r/_binary64_3089
54×cancel-sign-sub-inv_binary64_3113
50×unswap-sqr_binary64_3115
36×*-lft-identity_binary64_3136
34×/-rgt-identity_binary64_3138
33×distribute-rgt-out_binary64_3100 *-commutative_binary64_3078
26×neg-sub0_binary64_3142 distribute-rgt-out--_binary64_3101
24×*-rgt-identity_binary64_3137
21×neg-mul-1_binary64_3143
18×sqr-pow_binary64_3119 distribute-rgt-neg-in_binary64_3105 distribute-lft-neg-in_binary64_3104
16×distribute-neg-out_binary64_3109
15×div0_binary64_3128
14×distribute-lft-out_binary64_3098
12×exp-prod_binary64_3199
11×sub0-neg_binary64_3134 distribute-neg-frac_binary64_3111
10×pow-sqr_binary64_3120
log-div_binary64_3234 log-prod_binary64_3233 div-exp_binary64_3198 prod-exp_binary64_3196
swap-sqr_binary64_3114 distribute-lft-out--_binary64_3099 associate-+l-_binary64_3082 associate-+l+_binary64_3080 associate-+r+_binary64_3079
+-lft-identity_binary64_3131 remove-double-div_binary64_3123 distribute-neg-in_binary64_3108 +-commutative_binary64_3077
cube-div_binary64_3176 cube-prod_binary64_3175 associate--l-_binary64_3085
mul0-rgt_binary64_3130 mul0-lft_binary64_3129 distribute-rgt1-in_binary64_3103
log-pow_binary64_3236 log-rec_binary64_3235 exp-to-pow_binary64_3209 cube-unmult_binary64_3184 sqr-neg_binary64_3161
pow-plus_binary64_3210 rec-exp_binary64_3197
sqr-abs_binary64_3162 mul-1-neg_binary64_3139 --rgt-identity_binary64_3133 associate--r-_binary64_3086 associate-+r-_binary64_3081
pow-base-1_binary64_3207 exp-diff_binary64_3195 1-exp_binary64_3191 rem-log-exp_binary64_3188 remove-double-neg_binary64_3135 +-rgt-identity_binary64_3132 *-inverses_binary64_3127 +-inverses_binary64_3126 count-2_binary64_3095 associate--l+_binary64_3084 associate--r+_binary64_3083
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_3410 erf-erfc_binary64_3409 erf-odd_binary64_3408 if-if-and-not_binary64_3407 if-if-and_binary64_3406 if-if-or-not_binary64_3405 if-if-or_binary64_3404 if-not_binary64_3403 if-same_binary64_3402 if-false_binary64_3401 if-true_binary64_3400 not-gte_binary64_3399 not-lte_binary64_3398 not-gt_binary64_3397 not-lt_binary64_3396 gte-same_binary64_3395 lte-same_binary64_3394 gt-same_binary64_3393 lt-same_binary64_3392 sinh---cosh_binary64_3339 sinh-+-cosh_binary64_3338 sinh-cosh_binary64_3337 tanh-def-c_binary64_3336 tanh-def-b_binary64_3335 tanh-def-a_binary64_3334 cosh-def_binary64_3333 sinh-def_binary64_3332 tan-neg_binary64_3279 cos-neg_binary64_3278 sin-neg_binary64_3277 tan-0_binary64_3276 cos-0_binary64_3275 sin-0_binary64_3274 hang-m-tan_binary64_3273 hang-p-tan_binary64_3272 hang-m0-tan_binary64_3271 hang-p0-tan_binary64_3270 hang-0m-tan_binary64_3269 hang-0p-tan_binary64_3268 tan-+PI/2_binary64_3267 tan-+PI_binary64_3266 tan-PI_binary64_3265 tan-PI/3_binary64_3264 tan-PI/4_binary64_3263 tan-PI/6_binary64_3262 cos-+PI/2_binary64_3261 cos-+PI_binary64_3260 cos-PI_binary64_3259 cos-PI/2_binary64_3258 cos-PI/3_binary64_3257 cos-PI/4_binary64_3256 cos-PI/6_binary64_3255 sin-+PI/2_binary64_3254 sin-+PI_binary64_3253 sin-PI_binary64_3252 sin-PI/2_binary64_3251 sin-PI/3_binary64_3250 sin-PI/4_binary64_3249 sin-PI/6_binary64_3248 sub-1-sin_binary64_3247 sub-1-cos_binary64_3246 -1-add-sin_binary64_3245 -1-add-cos_binary64_3244 1-sub-sin_binary64_3243 1-sub-cos_binary64_3242 cos-sin-sum_binary64_3241 log-E_binary64_3237 pow-base-0_binary64_3231 unpow1/3_binary64_3214 unpow3_binary64_3213 unpow2_binary64_3212 unpow1/2_binary64_3211 unpow0_binary64_3206 unpow1_binary64_3205 unpow-1_binary64_3204 exp-lft-cube_binary64_3203 exp-lft-sqr_binary64_3202 exp-cbrt_binary64_3201 exp-sqrt_binary64_3200 exp-neg_binary64_3194 exp-sum_binary64_3193 e-exp-1_binary64_3192 exp-1-e_binary64_3190 exp-0_binary64_3189 rem-exp-log_binary64_3187 cube-mult_binary64_3177 cube-neg_binary64_3174 rem-3cbrt-rft_binary64_3173 rem-3cbrt-lft_binary64_3172 rem-cbrt-cube_binary64_3171 rem-cube-cbrt_binary64_3170 rem-sqrt-square_binary64_3160 rem-square-sqrt_binary64_3159 lft-mult-inverse_binary64_3125 rgt-mult-inverse_binary64_3124 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 difference-of-squares_binary64_3116 cancel-sign-sub_binary64_3112 distribute-lft1-in_binary64_3102
Counts
33 → 16
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
053619
194573
2225573
3661573
42087573

prune18.0ms (0.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New14216
Fresh000
Picked011
Done000
Total14317
Error
0b
Counts
17 → 3
Compiler

Compiled 324 to 67 computations (79.3% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f64 (fabs.f64 (-.f64 x y)))
0.0b
(sqrt.f64 (fabs.f64 (-.f64 x y)))
0.3b
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y))
0.3b
(*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y)))

rewrite127.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
54×add-sqr-sqrt_binary64_3169
40×times-frac_binary64_3153
36×add-cube-cbrt_binary64_3182 *-un-lft-identity_binary64_3147
35×sqrt-prod_binary64_3163
22×associate-*r*_binary64_3087
11×add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183
pow1_binary64_3208
unswap-sqr_binary64_3115 associate-*l*_binary64_3088 associate-/l*_binary64_3092
add-log-exp_binary64_3186
associate-/r*_binary64_3091
div-exp_binary64_3198 prod-exp_binary64_3196 cbrt-unprod_binary64_3180 cbrt-undiv_binary64_3181 div-inv_binary64_3144 pow1/2_binary64_3227 sqrt-pow1_binary64_3165 rem-sqrt-square_binary64_3160
pow-prod-down_binary64_3218 associate-*r/_binary64_3089 *-commutative_binary64_3078 frac-2neg_binary64_3158 clear-num_binary64_3146
Counts
4 → 113
Calls

4 calls:

11.0ms
(*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y)))
4.0ms
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y))
1.0ms
(sqrt.f64 (fabs.f64 (-.f64 x y)))
1.0ms
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Compiler

Compiled 2743 to 343 computations (87.5% saved)

series436.0ms (4.9%)

Error
0b
Counts
4 → 24
Calls

4 calls:

176.0ms
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y))
110.0ms
(*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) (fabs.f64 y)))
68.0ms
(sqrt.f64 (fabs.f64 (-.f64 x y)))
66.0ms
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Compiler

Compiled 918 to 417 computations (54.6% saved)

simplify437.0ms (4.9%)

Algorithm
egg-herbie
Rules
459×times-frac_binary64_3153
412×associate-/l*_binary64_3092
375×div-sub_binary64_3152
255×distribute-frac-neg_binary64_3110
252×associate-*l*_binary64_3088
233×sqr-pow_binary64_3119
227×associate-*l/_binary64_3090
223×associate-/l/_binary64_3094
190×associate-*r*_binary64_3087
172×unswap-sqr_binary64_3115
164×associate-*r/_binary64_3089
125×pow-sqr_binary64_3120
113×associate-/r*_binary64_3091
108×unsub-neg_binary64_3141
94×distribute-rgt-in_binary64_3097
86×*-lft-identity_binary64_3136
80×cancel-sign-sub-inv_binary64_3113
79×distribute-lft-in_binary64_3096
74×log-prod_binary64_3233
73×log-div_binary64_3234 sub-neg_binary64_3140
71×exp-prod_binary64_3199
65×swap-sqr_binary64_3114
63×cube-div_binary64_3176
60×neg-mul-1_binary64_3143
59×*-commutative_binary64_3078
58×remove-double-div_binary64_3123
57×cube-prod_binary64_3175 associate-/r/_binary64_3093
53×exp-to-pow_binary64_3209 *-rgt-identity_binary64_3137
46×neg-sub0_binary64_3142
34×associate-+l-_binary64_3082
28×distribute-neg-out_binary64_3109
27×pow-plus_binary64_3210
25×distribute-rgt-out_binary64_3100 associate--r+_binary64_3083
23×log-rec_binary64_3235 distribute-rgt-out--_binary64_3101
22×associate--l-_binary64_3085
21×sqr-neg_binary64_3161
20×log-pow_binary64_3236 /-rgt-identity_binary64_3138
19×unpow3_binary64_3213
18×distribute-rgt-neg-out_binary64_3107 distribute-lft-neg-out_binary64_3106
17×associate--r-_binary64_3086
16×cube-mult_binary64_3177 mul0-lft_binary64_3129
15×sub0-neg_binary64_3134 mul0-rgt_binary64_3130 distribute-lft-neg-in_binary64_3104
14×exp-sum_binary64_3193 +-lft-identity_binary64_3131 associate--l+_binary64_3084
13×distribute-lft-out--_binary64_3099 distribute-lft-out_binary64_3098 +-commutative_binary64_3077
12×distribute-rgt-neg-in_binary64_3105 associate-+l+_binary64_3080
11×cube-unmult_binary64_3184 distribute-neg-frac_binary64_3111
10×associate-+r+_binary64_3079
div-exp_binary64_3198 prod-exp_binary64_3196
exp-diff_binary64_3195 associate-+r-_binary64_3081
rem-sqrt-square_binary64_3160 --rgt-identity_binary64_3133 distribute-neg-in_binary64_3108
distribute-rgt1-in_binary64_3103
pow-base-1_binary64_3207 +-rgt-identity_binary64_3132 +-inverses_binary64_3126 count-2_binary64_3095
rec-exp_binary64_3197 remove-double-neg_binary64_3135 div0_binary64_3128
rem-log-exp_binary64_3188 cube-neg_binary64_3174 sqr-abs_binary64_3162 rem-square-sqrt_binary64_3159
exp-lft-sqr_binary64_3202 1-exp_binary64_3191 exp-1-e_binary64_3190 rgt-mult-inverse_binary64_3124 difference-of-squares_binary64_3116 cancel-sign-sub_binary64_3112
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_3410 erf-erfc_binary64_3409 erf-odd_binary64_3408 if-if-and-not_binary64_3407 if-if-and_binary64_3406 if-if-or-not_binary64_3405 if-if-or_binary64_3404 if-not_binary64_3403 if-same_binary64_3402 if-false_binary64_3401 if-true_binary64_3400 not-gte_binary64_3399 not-lte_binary64_3398 not-gt_binary64_3397 not-lt_binary64_3396 gte-same_binary64_3395 lte-same_binary64_3394 gt-same_binary64_3393 lt-same_binary64_3392 sinh---cosh_binary64_3339 sinh-+-cosh_binary64_3338 sinh-cosh_binary64_3337 tanh-def-c_binary64_3336 tanh-def-b_binary64_3335 tanh-def-a_binary64_3334 cosh-def_binary64_3333 sinh-def_binary64_3332 tan-neg_binary64_3279 cos-neg_binary64_3278 sin-neg_binary64_3277 tan-0_binary64_3276 cos-0_binary64_3275 sin-0_binary64_3274 hang-m-tan_binary64_3273 hang-p-tan_binary64_3272 hang-m0-tan_binary64_3271 hang-p0-tan_binary64_3270 hang-0m-tan_binary64_3269 hang-0p-tan_binary64_3268 tan-+PI/2_binary64_3267 tan-+PI_binary64_3266 tan-PI_binary64_3265 tan-PI/3_binary64_3264 tan-PI/4_binary64_3263 tan-PI/6_binary64_3262 cos-+PI/2_binary64_3261 cos-+PI_binary64_3260 cos-PI_binary64_3259 cos-PI/2_binary64_3258 cos-PI/3_binary64_3257 cos-PI/4_binary64_3256 cos-PI/6_binary64_3255 sin-+PI/2_binary64_3254 sin-+PI_binary64_3253 sin-PI_binary64_3252 sin-PI/2_binary64_3251 sin-PI/3_binary64_3250 sin-PI/4_binary64_3249 sin-PI/6_binary64_3248 sub-1-sin_binary64_3247 sub-1-cos_binary64_3246 -1-add-sin_binary64_3245 -1-add-cos_binary64_3244 1-sub-sin_binary64_3243 1-sub-cos_binary64_3242 cos-sin-sum_binary64_3241 log-E_binary64_3237 pow-base-0_binary64_3231 unpow1/3_binary64_3214 unpow2_binary64_3212 unpow1/2_binary64_3211 unpow0_binary64_3206 unpow1_binary64_3205 unpow-1_binary64_3204 exp-lft-cube_binary64_3203 exp-cbrt_binary64_3201 exp-sqrt_binary64_3200 exp-neg_binary64_3194 e-exp-1_binary64_3192 exp-0_binary64_3189 rem-exp-log_binary64_3187 rem-3cbrt-rft_binary64_3173 rem-3cbrt-lft_binary64_3172 rem-cbrt-cube_binary64_3171 rem-cube-cbrt_binary64_3170 mul-1-neg_binary64_3139 *-inverses_binary64_3127 lft-mult-inverse_binary64_3125 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 distribute-lft1-in_binary64_3102
Counts
137 → 103
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01092762
12162485
27512429
322792429
426952429
535972429

prune101.0ms (1.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1030103
Fresh011
Picked011
Done011
Total1033106
Error
0b
Counts
106 → 3
Compiler

Compiled 2362 to 245 computations (89.6% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.4b
(/.f64 (/.f64 (fabs.f64 (-.f64 x y)) (cbrt.f64 (fabs.f64 y))) (cbrt.f64 (fabs.f64 y)))
0.5b
(cbrt.f64 (fabs.f64 y))
0.5b
(cbrt.f64 (fabs.f64 y))
0.5b
(cbrt.f64 (fabs.f64 y))

rewrite281.0ms (3.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
258×times-frac_binary64_3153
144×add-cube-cbrt_binary64_3182 add-sqr-sqrt_binary64_3169 *-un-lft-identity_binary64_3147
141×cbrt-prod_binary64_3178
22×associate-/l*_binary64_3092
add-exp-log_binary64_3185
div-inv_binary64_3144
add-cbrt-cube_binary64_3183 associate-/r*_binary64_3091
pow1_binary64_3208 add-log-exp_binary64_3186
pow1/3_binary64_3229 div-exp_binary64_3198 cbrt-undiv_binary64_3181
frac-2neg_binary64_3158 clear-num_binary64_3146 associate-/l/_binary64_3094
Counts
4 → 208
Calls

4 calls:

10.0ms
(/.f64 (/.f64 (fabs.f64 (-.f64 x y)) (cbrt.f64 (fabs.f64 y))) (cbrt.f64 (fabs.f64 y)))
1.0ms
(cbrt.f64 (fabs.f64 y))
1.0ms
(cbrt.f64 (fabs.f64 y))
1.0ms
(cbrt.f64 (fabs.f64 y))
Compiler

Compiled 6457 to 986 computations (84.7% saved)

series843.0ms (9.5%)

Error
0b
Counts
4 → 15
Calls

4 calls:

496.0ms
(/.f64 (/.f64 (fabs.f64 (-.f64 x y)) (cbrt.f64 (fabs.f64 y))) (cbrt.f64 (fabs.f64 y)))
116.0ms
(cbrt.f64 (fabs.f64 y))
110.0ms
(cbrt.f64 (fabs.f64 y))
108.0ms
(cbrt.f64 (fabs.f64 y))
Compiler

Compiled 765 to 458 computations (40.1% saved)

simplify2.0s (22.4%)

Algorithm
egg-herbie
Rules
413×associate-/l/_binary64_3094
389×associate-/r/_binary64_3093
381×unswap-sqr_binary64_3115
292×associate-*l/_binary64_3090
257×log-prod_binary64_3233
243×associate-*r/_binary64_3089
226×associate-*l*_binary64_3088
168×*-commutative_binary64_3078
120×associate-*r*_binary64_3087
113×cube-prod_binary64_3175
111×distribute-rgt-in_binary64_3097
108×associate-/r*_binary64_3091
96×distribute-lft-in_binary64_3096
86×associate-/l*_binary64_3092
85×log-div_binary64_3234
78×cancel-sign-sub-inv_binary64_3113
71×exp-prod_binary64_3199
57×cube-div_binary64_3176
56×times-frac_binary64_3153
49×sqr-pow_binary64_3119
43×*-rgt-identity_binary64_3137
41×distribute-rgt-neg-in_binary64_3105
40×sub-neg_binary64_3140
37×associate--l-_binary64_3085
36×unpow3_binary64_3213 swap-sqr_binary64_3114
35×div-sub_binary64_3152 distribute-lft-neg-in_binary64_3104
34×log-pow_binary64_3236
31×pow-plus_binary64_3210
30×associate-+l+_binary64_3080
29×/-rgt-identity_binary64_3138 associate-+l-_binary64_3082
28×cube-mult_binary64_3177 associate-+r+_binary64_3079
27×pow-sqr_binary64_3120
26×*-lft-identity_binary64_3136 associate--r+_binary64_3083
25×associate--l+_binary64_3084
24×distribute-rgt-out_binary64_3100
21×cube-unmult_binary64_3184 distribute-neg-frac_binary64_3111
20×neg-mul-1_binary64_3143
19×prod-exp_binary64_3196 neg-sub0_binary64_3142
17×associate--r-_binary64_3086
16×exp-sqrt_binary64_3200 div-exp_binary64_3198 distribute-lft-out_binary64_3098
14×distribute-neg-in_binary64_3108
12×+-commutative_binary64_3077
11×associate-+r-_binary64_3081
10×distribute-rgt-out--_binary64_3101 count-2_binary64_3095
exp-lft-sqr_binary64_3202 distribute-lft-neg-out_binary64_3106
log-rec_binary64_3235 exp-to-pow_binary64_3209 rem-sqrt-square_binary64_3160 distribute-rgt-neg-out_binary64_3107
exp-diff_binary64_3195 unsub-neg_binary64_3141 distribute-neg-out_binary64_3109
exp-sum_binary64_3193
distribute-rgt1-in_binary64_3103
rec-exp_binary64_3197 sub0-neg_binary64_3134
distribute-frac-neg_binary64_3110 distribute-lft-out--_binary64_3099
unpow1/3_binary64_3214 rem-3cbrt-lft_binary64_3172 sqr-abs_binary64_3162 div0_binary64_3128
unpow2_binary64_3212 pow-base-1_binary64_3207 unpow1_binary64_3205 1-exp_binary64_3191 exp-1-e_binary64_3190 rem-log-exp_binary64_3188 rem-exp-log_binary64_3187 rem-3cbrt-rft_binary64_3173 rem-cbrt-cube_binary64_3171 sqr-neg_binary64_3161 rem-square-sqrt_binary64_3159 remove-double-neg_binary64_3135 +-rgt-identity_binary64_3132 *-inverses_binary64_3127 rgt-mult-inverse_binary64_3124 cancel-sign-sub_binary64_3112
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_3410 erf-erfc_binary64_3409 erf-odd_binary64_3408 if-if-and-not_binary64_3407 if-if-and_binary64_3406 if-if-or-not_binary64_3405 if-if-or_binary64_3404 if-not_binary64_3403 if-same_binary64_3402 if-false_binary64_3401 if-true_binary64_3400 not-gte_binary64_3399 not-lte_binary64_3398 not-gt_binary64_3397 not-lt_binary64_3396 gte-same_binary64_3395 lte-same_binary64_3394 gt-same_binary64_3393 lt-same_binary64_3392 sinh---cosh_binary64_3339 sinh-+-cosh_binary64_3338 sinh-cosh_binary64_3337 tanh-def-c_binary64_3336 tanh-def-b_binary64_3335 tanh-def-a_binary64_3334 cosh-def_binary64_3333 sinh-def_binary64_3332 tan-neg_binary64_3279 cos-neg_binary64_3278 sin-neg_binary64_3277 tan-0_binary64_3276 cos-0_binary64_3275 sin-0_binary64_3274 hang-m-tan_binary64_3273 hang-p-tan_binary64_3272 hang-m0-tan_binary64_3271 hang-p0-tan_binary64_3270 hang-0m-tan_binary64_3269 hang-0p-tan_binary64_3268 tan-+PI/2_binary64_3267 tan-+PI_binary64_3266 tan-PI_binary64_3265 tan-PI/3_binary64_3264 tan-PI/4_binary64_3263 tan-PI/6_binary64_3262 cos-+PI/2_binary64_3261 cos-+PI_binary64_3260 cos-PI_binary64_3259 cos-PI/2_binary64_3258 cos-PI/3_binary64_3257 cos-PI/4_binary64_3256 cos-PI/6_binary64_3255 sin-+PI/2_binary64_3254 sin-+PI_binary64_3253 sin-PI_binary64_3252 sin-PI/2_binary64_3251 sin-PI/3_binary64_3250 sin-PI/4_binary64_3249 sin-PI/6_binary64_3248 sub-1-sin_binary64_3247 sub-1-cos_binary64_3246 -1-add-sin_binary64_3245 -1-add-cos_binary64_3244 1-sub-sin_binary64_3243 1-sub-cos_binary64_3242 cos-sin-sum_binary64_3241 log-E_binary64_3237 pow-base-0_binary64_3231 unpow1/2_binary64_3211 unpow0_binary64_3206 unpow-1_binary64_3204 exp-lft-cube_binary64_3203 exp-cbrt_binary64_3201 exp-neg_binary64_3194 e-exp-1_binary64_3192 exp-0_binary64_3189 cube-neg_binary64_3174 rem-cube-cbrt_binary64_3170 mul-1-neg_binary64_3139 --rgt-identity_binary64_3133 +-lft-identity_binary64_3131 mul0-rgt_binary64_3130 mul0-lft_binary64_3129 +-inverses_binary64_3126 lft-mult-inverse_binary64_3125 remove-double-div_binary64_3123 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 difference-of-squares_binary64_3116 distribute-lft1-in_binary64_3102
Counts
223 → 1776
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02798587
15968107
212967760
327347354
444817348

prune2.7s (30.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New177601776
Fresh000
Picked011
Done022
Total177631779
Error
0b
Counts
1779 → 3
Compiler

Compiled 59947 to 12053 computations (79.9% saved)

regimes60.0ms (0.7%)

Accuracy

Total 0.0b remaining (92.4%)

Threshold costs 0.0b (92.4%)

Compiler

Compiled 483 to 281 computations (41.8% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
sub-neg_binary64_3140 +-commutative_binary64_3077
neg-mul-1_binary64_3143 neg-sub0_binary64_3142 *-commutative_binary64_3078
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_3407 if-if-and_binary64_3406 if-if-or-not_binary64_3405 if-if-or_binary64_3404 if-not_binary64_3403 if-same_binary64_3402 if-false_binary64_3401 if-true_binary64_3400 tan-0_binary64_3276 cos-0_binary64_3275 sin-0_binary64_3274 unpow1_binary64_3205 e-exp-1_binary64_3192 1-exp_binary64_3191 exp-1-e_binary64_3190 exp-0_binary64_3189 sqr-abs_binary64_3162 sqr-neg_binary64_3161 unsub-neg_binary64_3141 mul-1-neg_binary64_3139 /-rgt-identity_binary64_3138 *-rgt-identity_binary64_3137 *-lft-identity_binary64_3136 remove-double-neg_binary64_3135 sub0-neg_binary64_3134 --rgt-identity_binary64_3133 +-rgt-identity_binary64_3132 +-lft-identity_binary64_3131 cancel-sign-sub-inv_binary64_3113 cancel-sign-sub_binary64_3112 distribute-neg-frac_binary64_3111 distribute-frac-neg_binary64_3110 distribute-neg-out_binary64_3109 distribute-neg-in_binary64_3108 distribute-rgt-neg-out_binary64_3107 distribute-lft-neg-out_binary64_3106 distribute-rgt-neg-in_binary64_3105 distribute-lft-neg-in_binary64_3104
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
1911
21411
31611
41711
Proof
(/ f64 (fabs f64 (- f64 h0 h1)) (fabs f64 h1))

end0.0ms (0%)

sample579.0ms (6.5%)

Algorithm
intervals
Results
183.0ms8000×body128valid
4.0ms199×body128invalid
Compiler

Compiled 170 to 102 computations (40% saved)

Profiling

Loading profile data...