Details

Time bar (total: 40.1s)

analyze221.0ms (0.6%)

Algorithm
search
egg-herbie
Rules
755×unswap-sqr_binary64_3115
691×distribute-rgt-out_binary64_3100
576×+-commutative_binary64_3077
488×*-commutative_binary64_3078
435×distribute-rgt-in_binary64_3097
404×distribute-lft-in_binary64_3096
375×associate-*l*_binary64_3088
295×associate-*r*_binary64_3087
280×associate-+l+_binary64_3080
231×associate-+r+_binary64_3079
53×associate-*l/_binary64_3090 associate-*r/_binary64_3089
51×distribute-lft-out_binary64_3098
41×sqr-pow_binary64_3119
17×pow-plus_binary64_3210
14×distribute-rgt1-in_binary64_3103
cube-prod_binary64_3175 pow-sqr_binary64_3120
cube-unmult_binary64_3184
associate-/l*_binary64_3092
unpow2_binary64_3212
unpow3_binary64_3213 unpow1/2_binary64_3211 unpow1_binary64_3205 /-rgt-identity_binary64_3138 *-rgt-identity_binary64_3137 *-lft-identity_binary64_3136 swap-sqr_binary64_3114 associate-/r*_binary64_3091
1-exp_binary64_3191 associate-/r/_binary64_3093
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 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 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 exp-1-e_binary64_3190 exp-0_binary64_3189 rem-log-exp_binary64_3188 rem-exp-log_binary64_3187 cube-mult_binary64_3177 cube-div_binary64_3176 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 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 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 difference-of-squares_binary64_3116 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-lft1-in_binary64_3102 distribute-rgt-out--_binary64_3101 distribute-lft-out--_binary64_3099 count-2_binary64_3095 associate-/l/_binary64_3094 associate--r-_binary64_3086 associate--l-_binary64_3085 associate--l+_binary64_3084 associate--r+_binary64_3083 associate-+l-_binary64_3082 associate-+r-_binary64_3081
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046256
1133160
2489115
31780106
43058106
53882106
64227106
75240106
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%50%0%4
50%50%0%5
81.2%18.7%0%6
100%0%0%7
Compiler

Compiled 174 to 47 computations (73% saved)

sample51.0ms (0.1%)

Algorithm
intervals
Results
34.0ms256×body128valid
Compiler

Compiled 347 to 94 computations (72.9% saved)

simplify70.0ms (0.2%)

Algorithm
egg-herbie
Rules
755×unswap-sqr_binary64_3115
691×distribute-rgt-out_binary64_3100
576×+-commutative_binary64_3077
488×*-commutative_binary64_3078
435×distribute-rgt-in_binary64_3097
404×distribute-lft-in_binary64_3096
375×associate-*l*_binary64_3088
295×associate-*r*_binary64_3087
280×associate-+l+_binary64_3080
231×associate-+r+_binary64_3079
53×associate-*l/_binary64_3090 associate-*r/_binary64_3089
51×distribute-lft-out_binary64_3098
41×sqr-pow_binary64_3119
17×pow-plus_binary64_3210
14×distribute-rgt1-in_binary64_3103
cube-prod_binary64_3175 pow-sqr_binary64_3120
cube-unmult_binary64_3184
associate-/l*_binary64_3092
unpow2_binary64_3212
unpow3_binary64_3213 unpow1/2_binary64_3211 unpow1_binary64_3205 /-rgt-identity_binary64_3138 *-rgt-identity_binary64_3137 *-lft-identity_binary64_3136 swap-sqr_binary64_3114 associate-/r*_binary64_3091
1-exp_binary64_3191 associate-/r/_binary64_3093
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 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 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 exp-1-e_binary64_3190 exp-0_binary64_3189 rem-log-exp_binary64_3188 rem-exp-log_binary64_3187 cube-mult_binary64_3177 cube-div_binary64_3176 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 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 difference-of-sqr--1_binary64_3118 difference-of-sqr-1_binary64_3117 difference-of-squares_binary64_3116 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-lft1-in_binary64_3102 distribute-rgt-out--_binary64_3101 distribute-lft-out--_binary64_3099 count-2_binary64_3095 associate-/l/_binary64_3094 associate--r-_binary64_3086 associate--l-_binary64_3085 associate--l+_binary64_3084 associate--r+_binary64_3083 associate-+l-_binary64_3082 associate-+r-_binary64_3081
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
046256
1133160
2489115
31780106
43058106
53882106
64227106
75240106

