Details

Time bar (total: 8.7s)

analyze523.0ms (6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
6.2%93.6%0.2%8
25%74.9%0.2%9
28.1%71.7%0.2%10
29.6%70.2%0.2%11
53%46.8%0.2%12
71.3%28.5%0.2%13
71.7%28.1%0.2%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample22.0ms (0.2%)

Algorithm
intervals
Results
10.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 31 to 27 computations (12.9% saved)

simplify102.0ms (1.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_3078 +-commutative_binary64_3077
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 unpow3_binary64_3213 unpow2_binary64_3212 unpow1/2_binary64_3211 pow-plus_binary64_3210 exp-to-pow_binary64_3209 pow-base-1_binary64_3207 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-prod_binary64_3199 div-exp_binary64_3198 rec-exp_binary64_3197 prod-exp_binary64_3196 exp-diff_binary64_3195 exp-neg_binary64_3194 exp-sum_binary64_3193 e-exp-1_binary64_3192 1-exp_binary64_3191 exp-1-e_binary64_3190 exp-0_binary64_3189 rem-log-exp_binary64_3188 rem-exp-log_binary64_3187 cube-unmult_binary64_3184 cube-mult_binary64_3177 cube-div_binary64_3176 cube-prod_binary64_3175 cube-neg_binary64_3174 rem-3cbrt-rft_binary64_3173 rem-3cbrt-lft_binary64_3172 rem-cbrt-cube_binary64_3171 rem-cube-cbrt_binary64_3170 sqr-abs_binary64_3162 sqr-neg_binary64_3161 rem-sqrt-square_binary64_3160 rem-square-sqrt_binary64_3159 times-frac_binary64_3153 div-sub_binary64_3152 neg-mul-1_binary64_3143 neg-sub0_binary64_3142 unsub-neg_binary64_3141 sub-neg_binary64_3140 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 mul0-rgt_binary64_3130 mul0-lft_binary64_3129 div0_binary64_3128 *-inverses_binary64_3127 +-inverses_binary64_3126 lft-mult-inverse_binary64_3125 rgt-mult-inverse_binary64_3124 remove-double-div_binary64_3123 pow-sqr_binary64_3120 sqr-pow_binary64_3119 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 difference-of-squares_binary64_3116 unswap-sqr_binary64_3115 swap-sqr_binary64_3114 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 distribute-rgt1-in_binary64_3103 distribute-lft1-in_binary64_3102 distribute-rgt-out--_binary64_3101 distribute-rgt-out_binary64_3100 distribute-lft-out--_binary64_3099 distribute-lft-out_binary64_3098 distribute-rgt-in_binary64_3097 distribute-lft-in_binary64_3096 count-2_binary64_3095 associate-/l/_binary64_3094 associate-/r/_binary64_3093 associate-/l*_binary64_3092 associate-/r*_binary64_3091 associate-*l/_binary64_3090 associate-*r/_binary64_3089 associate-*l*_binary64_3088 associate-*r*_binary64_3087 associate--r-_binary64_3086 associate--l-_binary64_3085 associate--l+_binary64_3084 associate--r+_binary64_3083 associate-+l-_binary64_3082 associate-+r-_binary64_3081 associate-+l+_binary64_3080 associate-+r+_binary64_3079
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01222
11622
21622

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 15 to 11 computations (26.7% saved)

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 c c) (*.f64 d d))
0.9b
(+.f64 (*.f64 a c) (*.f64 b d))
29.7b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))

rewrite80.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
30.1b
Rules
11×add-cube-cbrt_binary64_3182 add-sqr-sqrt_binary64_3169 *-un-lft-identity_binary64_3147
times-frac_binary64_3153
add-log-exp_binary64_3186
add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183
flip3-+_binary64_3150 flip-+_binary64_3121
pow1_binary64_3208 associate-/l*_binary64_3092 associate-/r*_binary64_3091
associate-/l/_binary64_3094 associate-/r/_binary64_3093 sum-log_binary64_3238 +-commutative_binary64_3077
div-exp_binary64_3198 cbrt-undiv_binary64_3181 frac-2neg_binary64_3158 clear-num_binary64_3146 div-inv_binary64_3144
Counts
3 → 53
Calls

