Details

Time bar (total: 20.8s)

analyze581.0ms (2.8%)

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
3.1%96.7%0.2%8
7.8%92%0.2%9
11.7%88.1%0.2%10
24.2%64.7%11.1%11
27.9%59.8%12.3%12
35%52.5%12.5%13
38.6%48.2%13.2%14
Compiler

Compiled 10 to 9 computations (10% saved)

sample21.0ms (0.1%)

Algorithm
intervals
Results
7.0ms256×body128valid
1.0ms52×body128invalid
Compiler

Compiled 19 to 21 computations (-10.5% saved)

simplify149.0ms (0.7%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_3759
associate-+l+_binary64_3762 associate-+r+_binary64_3761
*-commutative_binary64_3760
distribute-rgt-in_binary64_3779 distribute-lft-in_binary64_3778 associate-*l*_binary64_3770
associate-*r*_binary64_3769
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 cos-neg_binary64_3960 sin-neg_binary64_3959 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 log-pow_binary64_3918 log-rec_binary64_3917 log-div_binary64_3916 log-prod_binary64_3915 pow-base-0_binary64_3913 unpow1/3_binary64_3896 unpow3_binary64_3895 unpow2_binary64_3894 unpow1/2_binary64_3893 pow-plus_binary64_3892 exp-to-pow_binary64_3891 pow-base-1_binary64_3889 unpow0_binary64_3888 unpow1_binary64_3887 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-lft-sqr_binary64_3884 exp-cbrt_binary64_3883 exp-sqrt_binary64_3882 exp-prod_binary64_3881 div-exp_binary64_3880 rec-exp_binary64_3879 prod-exp_binary64_3878 exp-diff_binary64_3877 exp-neg_binary64_3876 exp-sum_binary64_3875 e-exp-1_binary64_3874 1-exp_binary64_3873 exp-1-e_binary64_3872 exp-0_binary64_3871 rem-log-exp_binary64_3870 rem-exp-log_binary64_3869 cube-unmult_binary64_3866 cube-mult_binary64_3859 cube-div_binary64_3858 cube-prod_binary64_3857 cube-neg_binary64_3856 rem-3cbrt-rft_binary64_3855 rem-3cbrt-lft_binary64_3854 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 rem-sqrt-square_binary64_3842 rem-square-sqrt_binary64_3841 times-frac_binary64_3835 div-sub_binary64_3834 neg-mul-1_binary64_3825 neg-sub0_binary64_3824 unsub-neg_binary64_3823 sub-neg_binary64_3822 mul-1-neg_binary64_3821 /-rgt-identity_binary64_3820 *-rgt-identity_binary64_3819 *-lft-identity_binary64_3818 remove-double-neg_binary64_3817 sub0-neg_binary64_3816 --rgt-identity_binary64_3815 +-rgt-identity_binary64_3814 +-lft-identity_binary64_3813 mul0-rgt_binary64_3812 mul0-lft_binary64_3811 div0_binary64_3810 *-inverses_binary64_3809 +-inverses_binary64_3808 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 pow-sqr_binary64_3802 sqr-pow_binary64_3801 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 difference-of-squares_binary64_3798 unswap-sqr_binary64_3797 swap-sqr_binary64_3796 cancel-sign-sub-inv_binary64_3795 cancel-sign-sub_binary64_3794 distribute-neg-frac_binary64_3793 distribute-frac-neg_binary64_3792 distribute-neg-out_binary64_3791 distribute-neg-in_binary64_3790 distribute-rgt-neg-out_binary64_3789 distribute-lft-neg-out_binary64_3788 distribute-rgt-neg-in_binary64_3787 distribute-lft-neg-in_binary64_3786 distribute-rgt1-in_binary64_3785 distribute-lft1-in_binary64_3784 distribute-rgt-out--_binary64_3783 distribute-rgt-out_binary64_3782 distribute-lft-out--_binary64_3781 distribute-lft-out_binary64_3780 count-2_binary64_3777 associate-/l/_binary64_3776 associate-/r/_binary64_3775 associate-/l*_binary64_3774 associate-/r*_binary64_3773 associate-*l/_binary64_3772 associate-*r/_binary64_3771 associate--r-_binary64_3768 associate--l-_binary64_3767 associate--l+_binary64_3766 associate--r+_binary64_3765 associate-+l-_binary64_3764 associate-+r-_binary64_3763
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11313
22113
33213
43213

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
0.1b
Counts
2 → 1
Compiler

Compiled 18 to 16 computations (11.1% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
0.0b
(+.f64 (*.f64 x y) z)
0.1b
(*.f64 (+.f64 (*.f64 x y) z) y)

rewrite60.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-log-exp_binary64_3868 add-sqr-sqrt_binary64_3851
pow1_binary64_3890 add-exp-log_binary64_3867 add-cbrt-cube_binary64_3865 add-cube-cbrt_binary64_3864 *-un-lft-identity_binary64_3829
flip3-+_binary64_3832 flip-+_binary64_3803 associate-*l*_binary64_3770 associate-*r*_binary64_3769
associate-*l/_binary64_3772 sum-log_binary64_3920 +-commutative_binary64_3759
pow-prod-down_binary64_3900 prod-exp_binary64_3878 cbrt-unprod_binary64_3862 unswap-sqr_binary64_3797 *-commutative_binary64_3760
Counts
3 → 42
Calls

3 calls:

7.0ms
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
6.0ms
(*.f64 (+.f64 (*.f64 x y) z) y)
4.0ms
(+.f64 (*.f64 x y) z)
Compiler

Compiled 740 to 171 computations (76.9% saved)

series636.0ms (3.1%)

Error
0.1b
Counts
3 → 63
Calls

3 calls:

295.0ms
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
197.0ms
(*.f64 (+.f64 (*.f64 x y) z) y)
108.0ms
(+.f64 (*.f64 x y) z)
Compiler

Compiled 1302 to 938 computations (28% saved)

simplify189.0ms (0.9%)

Algorithm
egg-herbie
Rules
650×associate-+l+_binary64_3762
596×associate-+r+_binary64_3761
340×associate-*l*_binary64_3770
281×associate-*r*_binary64_3769
263×distribute-rgt-in_binary64_3779
247×distribute-lft-in_binary64_3778
153×cancel-sign-sub-inv_binary64_3795
148×unswap-sqr_binary64_3797
108×distribute-rgt-out_binary64_3782
104×times-frac_binary64_3835
97×distribute-rgt-neg-in_binary64_3787
86×associate--r+_binary64_3765
76×distribute-neg-in_binary64_3790
72×*-commutative_binary64_3760
70×sqr-pow_binary64_3801 distribute-lft-neg-in_binary64_3786
64×associate-/r*_binary64_3773
59×sub-neg_binary64_3822
56×associate--l+_binary64_3766
50×associate-/r/_binary64_3775 associate-/l*_binary64_3774
45×associate-+l-_binary64_3764
40×pow-sqr_binary64_3802 distribute-lft-out_binary64_3780
38×associate-+r-_binary64_3763
35×exp-prod_binary64_3881 *-lft-identity_binary64_3818
32×*-rgt-identity_binary64_3819 distribute-lft-neg-out_binary64_3788
31×neg-sub0_binary64_3824
28×neg-mul-1_binary64_3825
26×+-commutative_binary64_3759
25×distribute-rgt-out--_binary64_3783
23×cube-prod_binary64_3857 associate-*l/_binary64_3772
22×distribute-neg-frac_binary64_3793 associate--l-_binary64_3767
20×unsub-neg_binary64_3823
19×associate-*r/_binary64_3771
18×exp-sum_binary64_3875
17×log-prod_binary64_3915
16×distribute-rgt-neg-out_binary64_3789
15×associate-/l/_binary64_3776
13×cube-div_binary64_3858
12×exp-sqrt_binary64_3882
10×pow-plus_binary64_3892 +-rgt-identity_binary64_3814
log-div_binary64_3916 unpow3_binary64_3895
swap-sqr_binary64_3796
cube-mult_binary64_3859
cube-unmult_binary64_3866 sub0-neg_binary64_3816
difference-of-squares_binary64_3798
log-pow_binary64_3918 prod-exp_binary64_3878 distribute-lft-out--_binary64_3781
pow-base-1_binary64_3889 distribute-rgt1-in_binary64_3785 count-2_binary64_3777 associate--r-_binary64_3768
unpow2_binary64_3894 unpow1_binary64_3887 exp-lft-sqr_binary64_3884 exp-diff_binary64_3877 1-exp_binary64_3873 exp-1-e_binary64_3872 rem-log-exp_binary64_3870 rem-sqrt-square_binary64_3842 *-inverses_binary64_3809 rgt-mult-inverse_binary64_3806
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 cos-neg_binary64_3960 sin-neg_binary64_3959 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 log-rec_binary64_3917 pow-base-0_binary64_3913 unpow1/3_binary64_3896 unpow1/2_binary64_3893 exp-to-pow_binary64_3891 unpow0_binary64_3888 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-cbrt_binary64_3883 div-exp_binary64_3880 rec-exp_binary64_3879 exp-neg_binary64_3876 e-exp-1_binary64_3874 exp-0_binary64_3871 rem-exp-log_binary64_3869 cube-neg_binary64_3856 rem-3cbrt-rft_binary64_3855 rem-3cbrt-lft_binary64_3854 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 rem-square-sqrt_binary64_3841 div-sub_binary64_3834 mul-1-neg_binary64_3821 /-rgt-identity_binary64_3820 remove-double-neg_binary64_3817 --rgt-identity_binary64_3815 +-lft-identity_binary64_3813 mul0-rgt_binary64_3812 mul0-lft_binary64_3811 div0_binary64_3810 +-inverses_binary64_3808 lft-mult-inverse_binary64_3807 remove-double-div_binary64_3805 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 cancel-sign-sub_binary64_3794 distribute-frac-neg_binary64_3792 distribute-neg-out_binary64_3791 distribute-lft1-in_binary64_3784
Counts
105 → 180
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0801244
12191124
26411112
320881112

prune145.0ms (0.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1755180
Fresh000
Picked011
Done000
Total1756181
Error
0.0b
Counts
181 → 6
Compiler

Compiled 3025 to 482 computations (84.1% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 (+.f64 (*.f64 x y) z)) (cbrt.f64 (+.f64 (*.f64 x y) z)))
0.6b
(cbrt.f64 (+.f64 z (*.f64 y x)))
0.6b
(cbrt.f64 (+.f64 (*.f64 x y) z))
0.6b
(cbrt.f64 (+.f64 (*.f64 x y) z))

rewrite142.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×cbrt-prod_binary64_3860
23×add-sqr-sqrt_binary64_3851
18×cbrt-div_binary64_3861
15×add-cube-cbrt_binary64_3864 *-un-lft-identity_binary64_3829
11×pow1_binary64_3890
pow1/3_binary64_3911 flip3-+_binary64_3832 flip-+_binary64_3803
add-exp-log_binary64_3867 swap-sqr_binary64_3796 associate-*l*_binary64_3770 associate-*r*_binary64_3769
add-log-exp_binary64_3868 add-cbrt-cube_binary64_3865 frac-times_binary64_3839 unswap-sqr_binary64_3797
pow-prod-down_binary64_3900 pow-prod-up_binary64_3899 pow-sqr_binary64_3802 associate-*l/_binary64_3772 associate-*r/_binary64_3771
pow2_binary64_3910 pow-plus_binary64_3892 prod-exp_binary64_3878 cbrt-unprod_binary64_3862 *-commutative_binary64_3760
Counts
4 → 87
Calls

4 calls:

12.0ms
(*.f64 (cbrt.f64 (+.f64 (*.f64 x y) z)) (cbrt.f64 (+.f64 (*.f64 x y) z)))
4.0ms
(cbrt.f64 (+.f64 (*.f64 x y) z))
4.0ms
(cbrt.f64 (+.f64 (*.f64 x y) z))
2.0ms
(cbrt.f64 (+.f64 z (*.f64 y x)))
Compiler

Compiled 3008 to 541 computations (82% saved)

series1.2s (5.7%)

Error
0.0b
Counts
4 → 66
Calls

4 calls:

324.0ms
(*.f64 (cbrt.f64 (+.f64 (*.f64 x y) z)) (cbrt.f64 (+.f64 (*.f64 x y) z)))
274.0ms
(cbrt.f64 (+.f64 (*.f64 x y) z))
255.0ms
(cbrt.f64 (+.f64 (*.f64 x y) z))
245.0ms
(cbrt.f64 (+.f64 z (*.f64 y x)))
Compiler

Compiled 6349 to 4170 computations (34.3% saved)

simplify1.5s (7.3%)

Algorithm
egg-herbie
Rules
266×*-commutative_binary64_3760
261×unswap-sqr_binary64_3797
230×associate-/l*_binary64_3774
221×cancel-sign-sub-inv_binary64_3795
215×exp-prod_binary64_3881
196×times-frac_binary64_3835
178×associate-*l/_binary64_3772
157×exp-sum_binary64_3875
152×div-sub_binary64_3834
149×sqr-pow_binary64_3801
142×unsub-neg_binary64_3823
128×associate-*r/_binary64_3771
123×associate-*r*_binary64_3769
119×distribute-rgt-in_binary64_3779
114×sub-neg_binary64_3822
110×associate-/r*_binary64_3773 associate-*l*_binary64_3770
98×distribute-lft-in_binary64_3778
91×associate-/r/_binary64_3775
81×exp-diff_binary64_3877
66×log-prod_binary64_3915 pow-sqr_binary64_3802
60×neg-mul-1_binary64_3825
59×neg-sub0_binary64_3824
53×distribute-rgt-neg-in_binary64_3787
52×log-div_binary64_3916
50×cube-prod_binary64_3857 distribute-lft-neg-in_binary64_3786
47×swap-sqr_binary64_3796 distribute-neg-frac_binary64_3793
40×cube-div_binary64_3858
38×exp-to-pow_binary64_3891 +-commutative_binary64_3759
37×exp-sqrt_binary64_3882
32×distribute-lft-neg-out_binary64_3788
25×*-rgt-identity_binary64_3819 associate-/l/_binary64_3776
24×associate-+r-_binary64_3763
23×*-lft-identity_binary64_3818
22×distribute-rgt-out_binary64_3782
21×associate-+l-_binary64_3764
20×exp-neg_binary64_3876 distribute-frac-neg_binary64_3792
18×associate-+l+_binary64_3762
15×pow-plus_binary64_3892 distribute-rgt-neg-out_binary64_3789
14×log-pow_binary64_3918 unpow1/3_binary64_3896 associate-+r+_binary64_3761
13×+-rgt-identity_binary64_3814
12×distribute-lft-out--_binary64_3781 distribute-lft-out_binary64_3780 associate--r-_binary64_3768 associate--r+_binary64_3765
11×exp-lft-sqr_binary64_3884 sub0-neg_binary64_3816
10×associate--l-_binary64_3767
unpow3_binary64_3895 /-rgt-identity_binary64_3820 mul0-lft_binary64_3811 distribute-rgt-out--_binary64_3783
cube-mult_binary64_3859 difference-of-squares_binary64_3798 distribute-neg-out_binary64_3791 associate--l+_binary64_3766
log-rec_binary64_3917 rem-sqrt-square_binary64_3842 mul0-rgt_binary64_3812
cube-unmult_binary64_3866 distribute-neg-in_binary64_3790
remove-double-neg_binary64_3817 count-2_binary64_3777
unpow2_binary64_3894
unpow1_binary64_3887 rem-exp-log_binary64_3869 rem-3cbrt-lft_binary64_3854 --rgt-identity_binary64_3815
prod-exp_binary64_3878
pow-base-1_binary64_3889 1-exp_binary64_3873 exp-1-e_binary64_3872 rem-log-exp_binary64_3870 rem-3cbrt-rft_binary64_3855 rem-cbrt-cube_binary64_3853 rem-square-sqrt_binary64_3841 *-inverses_binary64_3809 +-inverses_binary64_3808 distribute-lft1-in_binary64_3784
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 cos-neg_binary64_3960 sin-neg_binary64_3959 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 pow-base-0_binary64_3913 unpow1/2_binary64_3893 unpow0_binary64_3888 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-cbrt_binary64_3883 div-exp_binary64_3880 rec-exp_binary64_3879 e-exp-1_binary64_3874 exp-0_binary64_3871 cube-neg_binary64_3856 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 mul-1-neg_binary64_3821 +-lft-identity_binary64_3813 div0_binary64_3810 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 cancel-sign-sub_binary64_3794 distribute-rgt1-in_binary64_3785
Counts
153 → 426
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02083528
14913312
213673182
331022848

prune620.0ms (3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New4260426
Fresh044
Picked011
Done011
Total4266432
Error
0.0b
Counts
432 → 6
Compiler

Compiled 15385 to 3710 computations (75.9% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)) (cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)))
0.6b
(cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x)))))
0.6b
(cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t))
0.6b
(cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t))