prune14.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
28.6b
Counts
2 → 2
Compiler

Compiled 315 to 160 computations (49.2% saved)

localize49.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (*.f64 x x) (*.f64 x x))
0.2b
(*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))
13.0b
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)
27.8b
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))

rewrite10.7s (26.7%)

Algorithm
rewrite-expression-head
Error
28.3b
Rules
1910×pow1_binary64_3208
1816×add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183
1627×pow-prod-down_binary64_3218
1613×prod-exp_binary64_3196 cbrt-unprod_binary64_3180
36×pow-prod-up_binary64_3217
25×add-sqr-sqrt_binary64_3169
22×pow-sqr_binary64_3120
20×add-cube-cbrt_binary64_3182 *-un-lft-identity_binary64_3147
19×times-frac_binary64_3153
18×pow-plus_binary64_3210
17×associate-*l*_binary64_3088
13×pow2_binary64_3228
associate-*r*_binary64_3087
add-log-exp_binary64_3186 associate-/r/_binary64_3093
flip3-+_binary64_3150 flip-+_binary64_3121 associate-/l*_binary64_3092 associate-/r*_binary64_3091 unswap-sqr_binary64_3115 *-commutative_binary64_3078
div-exp_binary64_3198 cbrt-undiv_binary64_3181 div-inv_binary64_3144 associate-/l/_binary64_3094
frac-2neg_binary64_3158 clear-num_binary64_3146 associate-*l/_binary64_3090 swap-sqr_binary64_3114
Counts
4 → 708
Calls

4 calls:

2.8s
(*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))
98.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))
75.0ms
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)
10.0ms
(*.f64 (*.f64 x x) (*.f64 x x))
Compiler

Compiled 144784 to 33191 computations (77.1% saved)

series854.0ms (2.1%)

Error
0.0b
Counts
4 → 26
Calls

4 calls:

347.0ms
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)
290.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 3782789308857969/36028797018963968 (*.f64 x x))) (*.f64 763919671262763/18014398509481984 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 8375303961237363/1152921504606846976 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 583843369866023/1152921504606846976 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 825478423409049/4611686018427387904 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1737369620307813/2251799813685248 (*.f64 x x))) (*.f64 2620859570069187/9007199254740992 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 2502400853142105/36028797018963968 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2017691060547333/144115188075855872 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 7681173503746455/9223372036854775808 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))
90.0ms
(*.f64 (*.f64 2 825478423409049/4611686018427387904) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))
69.0ms
(*.f64 (*.f64 x x) (*.f64 x x))
Compiler

Compiled 3524 to 1384 computations (60.7% saved)

simplify624.0ms (1.6%)