3 calls:

9.0ms
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
4.0ms
(+.f64 (*.f64 c c) (*.f64 d d))
4.0ms
(+.f64 (*.f64 a c) (*.f64 b d))
Compiler

Compiled 1469 to 193 computations (86.9% saved)

series545.0ms (6.3%)

Error
7.3b
Counts
3 → 60
Calls

3 calls:

282.0ms
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
139.0ms
(+.f64 (*.f64 a c) (*.f64 b d))
86.0ms
(+.f64 (*.f64 c c) (*.f64 d d))
Compiler

Compiled 2046 to 1283 computations (37.3% saved)

simplify152.0ms (1.8%)

Algorithm
egg-herbie
Rules
438×associate-*l*_binary64_3088
363×associate-*r*_binary64_3087
342×cancel-sign-sub-inv_binary64_3113
335×unswap-sqr_binary64_3115
274×times-frac_binary64_3153
231×distribute-rgt-out_binary64_3100
187×distribute-rgt-neg-in_binary64_3105
174×distribute-rgt-in_binary64_3097
161×distribute-lft-neg-in_binary64_3104
158×*-commutative_binary64_3078
150×distribute-lft-in_binary64_3096
122×exp-prod_binary64_3199
113×div-sub_binary64_3152
96×sub-neg_binary64_3140
84×associate-/l*_binary64_3092
66×sqr-pow_binary64_3119
65×distribute-lft-neg-out_binary64_3106
55×associate-/r*_binary64_3091
54×associate-*l/_binary64_3090
47×associate-/l/_binary64_3094
46×difference-of-squares_binary64_3116
45×neg-sub0_binary64_3142
42×distribute-rgt-out--_binary64_3101
41×exp-sum_binary64_3193 associate-*r/_binary64_3089
40×neg-mul-1_binary64_3143
38×unpow3_binary64_3213
36×distribute-rgt-neg-out_binary64_3107
32×cube-prod_binary64_3175 associate-+l+_binary64_3080
31×+-commutative_binary64_3077
30×associate-/r/_binary64_3093
28×associate-+r+_binary64_3079
24×pow-plus_binary64_3210
23×unsub-neg_binary64_3141
21×cube-unmult_binary64_3184
19×associate-+r-_binary64_3081
16×+-rgt-identity_binary64_3132 pow-sqr_binary64_3120 distribute-neg-in_binary64_3108 associate-+l-_binary64_3082
13×distribute-lft-out_binary64_3098
11×sub0-neg_binary64_3134
10×cube-mult_binary64_3177 /-rgt-identity_binary64_3138
*-rgt-identity_binary64_3137
distribute-neg-frac_binary64_3111
distribute-lft-out--_binary64_3099
exp-diff_binary64_3195 *-lft-identity_binary64_3136 swap-sqr_binary64_3114 cancel-sign-sub_binary64_3112
log-div_binary64_3234 cube-div_binary64_3176
log-prod_binary64_3233 unpow2_binary64_3212 unpow1/2_binary64_3211 unpow1_binary64_3205 prod-exp_binary64_3196 sqr-neg_binary64_3161 rem-sqrt-square_binary64_3160 associate--l-_binary64_3085 associate--l+_binary64_3084 associate--r+_binary64_3083
1-exp_binary64_3191 exp-1-e_binary64_3190
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 pow-base-0_binary64_3231 unpow1/3_binary64_3214 exp-to-pow_binary64_3209 pow-base-1_binary64_3207 unpow0_binary64_3206 unpow-1_binary64_3204 exp-lft-cube_binary64_3203 exp-lft-sqr_binary64_3202 exp-cbrt_binary64_3201 exp-sqrt_binary64_3200 div-exp_binary64_3198 rec-exp_binary64_3197 exp-neg_binary64_3194 e-exp-1_binary64_3192 exp-0_binary64_3189 rem-log-exp_binary64_3188 rem-exp-log_binary64_3187 cube-neg_binary64_3174 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-square-sqrt_binary64_3159 mul-1-neg_binary64_3139 remove-double-neg_binary64_3135 --rgt-identity_binary64_3133 +-lft-identity_binary64_3131 mul0-rgt_binary64_3130 mul0-lft_binary64_3129 div0_binary64_3128 *-inverses_binary64_3127 +-inverses_binary64_3126 lft-mult-inverse_binary64_3125 rgt-mult-inverse_binary64_3124 remove-double-div_binary64_3123 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 distribute-frac-neg_binary64_3110 distribute-neg-out_binary64_3109 distribute-rgt1-in_binary64_3103 distribute-lft1-in_binary64_3102 count-2_binary64_3095 associate--r-_binary64_3086
Counts
113 → 127
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01072212
13072038
28912038
327302038
445782038
549762038
650472038