rewrite167.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
25×cbrt-prod_binary64_3860
23×add-sqr-sqrt_binary64_3851
18×cbrt-div_binary64_3861
15×add-cube-cbrt_binary64_3864 *-un-lft-identity_binary64_3829
11×pow1_binary64_3890
pow1/3_binary64_3911 flip3-+_binary64_3832 flip-+_binary64_3803
add-exp-log_binary64_3867 swap-sqr_binary64_3796 associate-*l*_binary64_3770 associate-*r*_binary64_3769
add-log-exp_binary64_3868 add-cbrt-cube_binary64_3865 frac-times_binary64_3839 unswap-sqr_binary64_3797
pow-prod-down_binary64_3900 pow-prod-up_binary64_3899 pow-sqr_binary64_3802 associate-*l/_binary64_3772 associate-*r/_binary64_3771
pow2_binary64_3910 pow-plus_binary64_3892 prod-exp_binary64_3878 cbrt-unprod_binary64_3862 *-commutative_binary64_3760
Counts
4 → 87
Calls

4 calls:

18.0ms
(*.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)) (cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)))
7.0ms
(cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t))
7.0ms
(cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t))
2.0ms
(cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x)))))
Compiler

Compiled 4124 to 375 computations (90.9% saved)

series3.3s (15.8%)