Algorithm
egg-herbie
Rules
640×associate-*l*_binary64_3088
534×associate-*r*_binary64_3087
500×cancel-sign-sub-inv_binary64_3113
374×associate-+l+_binary64_3080
251×unswap-sqr_binary64_3115
204×log-prod_binary64_3233
177×associate-+r+_binary64_3079
164×*-commutative_binary64_3078
124×distribute-rgt-in_binary64_3097
111×distribute-lft-in_binary64_3096
106×distribute-neg-in_binary64_3108
102×times-frac_binary64_3153
97×swap-sqr_binary64_3114
93×+-commutative_binary64_3077
74×cube-prod_binary64_3175 sub-neg_binary64_3140
64×exp-prod_binary64_3199
52×associate-*l/_binary64_3090
51×sqr-pow_binary64_3119
41×neg-mul-1_binary64_3143 neg-sub0_binary64_3142
37×associate-/r*_binary64_3091
36×associate-*r/_binary64_3089
34×associate-/l*_binary64_3092
22×unsub-neg_binary64_3141
20×log-pow_binary64_3236 distribute-rgt-neg-in_binary64_3105 associate--l+_binary64_3084
18×associate--r+_binary64_3083
17×distribute-lft-neg-in_binary64_3104 associate-/l/_binary64_3094
12×log-div_binary64_3234 pow-plus_binary64_3210 cube-unmult_binary64_3184 pow-sqr_binary64_3120
11×*-rgt-identity_binary64_3137 distribute-rgt-out_binary64_3100
unpow3_binary64_3213 associate-/r/_binary64_3093
cube-mult_binary64_3177 *-lft-identity_binary64_3136 distribute-rgt-out--_binary64_3101
cube-div_binary64_3176 /-rgt-identity_binary64_3138
div-sub_binary64_3152 distribute-lft-neg-out_binary64_3106 count-2_binary64_3095 associate-+l-_binary64_3082 associate-+r-_binary64_3081
rem-sqrt-square_binary64_3160 distribute-rgt1-in_binary64_3103 distribute-lft-out_binary64_3098
unpow2_binary64_3212 unpow1/2_binary64_3211 unpow1_binary64_3205 1-exp_binary64_3191 exp-1-e_binary64_3190 difference-of-squares_binary64_3116 distribute-neg-frac_binary64_3111 distribute-lft1-in_binary64_3102
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 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-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 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 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-rgt-neg-out_binary64_3107 distribute-lft-out--_binary64_3099 associate--r-_binary64_3086 associate--l-_binary64_3085
Counts
734 → 703
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
086417578
176115348
2304214424
3498014424
4505814424

prune6.2s (15.4%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New6985703
Fresh101
Picked101
Done000
Total7005705
Error
0b
Counts
705 → 5
Compiler

Compiled 107569 to 32148 computations (70.1% saved)

localize50.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 825478423409049/2305843009213693952 (pow.f64 x 12))
9.4b
(cbrt.f64 (pow.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))) 3))
13.0b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))) 3)) x)
27.8b
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))

rewrite2.4s (5.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
78×cbrt-prod_binary64_3178
67×add-sqr-sqrt_binary64_3169
47×add-cube-cbrt_binary64_3182 times-frac_binary64_3153 *-un-lft-identity_binary64_3147
42×associate-*l*_binary64_3088
36×unpow-prod-down_binary64_3226
32×cube-prod_binary64_3175
13×add-exp-log_binary64_3185
10×associate-/r/_binary64_3093 unswap-sqr_binary64_3115 associate-*r*_binary64_3087
add-cbrt-cube_binary64_3183
pow1_binary64_3208 flip3-+_binary64_3150 flip-+_binary64_3121
div-inv_binary64_3144 sqr-pow_binary64_3119
add-log-exp_binary64_3186 prod-exp_binary64_3196
associate-/l*_binary64_3092 associate-/r*_binary64_3091
associate-/l/_binary64_3094 cbrt-unprod_binary64_3180 cube-div_binary64_3176 cbrt-div_binary64_3179 unpow3_binary64_3213 cube-mult_binary64_3177 *-commutative_binary64_3078
div-exp_binary64_3198 cbrt-undiv_binary64_3181 frac-2neg_binary64_3158 clear-num_binary64_3146 pow-prod-down_binary64_3218 associate-*l/_binary64_3090 pow1/3_binary64_3229 rem-cbrt-cube_binary64_3171 pow-to-exp_binary64_3216 pow-exp_binary64_3215
Counts
4 → 163
Calls

4 calls:

38.0ms
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))) 3)) x)
32.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))
31.0ms
(cbrt.f64 (pow.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))) 3))
6.0ms
(*.f64 825478423409049/2305843009213693952 (pow.f64 x 12))
Compiler

Compiled 21248 to 16800 computations (20.9% saved)

series964.0ms (2.4%)

Error
0b
Counts
4 → 33
Calls

4 calls:

303.0ms
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))) 3)) x)
269.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))
259.0ms
(cbrt.f64 (pow.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))) 3))
88.0ms
(*.f64 825478423409049/2305843009213693952 (pow.f64 x 12))
Compiler

Compiled 1734 to 1456 computations (16% saved)

simplify660.0ms (1.6%)