prune114.0ms (1.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1198127
Fresh000
Picked101
Done000
Total1208128
Error
9.3b
Counts
128 → 8
Compiler

Compiled 3345 to 421 computations (87.4% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.3b
(+.f64 (/.f64 b d) (/.f64 (*.f64 c a) (*.f64 d d)))
12.0b
(/.f64 (*.f64 c a) (*.f64 d d))

rewrite51.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
5.4b
Rules
14×add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183
prod-exp_binary64_3196 div-exp_binary64_3198 add-log-exp_binary64_3186 cbrt-undiv_binary64_3181 cbrt-unprod_binary64_3180 *-un-lft-identity_binary64_3147
pow1_binary64_3208 add-cube-cbrt_binary64_3182 add-sqr-sqrt_binary64_3169
frac-2neg_binary64_3158 times-frac_binary64_3153 clear-num_binary64_3146 div-inv_binary64_3144 associate-/l*_binary64_3092 associate-/r*_binary64_3091 sum-log_binary64_3238 frac-add_binary64_3155 flip3-+_binary64_3150 flip-+_binary64_3121 distribute-lft-out_binary64_3098 +-commutative_binary64_3077
Counts
2 → 34
Calls

2 calls:

9.0ms
(+.f64 (/.f64 b d) (/.f64 (*.f64 c a) (*.f64 d d)))
6.0ms
(/.f64 (*.f64 c a) (*.f64 d d))
Compiler

Compiled 667 to 136 computations (79.6% saved)

series441.0ms (5.1%)

Error
8.5b
Counts
2 → 33
Calls

2 calls:

285.0ms
(+.f64 (/.f64 b d) (/.f64 (*.f64 c a) (*.f64 d d)))
138.0ms
(/.f64 (*.f64 c a) (*.f64 d d))
Compiler

Compiled 813 to 606 computations (25.5% saved)

simplify69.0ms (0.8%)

Algorithm
egg-herbie
Rules
776×associate-/l*_binary64_3092
469×associate-*l/_binary64_3090
435×associate-*l*_binary64_3088
383×associate-*r/_binary64_3089
357×associate-*r*_binary64_3087
348×associate-/r*_binary64_3091
188×cancel-sign-sub-inv_binary64_3113
157×associate-/r/_binary64_3093
149×associate-/l/_binary64_3094
138×times-frac_binary64_3153
72×unswap-sqr_binary64_3115
68×distribute-rgt-in_binary64_3097
59×neg-sub0_binary64_3142
55×distribute-lft-in_binary64_3096
51×neg-mul-1_binary64_3143
50×sqr-pow_binary64_3119
48×sub-neg_binary64_3140 distribute-neg-frac_binary64_3111
46×distribute-rgt-neg-in_binary64_3105
40×distribute-lft-neg-in_binary64_3104
34×cube-div_binary64_3176
33×*-commutative_binary64_3078
31×log-div_binary64_3234
30×div-sub_binary64_3152
20×log-prod_binary64_3233 swap-sqr_binary64_3114
15×unpow3_binary64_3213
14×cube-prod_binary64_3175 distribute-rgt-out_binary64_3100
13×distribute-lft-neg-out_binary64_3106
12×cube-mult_binary64_3177 +-commutative_binary64_3077
10×unsub-neg_binary64_3141
cube-unmult_binary64_3184
distribute-rgt-out--_binary64_3101
pow-plus_binary64_3210 exp-prod_binary64_3199 distribute-lft-out_binary64_3098 associate--l+_binary64_3084
div0_binary64_3128 pow-sqr_binary64_3120
log-pow_binary64_3236 distribute-lft-out--_binary64_3099 associate--r+_binary64_3083 associate-+l+_binary64_3080
unpow2_binary64_3212 unpow1/2_binary64_3211 unpow1_binary64_3205 prod-exp_binary64_3196 1-exp_binary64_3191 rem-sqrt-square_binary64_3160 difference-of-squares_binary64_3116 distribute-neg-in_binary64_3108 distribute-rgt-neg-out_binary64_3107 count-2_binary64_3095 associate-+l-_binary64_3082 associate-+r-_binary64_3081
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-rec_binary64_3235 pow-base-0_binary64_3231 unpow1/3_binary64_3214 exp-to-pow_binary64_3209 pow-base-1_binary64_3207 unpow0_binary64_3206 unpow-1_binary64_3204 exp-lft-cube_binary64_3203 exp-lft-sqr_binary64_3202 exp-cbrt_binary64_3201 exp-sqrt_binary64_3200 div-exp_binary64_3198 rec-exp_binary64_3197 exp-diff_binary64_3195 exp-neg_binary64_3194 exp-sum_binary64_3193 e-exp-1_binary64_3192 exp-1-e_binary64_3190 exp-0_binary64_3189 rem-log-exp_binary64_3188 rem-exp-log_binary64_3187 cube-neg_binary64_3174 rem-3cbrt-rft_binary64_3173 rem-3cbrt-lft_binary64_3172 rem-cbrt-cube_binary64_3171 rem-cube-cbrt_binary64_3170 sqr-abs_binary64_3162 sqr-neg_binary64_3161 rem-square-sqrt_binary64_3159 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 mul0-rgt_binary64_3130 mul0-lft_binary64_3129 *-inverses_binary64_3127 +-inverses_binary64_3126 lft-mult-inverse_binary64_3125 rgt-mult-inverse_binary64_3124 remove-double-div_binary64_3123 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 cancel-sign-sub_binary64_3112 distribute-frac-neg_binary64_3110 distribute-neg-out_binary64_3109 distribute-rgt1-in_binary64_3103 distribute-lft1-in_binary64_3102 associate--r-_binary64_3086 associate--l-_binary64_3085 associate-+r+_binary64_3079
Counts
67 → 77
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
080962
1229920
2910920
34498920
45043920

prune64.0ms (0.7%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New71677
Fresh257
Picked101
Done000
Total741185
Error
5.4b
Counts
85 → 11
Compiler

Compiled 1559 to 304 computations (80.5% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.3b
(+.f64 (/.f64 b d) (/.f64 (*.f64 c (/.f64 a d)) d))
0.6b
(/.f64 (*.f64 c (/.f64 a d)) d)
3.0b
(*.f64 c (/.f64 a d))

rewrite87.0ms (1%)

Algorithm
rewrite-expression-head
Error
5.4b
Rules
18×add-sqr-sqrt_binary64_3169
17×add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183
15×*-un-lft-identity_binary64_3147
13×add-cube-cbrt_binary64_3182 times-frac_binary64_3153 associate-*r*_binary64_3087
pow1_binary64_3208 div-exp_binary64_3198 add-log-exp_binary64_3186 cbrt-undiv_binary64_3181
prod-exp_binary64_3196 cbrt-unprod_binary64_3180 div-inv_binary64_3144
associate-*l*_binary64_3088 associate-/r*_binary64_3091
unswap-sqr_binary64_3115 associate-*r/_binary64_3089
pow-prod-down_binary64_3218 *-commutative_binary64_3078 frac-2neg_binary64_3158 clear-num_binary64_3146 associate-/l/_binary64_3094 associate-/l*_binary64_3092 sum-log_binary64_3238 frac-add_binary64_3155 flip3-+_binary64_3150 flip-+_binary64_3121 distribute-rgt-out_binary64_3100 distribute-lft-out_binary64_3098 +-commutative_binary64_3077
Counts
3 → 70
Calls

3 calls:

13.0ms
(+.f64 (/.f64 b d) (/.f64 (*.f64 c (/.f64 a d)) d))
7.0ms
(*.f64 c (/.f64 a d))
6.0ms
(/.f64 (*.f64 c (/.f64 a d)) d)
Compiler

Compiled 1279 to 312 computations (75.6% saved)

series523.0ms (6%)

Error
5.4b
Counts
3 → 42
Calls

3 calls:

280.0ms
(+.f64 (/.f64 b d) (/.f64 (*.f64 c (/.f64 a d)) d))
129.0ms
(/.f64 (*.f64 c (/.f64 a d)) d)
94.0ms
(*.f64 c (/.f64 a d))
Compiler

Compiled 1110 to 771 computations (30.5% saved)

simplify106.0ms (1.2%)

Algorithm
egg-herbie
Rules
519×associate-/l/_binary64_3094
493×associate-*l*_binary64_3088
420×associate-*r*_binary64_3087
341×associate-/r*_binary64_3091
323×associate-/r/_binary64_3093
217×cancel-sign-sub-inv_binary64_3113
188×*-commutative_binary64_3078
186×distribute-neg-frac_binary64_3111
132×log-prod_binary64_3233 cube-prod_binary64_3175
126×div-sub_binary64_3152
121×cube-div_binary64_3176
115×log-div_binary64_3234
111×associate-/l*_binary64_3092
103×associate-*r/_binary64_3089
95×sub-neg_binary64_3140
89×associate-*l/_binary64_3090
69×times-frac_binary64_3153
68×sqr-pow_binary64_3119
66×*-lft-identity_binary64_3136
58×*-rgt-identity_binary64_3137
57×unswap-sqr_binary64_3115
52×distribute-rgt-in_binary64_3097
49×unpow3_binary64_3213
48×neg-sub0_binary64_3142
47×swap-sqr_binary64_3114
46×neg-mul-1_binary64_3143
41×cube-mult_binary64_3177
40×distribute-lft-in_binary64_3096
38×exp-prod_binary64_3199
32×distribute-rgt-neg-in_binary64_3105
28×+-commutative_binary64_3077
26×distribute-lft-neg-in_binary64_3104
23×associate-+l+_binary64_3080
21×/-rgt-identity_binary64_3138
20×log-rec_binary64_3235
19×unsub-neg_binary64_3141 associate--l+_binary64_3084 associate-+l-_binary64_3082
17×associate-+r-_binary64_3081
16×associate-+r+_binary64_3079
13×associate--l-_binary64_3085
11×cube-unmult_binary64_3184
10×+-rgt-identity_binary64_3132
distribute-lft-neg-out_binary64_3106
pow-plus_binary64_3210
log-pow_binary64_3236 pow-sqr_binary64_3120
unpow1/2_binary64_3211 rem-sqrt-square_binary64_3160 sub0-neg_binary64_3134 div0_binary64_3128 distribute-rgt-out_binary64_3100
exp-sum_binary64_3193 remove-double-neg_binary64_3135 remove-double-div_binary64_3123 difference-of-squares_binary64_3116 distribute-rgt-out--_binary64_3101
unpow2_binary64_3212 unpow1_binary64_3205 prod-exp_binary64_3196 1-exp_binary64_3191 exp-1-e_binary64_3190 --rgt-identity_binary64_3133 +-inverses_binary64_3126 distribute-rgt-neg-out_binary64_3107 count-2_binary64_3095 associate--r-_binary64_3086 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 exp-to-pow_binary64_3209 pow-base-1_binary64_3207 unpow0_binary64_3206 unpow-1_binary64_3204 exp-lft-cube_binary64_3203 exp-lft-sqr_binary64_3202 exp-cbrt_binary64_3201 exp-sqrt_binary64_3200 div-exp_binary64_3198 rec-exp_binary64_3197 exp-diff_binary64_3195 exp-neg_binary64_3194 e-exp-1_binary64_3192 exp-0_binary64_3189 rem-log-exp_binary64_3188 rem-exp-log_binary64_3187 cube-neg_binary64_3174 rem-3cbrt-rft_binary64_3173 rem-3cbrt-lft_binary64_3172 rem-cbrt-cube_binary64_3171 rem-cube-cbrt_binary64_3170 sqr-abs_binary64_3162 sqr-neg_binary64_3161 rem-square-sqrt_binary64_3159 mul-1-neg_binary64_3139 +-lft-identity_binary64_3131 mul0-rgt_binary64_3130 mul0-lft_binary64_3129 *-inverses_binary64_3127 lft-mult-inverse_binary64_3125 rgt-mult-inverse_binary64_3124 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 cancel-sign-sub_binary64_3112 distribute-frac-neg_binary64_3110 distribute-neg-out_binary64_3109 distribute-neg-in_binary64_3108 distribute-rgt1-in_binary64_3103 distribute-lft1-in_binary64_3102 distribute-lft-out--_binary64_3099 distribute-lft-out_binary64_3098
Counts
112 → 150
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01281447
13391363
212111363
338291359
446731359
550221359

prune113.0ms (1.3%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New1437150
Fresh2810
Picked011
Done000
Total14516161
Error
5.4b
Counts
161 → 16
Compiler

Compiled 3260 to 578 computations (82.3% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 d)
0.6b
(cbrt.f64 d)
0.6b
(cbrt.f64 d)
2.4b
(*.f64 (/.f64 c (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (/.f64 a d))

rewrite94.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
5.4b
Rules
26×add-sqr-sqrt_binary64_3169
25×add-exp-log_binary64_3185
21×add-cbrt-cube_binary64_3183
16×add-cube-cbrt_binary64_3182 *-un-lft-identity_binary64_3147 times-frac_binary64_3153
13×associate-*r*_binary64_3087
cbrt-prod_binary64_3178
prod-exp_binary64_3196 cbrt-unprod_binary64_3180
div-exp_binary64_3198 cbrt-undiv_binary64_3181 associate-*l*_binary64_3088
pow1_binary64_3208
add-log-exp_binary64_3186 unswap-sqr_binary64_3115
pow1/3_binary64_3229
div-inv_binary64_3144
pow-prod-down_binary64_3218 frac-times_binary64_3157 associate-*l/_binary64_3090 associate-*r/_binary64_3089 *-commutative_binary64_3078
Counts
4 → 81
Calls

4 calls:

14.0ms
(*.f64 (/.f64 c (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (/.f64 a d))
1.0ms
(cbrt.f64 d)
1.0ms
(cbrt.f64 d)
1.0ms
(cbrt.f64 d)
Compiler

Compiled 2022 to 448 computations (77.8% saved)

series718.0ms (8.3%)

Error
5.4b
Counts
4 → 18
Calls

4 calls:

479.0ms
(*.f64 (/.f64 c (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (/.f64 a d))
78.0ms
(cbrt.f64 d)
73.0ms
(cbrt.f64 d)
71.0ms
(cbrt.f64 d)
Compiler

Compiled 1065 to 752 computations (29.4% saved)

simplify121.0ms (1.4%)

Algorithm
egg-herbie
Rules
493×associate-/l/_binary64_3094
434×associate-/r/_binary64_3093
327×*-commutative_binary64_3078
269×unswap-sqr_binary64_3115
241×log-prod_binary64_3233
153×log-div_binary64_3234
134×associate-*r/_binary64_3089
127×associate-*l/_binary64_3090
116×cancel-sign-sub-inv_binary64_3113
113×times-frac_binary64_3153
110×associate-/r*_binary64_3091
102×associate-*l*_binary64_3088
98×cube-div_binary64_3176
92×sqr-pow_binary64_3119
91×cube-prod_binary64_3175 associate-/l*_binary64_3092
89×sub-neg_binary64_3140
83×distribute-rgt-in_binary64_3097
82×associate-*r*_binary64_3087
70×distribute-rgt-neg-in_binary64_3105
69×distribute-lft-in_binary64_3096
65×associate--r-_binary64_3086
64×distribute-lft-neg-in_binary64_3104
57×distribute-neg-in_binary64_3108
54×swap-sqr_binary64_3114
41×exp-prod_binary64_3199
38×neg-sub0_binary64_3142
34×neg-mul-1_binary64_3143
25×log-pow_binary64_3236 associate-+l+_binary64_3080
24×*-rgt-identity_binary64_3137 *-lft-identity_binary64_3136
23×associate-+r+_binary64_3079
21×unpow3_binary64_3213 associate--r+_binary64_3083
20×cube-mult_binary64_3177
18×associate-+l-_binary64_3082
17×+-commutative_binary64_3077
16×distribute-neg-frac_binary64_3111
15×associate-+r-_binary64_3081
14×pow-sqr_binary64_3120
12×pow-plus_binary64_3210
11×cube-unmult_binary64_3184 unsub-neg_binary64_3141
10×associate--l+_binary64_3084
/-rgt-identity_binary64_3138 count-2_binary64_3095
log-rec_binary64_3235 distribute-rgt-out_binary64_3100 distribute-lft-out_binary64_3098
rem-sqrt-square_binary64_3160
unpow1/3_binary64_3214 mul-1-neg_binary64_3139 +-rgt-identity_binary64_3132 distribute-rgt-out--_binary64_3101 distribute-lft-out--_binary64_3099
unpow1/2_binary64_3211 div-sub_binary64_3152 remove-double-neg_binary64_3135 sub0-neg_binary64_3134 distribute-frac-neg_binary64_3110 distribute-neg-out_binary64_3109 distribute-lft-neg-out_binary64_3106
unpow2_binary64_3212 unpow1_binary64_3205 1-exp_binary64_3191 exp-1-e_binary64_3190 rem-3cbrt-lft_binary64_3172 --rgt-identity_binary64_3133 associate--l-_binary64_3085
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 exp-to-pow_binary64_3209 pow-base-1_binary64_3207 unpow0_binary64_3206 unpow-1_binary64_3204 exp-lft-cube_binary64_3203 exp-lft-sqr_binary64_3202 exp-cbrt_binary64_3201 exp-sqrt_binary64_3200 div-exp_binary64_3198 rec-exp_binary64_3197 prod-exp_binary64_3196 exp-diff_binary64_3195 exp-neg_binary64_3194 exp-sum_binary64_3193 e-exp-1_binary64_3192 exp-0_binary64_3189 rem-log-exp_binary64_3188 rem-exp-log_binary64_3187 cube-neg_binary64_3174 rem-3cbrt-rft_binary64_3173 rem-cbrt-cube_binary64_3171 rem-cube-cbrt_binary64_3170 sqr-abs_binary64_3162 sqr-neg_binary64_3161 rem-square-sqrt_binary64_3159 +-lft-identity_binary64_3131 mul0-rgt_binary64_3130 mul0-lft_binary64_3129 div0_binary64_3128 *-inverses_binary64_3127 +-inverses_binary64_3126 lft-mult-inverse_binary64_3125 rgt-mult-inverse_binary64_3124 remove-double-div_binary64_3123 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 difference-of-squares_binary64_3116 cancel-sign-sub_binary64_3112 distribute-rgt-neg-out_binary64_3107 distribute-rgt1-in_binary64_3103 distribute-lft1-in_binary64_3102
Counts
99 → 142
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01311615
13461147
214071071
328341071
447961071
549951071
649141071

prune130.0ms (1.5%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New1393142
Fresh21214
Picked101
Done011
Total14216158
Error
5.4b
Counts
158 → 16
Compiler

Compiled 3262 to 991 computations (69.6% saved)

regimes2.1s (24.6%)

Accuracy

Total 9.7b remaining (75.2%)

Threshold costs 0b (0%)

Compiler

Compiled 12844 to 7463 computations (41.9% saved)

bsearch105.0ms (1.2%)

Steps
ItersRangePoint
8
4.962228504286239e+112
9.217791939766739e+115
2.155918540492542e+114
8
1.1311073283635953e-107
5.187380013901807e-105
1.0832799013795811e-106
11
-1.818387737906857e-139
-6.12183791850678e-168
-1.571220827360316e-157
9
-3.4573773030960086e+103
-2.965592462108363e+97
-6.326900384087905e+99
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_3077
*-commutative_binary64_3078
1-exp_binary64_3191
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 exp-1-e_binary64_3190 exp-0_binary64_3189 sqr-abs_binary64_3162 sqr-neg_binary64_3161 neg-mul-1_binary64_3143 neg-sub0_binary64_3142 unsub-neg_binary64_3141 sub-neg_binary64_3140 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
046163
156163
255163

end0.0ms (0%)

sample2.3s (26.8%)

Algorithm
intervals
Results
327.0ms8000×body128valid
26.0ms472×body128invalid
Compiler

Compiled 2686 to 1546 computations (42.4% saved)

Profiling

Loading profile data...