Error
0.0b
Counts
4 → 102
Calls

4 calls:

1.1s
(*.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)) (cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)))
654.0ms
(cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x)))))
647.0ms
(cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t))
644.0ms
(cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t))
Compiler

Compiled 15721 to 10330 computations (34.3% saved)

simplify1.4s (6.6%)

Algorithm
egg-herbie
Rules
361×associate-*r*_binary64_3769
302×cancel-sign-sub-inv_binary64_3795
266×associate-*l*_binary64_3770
222×*-commutative_binary64_3760
184×distribute-rgt-neg-in_binary64_3787
181×times-frac_binary64_3835
179×sqr-pow_binary64_3801
175×associate-/l*_binary64_3774
168×associate-/r*_binary64_3773
158×distribute-lft-neg-in_binary64_3786
116×unswap-sqr_binary64_3797
108×associate-*r/_binary64_3771
98×+-commutative_binary64_3759
96×associate-*l/_binary64_3772
88×sub-neg_binary64_3822
82×distribute-lft-neg-out_binary64_3788
81×distribute-rgt-out_binary64_3782
71×pow-sqr_binary64_3802
67×distribute-neg-frac_binary64_3793
64×neg-mul-1_binary64_3825 distribute-rgt-in_binary64_3779
61×neg-sub0_binary64_3824
60×distribute-lft-in_binary64_3778
57×exp-sum_binary64_3875
51×associate-+l+_binary64_3762
45×exp-prod_binary64_3881
41×distribute-neg-in_binary64_3790
34×log-prod_binary64_3915
33×distribute-rgt-neg-out_binary64_3789 associate-+r+_binary64_3761
31×associate--l+_binary64_3766
30×unsub-neg_binary64_3823
29×unpow1/3_binary64_3896
26×associate-/r/_binary64_3775
18×/-rgt-identity_binary64_3820 distribute-rgt-out--_binary64_3783
17×*-rgt-identity_binary64_3819
15×*-lft-identity_binary64_3818
14×log-div_binary64_3916
13×exp-diff_binary64_3877 div-sub_binary64_3834
12×distribute-neg-out_binary64_3791
11×cube-prod_binary64_3857
log-pow_binary64_3918 pow-plus_binary64_3892
swap-sqr_binary64_3796
log-rec_binary64_3917 unpow2_binary64_3894 unpow1_binary64_3887 remove-double-neg_binary64_3817
cube-unmult_binary64_3866 distribute-lft-out_binary64_3780
unpow3_binary64_3895 cube-mult_binary64_3859 rem-sqrt-square_binary64_3842 associate--r-_binary64_3768
difference-of-squares_binary64_3798
cube-div_binary64_3858 rem-3cbrt-lft_binary64_3854 distribute-lft-out--_binary64_3781 count-2_binary64_3777
exp-sqrt_binary64_3882 --rgt-identity_binary64_3815 cancel-sign-sub_binary64_3794 associate-+l-_binary64_3764 associate-+r-_binary64_3763
prod-exp_binary64_3878 1-exp_binary64_3873 exp-1-e_binary64_3872 rem-log-exp_binary64_3870 rem-3cbrt-rft_binary64_3855 rem-cbrt-cube_binary64_3853 rem-square-sqrt_binary64_3841 *-inverses_binary64_3809 +-inverses_binary64_3808 distribute-lft1-in_binary64_3784 associate--r+_binary64_3765
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 cos-neg_binary64_3960 sin-neg_binary64_3959 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 pow-base-0_binary64_3913 unpow1/2_binary64_3893 exp-to-pow_binary64_3891 pow-base-1_binary64_3889 unpow0_binary64_3888 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-lft-sqr_binary64_3884 exp-cbrt_binary64_3883 div-exp_binary64_3880 rec-exp_binary64_3879 exp-neg_binary64_3876 e-exp-1_binary64_3874 exp-0_binary64_3871 rem-exp-log_binary64_3869 cube-neg_binary64_3856 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 mul-1-neg_binary64_3821 sub0-neg_binary64_3816 +-rgt-identity_binary64_3814 +-lft-identity_binary64_3813 mul0-rgt_binary64_3812 mul0-lft_binary64_3811 div0_binary64_3810 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 distribute-frac-neg_binary64_3792 distribute-rgt1-in_binary64_3785 associate-/l/_binary64_3776 associate--l-_binary64_3767
Counts
189 → 457
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03927566
111286922
238096324