Algorithm
egg-herbie
Rules
274×unswap-sqr_binary64_3115
248×cancel-sign-sub-inv_binary64_3113
245×associate-/l/_binary64_3094
173×associate-*l*_binary64_3088
169×log-prod_binary64_3233
159×associate-*r*_binary64_3087
141×sqr-pow_binary64_3119
139×distribute-neg-in_binary64_3108 distribute-rgt-in_binary64_3097
127×distribute-lft-in_binary64_3096
118×*-commutative_binary64_3078
100×distribute-rgt-neg-in_binary64_3105
91×distribute-lft-neg-in_binary64_3104
87×associate-*l/_binary64_3090
83×sub-neg_binary64_3140
81×exp-prod_binary64_3199
80×unpow3_binary64_3213
78×cube-div_binary64_3176 associate-*r/_binary64_3089
67×+-commutative_binary64_3077
66×cube-mult_binary64_3177
62×associate-+l+_binary64_3080
55×associate-/l*_binary64_3092
49×cube-prod_binary64_3175
39×log-div_binary64_3234
38×neg-mul-1_binary64_3143 neg-sub0_binary64_3142
37×associate-+r+_binary64_3079
34×swap-sqr_binary64_3114
33×log-pow_binary64_3236 associate-/r*_binary64_3091
30×distribute-rgt-out_binary64_3100
27×associate--r+_binary64_3083
26×rem-cbrt-cube_binary64_3171
24×*-rgt-identity_binary64_3137
23×times-frac_binary64_3153
22×unsub-neg_binary64_3141 distribute-lft-neg-out_binary64_3106
20×associate--l+_binary64_3084
16×*-lft-identity_binary64_3136
15×pow-plus_binary64_3210 cube-unmult_binary64_3184
14×distribute-rgt-neg-out_binary64_3107 distribute-rgt-out--_binary64_3101
12×rem-sqrt-square_binary64_3160 distribute-lft-out_binary64_3098
pow-sqr_binary64_3120
associate-/r/_binary64_3093
/-rgt-identity_binary64_3138
rem-cube-cbrt_binary64_3170 rem-square-sqrt_binary64_3159 div-sub_binary64_3152 distribute-lft-out--_binary64_3099 associate-+l-_binary64_3082 associate-+r-_binary64_3081
unpow1/2_binary64_3211 count-2_binary64_3095
log-rec_binary64_3235 unpow2_binary64_3212 unpow1_binary64_3205 1-exp_binary64_3191 exp-1-e_binary64_3190 rem-3cbrt-lft_binary64_3172 difference-of-squares_binary64_3116 distribute-neg-frac_binary64_3111 distribute-rgt1-in_binary64_3103
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 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 sqr-abs_binary64_3162 sqr-neg_binary64_3161 mul-1-neg_binary64_3139 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 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-lft1-in_binary64_3102 associate--r-_binary64_3086 associate--l-_binary64_3085
Counts
196 → 151
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
031221427
179519879
2282319255
3471219255
4498419255
5496019255

prune1.6s (4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1510151
Fresh044
Picked011
Done000
Total1515156
Error
0b
Counts
156 → 5
Compiler

Compiled 16012 to 12572 computations (21.5% saved)

localize49.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.3b
(sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))
13.0b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))) (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))))) x)
22.5b
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))))
23.4b
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))) (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))))

rewrite4.1s (10.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
94×add-sqr-sqrt_binary64_3169
76×times-frac_binary64_3153
60×add-exp-log_binary64_3185
53×*-un-lft-identity_binary64_3147
47×add-cube-cbrt_binary64_3182
44×sqrt-prod_binary64_3163
36×add-cbrt-cube_binary64_3183
27×associate-*r*_binary64_3087
25×prod-exp_binary64_3196 associate-*l*_binary64_3088
17×div-exp_binary64_3198
15×unswap-sqr_binary64_3115
13×cbrt-unprod_binary64_3180
12×pow1_binary64_3208
cbrt-undiv_binary64_3181
sqrt-div_binary64_3164
associate-/r/_binary64_3093 associate-/r*_binary64_3091
associate-*l/_binary64_3090 flip3-+_binary64_3150 flip-+_binary64_3121
pow-prod-down_binary64_3218 1-exp_binary64_3191 rec-exp_binary64_3197 add-log-exp_binary64_3186
div-inv_binary64_3144 associate-/l*_binary64_3092
frac-times_binary64_3157 associate-*r/_binary64_3089 *-commutative_binary64_3078 associate-/l/_binary64_3094
frac-2neg_binary64_3158 clear-num_binary64_3146 pow1/2_binary64_3227 sqrt-pow1_binary64_3165 rem-sqrt-square_binary64_3160
Counts
4 → 176
Calls

4 calls:

55.0ms
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))) (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))))
52.0ms
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))) (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))))) x)
32.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))))
13.0ms
(sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))
Compiler