prune890.0ms (4.3%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New4561457
Fresh033
Picked011
Done022
Total4567463
Error
0b
Counts
463 → 7
Compiler

Compiled 22975 to 5408 computations (76.5% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x)))))) (*.f64 2 3)))
0.6b
(cbrt.f64 (cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x))))))
0.6b
(cbrt.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)))
1.3b
(pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x)))))) (*.f64 2 3))

rewrite187.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
49×cbrt-prod_binary64_3860
18×unpow-prod-down_binary64_3908
15×add-cube-cbrt_binary64_3864 add-sqr-sqrt_binary64_3851 *-un-lft-identity_binary64_3829
cbrt-div_binary64_3861
pow1_binary64_3890 add-exp-log_binary64_3867
pow1/3_binary64_3911 add-log-exp_binary64_3868 add-cbrt-cube_binary64_3865
pow-pow_binary64_3901 sqr-pow_binary64_3801 flip3-+_binary64_3832 flip-+_binary64_3803
pow-unpow_binary64_3906 pow-to-exp_binary64_3898 pow-exp_binary64_3897
Counts
4 → 75
Calls

4 calls:

8.0ms
(cbrt.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)))
5.0ms
(cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x)))))) (*.f64 2 3)))
5.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x)))))) (*.f64 2 3))
3.0ms
(cbrt.f64 (cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x))))))
Compiler

Compiled 4827 to 980 computations (79.7% saved)

series5.3s (25.3%)

Error
0b
Counts
4 → 84
Calls

4 calls:

3.3s
(pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x)))))) (*.f64 2 3))
698.0ms
(cbrt.f64 (cbrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)))
597.0ms
(cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x)))))) (*.f64 2 3)))
400.0ms
(cbrt.f64 (cbrt.f64 (+.f64 t (*.f64 y (+.f64 z (*.f64 y x))))))
Compiler

Compiled 16283 to 9545 computations (41.4% saved)

simplify708.0ms (3.4%)

Algorithm
egg-herbie
Rules
313×associate-*r*_binary64_3769
310×cancel-sign-sub-inv_binary64_3795
258×sqr-pow_binary64_3801
245×associate-/l*_binary64_3774
234×times-frac_binary64_3835
216×*-commutative_binary64_3760
200×associate-/r*_binary64_3773
197×associate-*l*_binary64_3770
141×unswap-sqr_binary64_3797
139×associate-*r/_binary64_3771
134×pow-sqr_binary64_3802
124×associate-*l/_binary64_3772
110×+-commutative_binary64_3759
94×sub-neg_binary64_3822
68×neg-mul-1_binary64_3825
65×neg-sub0_binary64_3824
57×exp-sum_binary64_3875
53×associate-+l+_binary64_3762
49×distribute-rgt-neg-in_binary64_3787
47×distribute-rgt-in_binary64_3779 distribute-lft-in_binary64_3778
36×exp-prod_binary64_3881 associate--l+_binary64_3766
35×associate-/r/_binary64_3775
33×associate-+r+_binary64_3761
31×unsub-neg_binary64_3823
29×distribute-lft-neg-in_binary64_3786
26×log-prod_binary64_3915
24×distribute-lft-neg-out_binary64_3788
15×log-pow_binary64_3918 /-rgt-identity_binary64_3820
13×exp-diff_binary64_3877 div-sub_binary64_3834
12×pow-plus_binary64_3892
11×log-div_binary64_3916 distribute-rgt-out_binary64_3782
unpow1/3_binary64_3896
unpow2_binary64_3894 unpow1_binary64_3887 cube-unmult_binary64_3866 swap-sqr_binary64_3796 distribute-rgt-neg-out_binary64_3789
remove-double-neg_binary64_3817
log-rec_binary64_3917 distribute-lft-out_binary64_3780
unpow3_binary64_3895 cube-mult_binary64_3859 distribute-neg-frac_binary64_3793 associate--r-_binary64_3768
cube-prod_binary64_3857 *-lft-identity_binary64_3818 difference-of-squares_binary64_3798
pow-base-1_binary64_3889 rem-3cbrt-lft_binary64_3854 *-rgt-identity_binary64_3819 distribute-rgt-out--_binary64_3783 distribute-lft-out--_binary64_3781
--rgt-identity_binary64_3815 cancel-sign-sub_binary64_3794 distribute-neg-in_binary64_3790 associate-/l/_binary64_3776 associate-+l-_binary64_3764 associate-+r-_binary64_3763
1-exp_binary64_3873 rem-log-exp_binary64_3870 rem-sqrt-square_binary64_3842 *-inverses_binary64_3809 +-inverses_binary64_3808 associate--r+_binary64_3765
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_4092 erf-erfc_binary64_4091 erf-odd_binary64_4090 if-if-and-not_binary64_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 not-gte_binary64_4081 not-lte_binary64_4080 not-gt_binary64_4079 not-lt_binary64_4078 gte-same_binary64_4077 lte-same_binary64_4076 gt-same_binary64_4075 lt-same_binary64_4074 sinh---cosh_binary64_4021 sinh-+-cosh_binary64_4020 sinh-cosh_binary64_4019 tanh-def-c_binary64_4018 tanh-def-b_binary64_4017 tanh-def-a_binary64_4016 cosh-def_binary64_4015 sinh-def_binary64_4014 tan-neg_binary64_3961 cos-neg_binary64_3960 sin-neg_binary64_3959 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 hang-m-tan_binary64_3955 hang-p-tan_binary64_3954 hang-m0-tan_binary64_3953 hang-p0-tan_binary64_3952 hang-0m-tan_binary64_3951 hang-0p-tan_binary64_3950 tan-+PI/2_binary64_3949 tan-+PI_binary64_3948 tan-PI_binary64_3947 tan-PI/3_binary64_3946 tan-PI/4_binary64_3945 tan-PI/6_binary64_3944 cos-+PI/2_binary64_3943 cos-+PI_binary64_3942 cos-PI_binary64_3941 cos-PI/2_binary64_3940 cos-PI/3_binary64_3939 cos-PI/4_binary64_3938 cos-PI/6_binary64_3937 sin-+PI/2_binary64_3936 sin-+PI_binary64_3935 sin-PI_binary64_3934 sin-PI/2_binary64_3933 sin-PI/3_binary64_3932 sin-PI/4_binary64_3931 sin-PI/6_binary64_3930 sub-1-sin_binary64_3929 sub-1-cos_binary64_3928 -1-add-sin_binary64_3927 -1-add-cos_binary64_3926 1-sub-sin_binary64_3925 1-sub-cos_binary64_3924 cos-sin-sum_binary64_3923 log-E_binary64_3919 pow-base-0_binary64_3913 unpow1/2_binary64_3893 exp-to-pow_binary64_3891 unpow0_binary64_3888 unpow-1_binary64_3886 exp-lft-cube_binary64_3885 exp-lft-sqr_binary64_3884 exp-cbrt_binary64_3883 exp-sqrt_binary64_3882 div-exp_binary64_3880 rec-exp_binary64_3879 prod-exp_binary64_3878 exp-neg_binary64_3876 e-exp-1_binary64_3874 exp-1-e_binary64_3872 exp-0_binary64_3871 rem-exp-log_binary64_3869 cube-div_binary64_3858 cube-neg_binary64_3856 rem-3cbrt-rft_binary64_3855 rem-cbrt-cube_binary64_3853 rem-cube-cbrt_binary64_3852 sqr-abs_binary64_3844 sqr-neg_binary64_3843 rem-square-sqrt_binary64_3841 mul-1-neg_binary64_3821 sub0-neg_binary64_3816 +-rgt-identity_binary64_3814 +-lft-identity_binary64_3813 mul0-rgt_binary64_3812 mul0-lft_binary64_3811 div0_binary64_3810 lft-mult-inverse_binary64_3807 rgt-mult-inverse_binary64_3806 remove-double-div_binary64_3805 difference-of-sqr--1_binary64_3800 difference-of-sqr-1_binary64_3799 distribute-frac-neg_binary64_3792 distribute-neg-out_binary64_3791 distribute-rgt1-in_binary64_3785 distribute-lft1-in_binary64_3784 count-2_binary64_3777 associate--l-_binary64_3767
Counts
159 → 520
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04585986
112815718
241355570