Compiled 31007 to 24572 computations (20.8% saved)

series1.3s (3.3%)

Error
0b
Counts
4 → 44
Calls

4 calls:

378.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))))
311.0ms
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))) (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808)))))) x)
267.0ms
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))) (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 3782789308857969/36028797018963968)) (*.f64 (pow.f64 x 4) 763919671262763/18014398509481984)) (*.f64 (pow.f64 x 6) 8375303961237363/1152921504606846976)) (*.f64 583843369866023/1152921504606846976 (pow.f64 x 8))) (*.f64 825478423409049/4611686018427387904 (pow.f64 x 10))) (sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))))
235.0ms
(sqrt.f64 (+.f64 (*.f64 825478423409049/2305843009213693952 (pow.f64 x 12)) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 (*.f64 x x) 1737369620307813/2251799813685248)) (*.f64 (pow.f64 x 4) 2620859570069187/9007199254740992)) (*.f64 (pow.f64 x 6) 2502400853142105/36028797018963968)) (*.f64 (pow.f64 x 8) 2017691060547333/144115188075855872)) (*.f64 (pow.f64 x 10) 7681173503746455/9223372036854775808))))
Compiler

Compiled 4796 to 4028 computations (16% saved)

simplify915.0ms (2.3%)

Algorithm
egg-herbie
Rules
371×times-frac_binary64_3153
316×associate-*r*_binary64_3087
303×associate-*l*_binary64_3088
199×*-commutative_binary64_3078
187×distribute-rgt-in_binary64_3097
180×sub-neg_binary64_3140 distribute-lft-in_binary64_3096
155×associate-*l/_binary64_3090
154×exp-prod_binary64_3199
145×associate-*r/_binary64_3089
135×+-commutative_binary64_3077
133×associate-/l*_binary64_3092
123×associate-+l+_binary64_3080
94×associate-+r+_binary64_3079
76×associate-/r*_binary64_3091
68×exp-sum_binary64_3193
60×neg-mul-1_binary64_3143 sqr-pow_binary64_3119 cancel-sign-sub-inv_binary64_3113
59×neg-sub0_binary64_3142 associate--l+_binary64_3084
54×log-prod_binary64_3233
52×*-lft-identity_binary64_3136
51×associate--r+_binary64_3083
47×associate-/l/_binary64_3094
45×unswap-sqr_binary64_3115
44×unsub-neg_binary64_3141
36×log-div_binary64_3234
34×*-rgt-identity_binary64_3137
33×unpow3_binary64_3213
27×cube-prod_binary64_3175 distribute-neg-in_binary64_3108
23×distribute-rgt-neg-in_binary64_3105
22×cube-mult_binary64_3177
20×swap-sqr_binary64_3114
19×distribute-lft-neg-in_binary64_3104
15×cube-unmult_binary64_3184 associate-+l-_binary64_3082
14×/-rgt-identity_binary64_3138 associate-+r-_binary64_3081
11×pow-plus_binary64_3210 cube-div_binary64_3176
log-rec_binary64_3235
associate-/r/_binary64_3093
pow-sqr_binary64_3120
unpow1/2_binary64_3211 sub0-neg_binary64_3134 +-rgt-identity_binary64_3132
log-pow_binary64_3236 rem-sqrt-square_binary64_3160 rem-square-sqrt_binary64_3159 div-sub_binary64_3152 distribute-neg-frac_binary64_3111 distribute-lft-neg-out_binary64_3106 distribute-rgt-out--_binary64_3101
unpow2_binary64_3212 unpow1_binary64_3205 1-exp_binary64_3191 exp-1-e_binary64_3190 +-lft-identity_binary64_3131 remove-double-div_binary64_3123 difference-of-squares_binary64_3116 associate--r-_binary64_3086
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 prod-exp_binary64_3196 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 mul-1-neg_binary64_3139 remove-double-neg_binary64_3135 --rgt-identity_binary64_3133 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 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-rgt-neg-out_binary64_3107 distribute-rgt1-in_binary64_3103 distribute-lft1-in_binary64_3102 distribute-rgt-out_binary64_3100 distribute-lft-out--_binary64_3099 distribute-lft-out_binary64_3098 count-2_binary64_3095 associate--l-_binary64_3085
Counts
220 → 168
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
038634918
1104727311
2393527311
3476727311
4497127311
5493127311