prune1.5s (7.3%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New5200520
Fresh033
Picked011
Done033
Total5207527
Error
0b
Counts
527 → 7
Compiler

Compiled 35161 to 7766 computations (77.9% saved)

regimes587.0ms (2.8%)

Accuracy

Total 0.1b remaining (91.3%)

Threshold costs 0.1b (91.3%)

Compiler

Compiled 6040 to 3890 computations (35.6% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_3760 +-commutative_binary64_3759
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_4089 if-if-and_binary64_4088 if-if-or-not_binary64_4087 if-if-or_binary64_4086 if-not_binary64_4085 if-same_binary64_4084 if-false_binary64_4083 if-true_binary64_4082 tan-0_binary64_3958 cos-0_binary64_3957 sin-0_binary64_3956 unpow1_binary64_3887 e-exp-1_binary64_3874 1-exp_binary64_3873 exp-1-e_binary64_3872 exp-0_binary64_3871 sqr-abs_binary64_3844 sqr-neg_binary64_3843 neg-mul-1_binary64_3825 neg-sub0_binary64_3824 unsub-neg_binary64_3823 sub-neg_binary64_3822 mul-1-neg_binary64_3821 /-rgt-identity_binary64_3820 *-rgt-identity_binary64_3819 *-lft-identity_binary64_3818 remove-double-neg_binary64_3817 sub0-neg_binary64_3816 --rgt-identity_binary64_3815 +-rgt-identity_binary64_3814 +-lft-identity_binary64_3813 cancel-sign-sub-inv_binary64_3795 cancel-sign-sub_binary64_3794 distribute-neg-frac_binary64_3793 distribute-frac-neg_binary64_3792 distribute-neg-out_binary64_3791 distribute-neg-in_binary64_3790 distribute-rgt-neg-out_binary64_3789 distribute-lft-neg-out_binary64_3788 distribute-rgt-neg-in_binary64_3787 distribute-lft-neg-in_binary64_3786
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11313
Proof
(+ f64 (=> (* f64 (+ f64 (* f64 h0 h1) h2) h1)) h3) *-commutative_binary64_3760 => (+ f64 (* f64 h1 (+ f64 (* f64 h0 h1) h2)) h3)

end0.0ms (0%)

sample1.5s (7.1%)

Algorithm
intervals
Results
232.0ms8000×body128valid
55.0ms1756×body128invalid
Compiler

Compiled 1019 to 659 computations (35.3% saved)

Profiling

Loading profile data...