prune2.3s (5.6%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1680168
Fresh033
Picked011
Done011
Total1685173
Error
0b
Counts
173 → 5
Compiler

Compiled 20428 to 16104 computations (21.2% saved)

localize10.0ms (0%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (/.f64 1/2 x) (+.f64 (/.f64 1660320414109913/6603827387272392 (pow.f64 x 3)) (/.f64 370645858300289935006419108089/2422807564493828181570755855648 (pow.f64 x 5))))
0.0b
(+.f64 (/.f64 1660320414109913/6603827387272392 (pow.f64 x 3)) (/.f64 370645858300289935006419108089/2422807564493828181570755855648 (pow.f64 x 5)))
0.2b
(/.f64 370645858300289935006419108089/2422807564493828181570755855648 (pow.f64 x 5))
0.3b
(/.f64 1660320414109913/6603827387272392 (pow.f64 x 3))

rewrite379.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
62×times-frac_binary64_3153 *-un-lft-identity_binary64_3147
45×add-cube-cbrt_binary64_3182 add-sqr-sqrt_binary64_3169
24×unpow-prod-down_binary64_3226
19×associate-/r*_binary64_3091
14×add-exp-log_binary64_3185
12×cube-prod_binary64_3175
11×add-log-exp_binary64_3186
add-cbrt-cube_binary64_3183 sqr-pow_binary64_3119
distribute-lft-out_binary64_3098
div-exp_binary64_3198 associate-/l*_binary64_3092
frac-add_binary64_3155
pow1_binary64_3208 unpow3_binary64_3213 cube-mult_binary64_3177 sum-log_binary64_3238
flip3-+_binary64_3150 flip-+_binary64_3121
pow-to-exp_binary64_3216 pow-exp_binary64_3215 cbrt-undiv_binary64_3181 frac-2neg_binary64_3158 clear-num_binary64_3146 div-inv_binary64_3144 +-commutative_binary64_3077
associate-+r+_binary64_3079
Counts
4 → 143
Calls

4 calls:

59.0ms
(+.f64 (/.f64 1/2 x) (+.f64 (/.f64 1660320414109913/6603827387272392 (pow.f64 x 3)) (/.f64 370645858300289935006419108089/2422807564493828181570755855648 (pow.f64 x 5))))
50.0ms
(+.f64 (/.f64 1660320414109913/6603827387272392 (pow.f64 x 3)) (/.f64 370645858300289935006419108089/2422807564493828181570755855648 (pow.f64 x 5)))
6.0ms
(/.f64 1660320414109913/6603827387272392 (pow.f64 x 3))
4.0ms
(/.f64 370645858300289935006419108089/2422807564493828181570755855648 (pow.f64 x 5))
Compiler

Compiled 3504 to 2822 computations (19.5% saved)

series395.0ms (1%)

Error
0b
Counts
4 → 19
Calls

4 calls:

132.0ms
(+.f64 (/.f64 1660320414109913/6603827387272392 (pow.f64 x 3)) (/.f64 370645858300289935006419108089/2422807564493828181570755855648 (pow.f64 x 5)))
128.0ms
(+.f64 (/.f64 1/2 x) (+.f64 (/.f64 1660320414109913/6603827387272392 (pow.f64 x 3)) (/.f64 370645858300289935006419108089/2422807564493828181570755855648 (pow.f64 x 5))))
63.0ms
(/.f64 370645858300289935006419108089/2422807564493828181570755855648 (pow.f64 x 5))
55.0ms
(/.f64 1660320414109913/6603827387272392 (pow.f64 x 3))
Compiler

Compiled 710 to 615 computations (13.4% saved)

simplify145.0ms (0.4%)

Algorithm
egg-herbie
Rules
395×distribute-rgt-in_binary64_3097
354×distribute-lft-in_binary64_3096
324×associate-/l/_binary64_3094
221×unswap-sqr_binary64_3115
206×cancel-sign-sub-inv_binary64_3113
151×associate-/r*_binary64_3091
150×associate-*r*_binary64_3087
144×associate-*l*_binary64_3088
124×distribute-rgt-neg-in_binary64_3105
121×log-prod_binary64_3233
114×distribute-lft-neg-in_binary64_3104
98×associate-/r/_binary64_3093
80×cube-div_binary64_3176
70×log-div_binary64_3234
56×sqr-pow_binary64_3119 *-commutative_binary64_3078
55×unpow3_binary64_3213
53×distribute-neg-frac_binary64_3111 associate-/l*_binary64_3092
46×cube-prod_binary64_3175 distribute-rgt-out_binary64_3100
44×associate-*l/_binary64_3090
43×sub-neg_binary64_3140 associate-*r/_binary64_3089
41×times-frac_binary64_3153
40×distribute-lft-out_binary64_3098
39×cube-mult_binary64_3177
28×neg-mul-1_binary64_3143 neg-sub0_binary64_3142 swap-sqr_binary64_3114
25×+-commutative_binary64_3077
23×distribute-neg-in_binary64_3108
21×distribute-lft-neg-out_binary64_3106
20×log-pow_binary64_3236
16×pow-plus_binary64_3210
15×associate-+l+_binary64_3080
14×*-rgt-identity_binary64_3137
13×cube-unmult_binary64_3184
12×distribute-rgt-out--_binary64_3101 associate-+r+_binary64_3079
11×distribute-rgt-neg-out_binary64_3107
exp-prod_binary64_3199 distribute-lft-out--_binary64_3099
pow-sqr_binary64_3120 associate--r+_binary64_3083
rem-sqrt-square_binary64_3160
log-rec_binary64_3235 /-rgt-identity_binary64_3138
prod-exp_binary64_3196 unsub-neg_binary64_3141
associate--l+_binary64_3084
exp-sum_binary64_3193 count-2_binary64_3095
*-lft-identity_binary64_3136 difference-of-squares_binary64_3116 associate-+l-_binary64_3082 associate-+r-_binary64_3081
unpow1/2_binary64_3211 1-exp_binary64_3191 rem-cbrt-cube_binary64_3171 rem-cube-cbrt_binary64_3170 rem-square-sqrt_binary64_3159
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 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 div-exp_binary64_3198 rec-exp_binary64_3197 exp-diff_binary64_3195 exp-neg_binary64_3194 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 sqr-abs_binary64_3162 sqr-neg_binary64_3161 div-sub_binary64_3152 mul-1-neg_binary64_3139 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 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
Counts
162 → 89
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02362768
14892696
219232633
347042621
449392621

prune125.0ms (0.3%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New89089
Fresh022
Picked011
Done022
Total89594
Error
0b
Counts
94 → 5
Compiler

Compiled 1900 to 1487 computations (21.7% saved)

regimes1.4s (3.5%)

Accuracy

Total 0.0b remaining (95.7%)

Threshold costs 0.0b (95.7%)

Compiler

Compiled 24529 to 7612 computations (69% saved)

bsearch164.0ms (0.4%)

Steps
ItersRangePoint
8
2.5060420122668243
1899.2279784616037
856.707278786073
7
-1046144.7402547856
-14376.615628429105
-305953.2832081561
Compiler

Compiled 1 to 1 computations (0% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
14×*-commutative_binary64_3078 +-commutative_binary64_3077
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
075164
1105164
2104164

end0.0ms (0%)

sample4.3s (10.8%)

Algorithm
intervals
Results
973.0ms8000×body128valid
Compiler

Compiled 11592 to 3699 computations (68.1% saved)

Profiling

Loading profile data...