Details

Time bar (total: 32.4s)

analyze2.6s (8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
15.6%84.3%0.1%8
15.6%84.3%0.1%9
15.6%84.3%0.1%10
30.4%69.4%0.1%11
30.4%69.4%0.1%12
30.4%69.4%0.1%13
39.6%60.3%0.1%14
Compiler

Compiled 25 to 23 computations (8% saved)

sample114.0ms (0.4%)

Algorithm
intervals
Results
52.0ms53×body1024valid
21.0ms35×body512valid
20.0ms141×body128valid
9.0ms27×body256valid
Compiler

Compiled 49 to 48 computations (2% saved)

simplify148.0ms (0.5%)

Algorithm
egg-herbie
Rules
515×associate-/l*_binary64_705
463×associate-/r/_binary64_706
454×associate-*l/_binary64_703
400×associate-/r*_binary64_704
300×unswap-sqr_binary64_728
267×associate-*l*_binary64_701
254×associate-*r/_binary64_702
215×associate-*r*_binary64_700
202×cube-prod_binary64_788
181×swap-sqr_binary64_727
173×associate-+r+_binary64_692
165×associate-+l+_binary64_693
163×distribute-rgt-in_binary64_710
146×*-lft-identity_binary64_749
143×distribute-lft-in_binary64_709
128×count-2_binary64_708
127×associate-/l/_binary64_707
122×*-rgt-identity_binary64_750
88×times-frac_binary64_766
78×cube-div_binary64_789
76×distribute-rgt-out_binary64_713
59×*-commutative_binary64_691
46×sqr-pow_binary64_732
33×pow-plus_binary64_823
30×unpow3_binary64_826
28×cube-mult_binary64_790 +-commutative_binary64_690
24×pow-sqr_binary64_733
22×/-rgt-identity_binary64_751
20×distribute-rgt1-in_binary64_716
18×exp-prod_binary64_812
16×div-exp_binary64_811 prod-exp_binary64_809
distribute-lft1-in_binary64_715
cube-unmult_binary64_797 distribute-lft-out_binary64_711
pow-base-1_binary64_820 rec-exp_binary64_810 distribute-rgt-out--_binary64_714
exp-sum_binary64_806 cancel-sign-sub-inv_binary64_726 distribute-lft-neg-in_binary64_717
unpow2_binary64_825 unpow1_binary64_818 exp-lft-sqr_binary64_815 exp-sqrt_binary64_813 1-exp_binary64_804 neg-mul-1_binary64_756 neg-sub0_binary64_755 sub-neg_binary64_753 --rgt-identity_binary64_746 *-inverses_binary64_740 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-pow_binary64_849 log-rec_binary64_848 log-div_binary64_847 log-prod_binary64_846 pow-base-0_binary64_844 unpow1/3_binary64_827 unpow1/2_binary64_824 exp-to-pow_binary64_822 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-cbrt_binary64_814 exp-diff_binary64_808 exp-neg_binary64_807 e-exp-1_binary64_805 exp-1-e_binary64_803 exp-0_binary64_802 rem-log-exp_binary64_801 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 rem-sqrt-square_binary64_773 rem-square-sqrt_binary64_772 div-sub_binary64_765 unsub-neg_binary64_754 mul-1-neg_binary64_752 remove-double-neg_binary64_748 sub0-neg_binary64_747 +-rgt-identity_binary64_745 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 +-inverses_binary64_739 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 difference-of-sqr-1_binary64_730 difference-of-squares_binary64_729 cancel-sign-sub_binary64_725 distribute-neg-frac_binary64_724 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-neg-in_binary64_721 distribute-rgt-neg-out_binary64_720 distribute-lft-neg-out_binary64_719 distribute-rgt-neg-in_binary64_718 distribute-lft-out--_binary64_712 associate--r-_binary64_699 associate--l-_binary64_698 associate--l+_binary64_697 associate--r+_binary64_696 associate-+l-_binary64_695 associate-+r-_binary64_694
Counts
1 → 5
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01837
13737
28237
319937
475437
5263737
6357537
7488437

prune6.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New415
Fresh011
Picked000
Done000
Total426
Error
20.2b
Counts
6 → 2
Compiler

Compiled 168 to 142 computations (15.5% saved)

localize16.0ms (0%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
0.3b
(pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)
8.7b
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
10.1b
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))

rewrite147.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
20.1b
Rules
28×add-exp-log_binary64_798
20×pow1_binary64_821
18×add-cbrt-cube_binary64_796
15×*-un-lft-identity_binary64_760
12×add-sqr-sqrt_binary64_782 prod-exp_binary64_809
11×add-cube-cbrt_binary64_795
10×associate-*r*_binary64_700
pow-prod-down_binary64_831 cbrt-unprod_binary64_793
sqrt-prod_binary64_776
unpow-prod-down_binary64_839
add-log-exp_binary64_799 sqrt-div_binary64_777 pow-exp_binary64_828
times-frac_binary64_766 pow-unpow_binary64_837 div-exp_binary64_811
flip3-+_binary64_763 flip-+_binary64_734 distribute-lft-out_binary64_711 associate-*r/_binary64_702 associate-*l*_binary64_701 *-commutative_binary64_691
pow1/2_binary64_840 sqrt-pow1_binary64_778 rem-sqrt-square_binary64_773 div-inv_binary64_757 pow-pow_binary64_832 pow-to-exp_binary64_829 unpow2_binary64_825 sqr-pow_binary64_732
Counts
4 → 86
Calls

4 calls:

13.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
8.0ms
(pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)
7.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
4.0ms
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
Compiler

Compiled 3141 to 2524 computations (19.6% saved)

series903.0ms (2.8%)

Error
0.1b
Counts
4 → 60
Calls

4 calls:

409.0ms
(*.f64 (*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
236.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
149.0ms
(pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)
49.0ms
(*.f64 (*.f64 -2 J) (cos.f64 (/.f64 K 2)))
Compiler

Compiled 4735 to 4040 computations (14.7% saved)

simplify556.0ms (1.7%)

Algorithm
egg-herbie
Rules
378×associate-/r/_binary64_706
344×associate-*l*_binary64_701
282×cancel-sign-sub-inv_binary64_726
247×associate-*r*_binary64_700
176×distribute-rgt-in_binary64_710
167×distribute-rgt-neg-in_binary64_718
154×distribute-lft-in_binary64_709
148×unswap-sqr_binary64_728
147×associate-/l/_binary64_707
138×distribute-lft-neg-in_binary64_717
133×sqr-pow_binary64_732
130×*-commutative_binary64_691
99×sub-neg_binary64_753
90×times-frac_binary64_766
89×associate-/r*_binary64_704
84×distribute-neg-frac_binary64_724
79×associate-/l*_binary64_705
72×associate-*r/_binary64_702
67×log-prod_binary64_846
57×neg-sub0_binary64_755
56×neg-mul-1_binary64_756 associate-*l/_binary64_703 +-commutative_binary64_690
54×exp-prod_binary64_812
45×cube-prod_binary64_788
44×swap-sqr_binary64_727 distribute-neg-in_binary64_721
42×pow-sqr_binary64_733
38×*-lft-identity_binary64_749
33×pow-plus_binary64_823
30×associate--r+_binary64_696
27×*-rgt-identity_binary64_750
26×associate-+l+_binary64_693
25×log-div_binary64_847
24×distribute-rgt-out_binary64_713
23×associate-+r+_binary64_692
22×distribute-lft-neg-out_binary64_719
21×cube-div_binary64_789
18×unsub-neg_binary64_754 distribute-rgt-out--_binary64_714
17×log-pow_binary64_849
16×unpow2_binary64_825 distribute-lft-out--_binary64_712
15×unpow1_binary64_818 /-rgt-identity_binary64_751
12×associate--l+_binary64_697
10×exp-sqrt_binary64_813 cube-unmult_binary64_797 rem-sqrt-square_binary64_773
unpow3_binary64_826
difference-of-squares_binary64_729
cube-mult_binary64_790 distribute-rgt1-in_binary64_716
pow-base-1_binary64_820
div-exp_binary64_811 prod-exp_binary64_809
difference-of-sqr-1_binary64_730 distribute-lft-out_binary64_711 associate-+r-_binary64_694
rec-exp_binary64_810 rem-square-sqrt_binary64_772 +-rgt-identity_binary64_745 distribute-rgt-neg-out_binary64_720 distribute-lft1-in_binary64_715 count-2_binary64_708
log-rec_binary64_848 1-exp_binary64_804 exp-1-e_binary64_803 rem-log-exp_binary64_801 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 div-sub_binary64_765 mul-1-neg_binary64_752 *-inverses_binary64_740 associate-+l-_binary64_695
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 pow-base-0_binary64_844 unpow1/3_binary64_827 unpow1/2_binary64_824 exp-to-pow_binary64_822 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 exp-diff_binary64_808 exp-neg_binary64_807 exp-sum_binary64_806 e-exp-1_binary64_805 exp-0_binary64_802 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 associate--r-_binary64_699 associate--l-_binary64_698
Counts
146 → 496
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02944415
17224056
227633992

prune939.0ms (2.9%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New48511496
Fresh101
Picked101
Done000
Total48711498
Error
0.0b
Counts
498 → 11
Compiler

Compiled 19059 to 14604 computations (23.4% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(cbrt.f64 (cos.f64 (/.f64 K 2)))
0.3b
(cbrt.f64 (cos.f64 (/.f64 K 2)))
8.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 K 2))) (*.f64 (*.f64 J -2) (cbrt.f64 (cos.f64 (/.f64 K 2))))) (cbrt.f64 (cos.f64 (/.f64 K 2)))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
10.1b
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))

rewrite160.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
25×pow1_binary64_821
24×add-exp-log_binary64_798
15×add-cbrt-cube_binary64_796 pow-prod-down_binary64_831 prod-exp_binary64_809 cbrt-unprod_binary64_793
13×*-un-lft-identity_binary64_760
10×add-sqr-sqrt_binary64_782
add-cube-cbrt_binary64_795
sqrt-prod_binary64_776
associate-*r*_binary64_700
cbrt-prod_binary64_791
add-log-exp_binary64_799 sqrt-div_binary64_777
flip3-+_binary64_763 flip-+_binary64_734 distribute-lft-out_binary64_711 associate-*r/_binary64_702 pow1/3_binary64_842
pow1/2_binary64_840 sqrt-pow1_binary64_778 rem-sqrt-square_binary64_773 associate-*l*_binary64_701 *-commutative_binary64_691
Counts
4 → 71
Calls

4 calls:

22.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 K 2))) (*.f64 (*.f64 J -2) (cbrt.f64 (cos.f64 (/.f64 K 2))))) (cbrt.f64 (cos.f64 (/.f64 K 2)))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
7.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
1.0ms
(cbrt.f64 (cos.f64 (/.f64 K 2)))
1.0ms
(cbrt.f64 (cos.f64 (/.f64 K 2)))
Compiler

Compiled 3706 to 3037 computations (18.1% saved)

series876.0ms (2.7%)

Error
0.0b
Counts
4 → 51
Calls

4 calls:

486.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 K 2))) (*.f64 (*.f64 J -2) (cbrt.f64 (cos.f64 (/.f64 K 2))))) (cbrt.f64 (cos.f64 (/.f64 K 2)))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
241.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
46.0ms
(cbrt.f64 (cos.f64 (/.f64 K 2)))
37.0ms
(cbrt.f64 (cos.f64 (/.f64 K 2)))
Compiler

Compiled 4858 to 4130 computations (15% saved)

simplify632.0ms (2%)

Algorithm
egg-herbie
Rules
532×associate-/l*_binary64_705
368×associate-*l*_binary64_701
357×associate-/r*_binary64_704
270×associate-*r*_binary64_700
222×cancel-sign-sub-inv_binary64_726
156×associate-/r/_binary64_706
155×distribute-rgt-in_binary64_710
142×distribute-rgt-neg-in_binary64_718
135×distribute-lft-in_binary64_709
123×*-commutative_binary64_691
122×distribute-lft-neg-in_binary64_717
101×unswap-sqr_binary64_728
88×sub-neg_binary64_753
87×sqr-pow_binary64_732
83×times-frac_binary64_766
82×associate-/l/_binary64_707
80×distribute-neg-frac_binary64_724
59×neg-sub0_binary64_755
58×neg-mul-1_binary64_756
46×associate-*r/_binary64_702
45×+-commutative_binary64_690
43×pow-sqr_binary64_733
42×distribute-neg-in_binary64_721
41×log-prod_binary64_846 swap-sqr_binary64_727
39×cube-prod_binary64_788
35×exp-prod_binary64_812
32×associate-*l/_binary64_703
26×associate--r+_binary64_696
22×associate-+l+_binary64_693
21×distribute-lft-neg-out_binary64_719
18×pow-plus_binary64_823
17×unsub-neg_binary64_754 *-rgt-identity_binary64_750 associate-+r+_binary64_692
16×*-lft-identity_binary64_749
14×distribute-rgt-out_binary64_713
11×cube-div_binary64_789 distribute-rgt-out--_binary64_714
10×cube-unmult_binary64_797
difference-of-squares_binary64_729
unpow3_binary64_826 associate--l+_binary64_697
cube-mult_binary64_790
log-pow_binary64_849 unpow2_binary64_825 unpow1_binary64_818 distribute-rgt1-in_binary64_716
prod-exp_binary64_809 rem-sqrt-square_binary64_773
pow-base-1_binary64_820 /-rgt-identity_binary64_751 difference-of-sqr-1_binary64_730 associate-+r-_binary64_694
+-rgt-identity_binary64_745 count-2_binary64_708
log-div_binary64_847 unpow1/3_binary64_827 exp-sqrt_binary64_813 1-exp_binary64_804 exp-1-e_binary64_803 rem-log-exp_binary64_801 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-square-sqrt_binary64_772 mul-1-neg_binary64_752 *-inverses_binary64_740 distribute-rgt-neg-out_binary64_720 distribute-lft1-in_binary64_715 distribute-lft-out--_binary64_712 associate-+l-_binary64_695
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-rec_binary64_848 pow-base-0_binary64_844 unpow1/2_binary64_824 exp-to-pow_binary64_822 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 div-exp_binary64_811 rec-exp_binary64_810 exp-diff_binary64_808 exp-neg_binary64_807 exp-sum_binary64_806 e-exp-1_binary64_805 exp-0_binary64_802 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 div-sub_binary64_765 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-lft-out_binary64_711 associate--r-_binary64_699 associate--l-_binary64_698
Counts
122 → 257
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02534722
16303417
224993359

prune456.0ms (1.4%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New2543257
Fresh2810
Picked011
Done000
Total25612268
Error
0.0b
Counts
268 → 12
Compiler

Compiled 12249 to 9514 computations (22.3% saved)

localize35.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 K 2))) (*.f64 (*.f64 J -2) (cbrt.f64 (cos.f64 (/.f64 K 2))))) (cbrt.f64 (cos.f64 (/.f64 K 2)))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
10.1b
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))) 2)))
10.1b
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))) 2)))
10.1b
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))

rewrite374.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
27×pow1_binary64_821
24×add-exp-log_binary64_798
17×*-un-lft-identity_binary64_760
16×sqrt-prod_binary64_776
15×add-cbrt-cube_binary64_796 pow-prod-down_binary64_831 prod-exp_binary64_809 cbrt-unprod_binary64_793
12×add-sqr-sqrt_binary64_782
add-cube-cbrt_binary64_795
sqrt-div_binary64_777
associate-*r*_binary64_700
add-log-exp_binary64_799 flip3-+_binary64_763 flip-+_binary64_734 distribute-lft-out_binary64_711
pow1/2_binary64_840 sqrt-pow1_binary64_778 rem-sqrt-square_binary64_773
associate-*r/_binary64_702
associate-*l*_binary64_701 *-commutative_binary64_691
Counts
4 → 81
Calls

4 calls:

20.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 K 2))) (*.f64 (*.f64 J -2) (cbrt.f64 (cos.f64 (/.f64 K 2))))) (cbrt.f64 (cos.f64 (/.f64 K 2)))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
8.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))) 2)))
7.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
7.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))) 2)))
Compiler

Compiled 8705 to 7094 computations (18.5% saved)

series1.5s (4.6%)

Error
0.0b
Counts
4 → 77
Calls

4 calls:

428.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 K 2))) (*.f64 (*.f64 J -2) (cbrt.f64 (cos.f64 (/.f64 K 2))))) (cbrt.f64 (cos.f64 (/.f64 K 2)))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
268.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))) 2)))
261.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))) 2)))
254.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
Compiler

Compiled 18014 to 14868 computations (17.5% saved)

simplify639.0ms (2%)

Algorithm
egg-herbie
Rules
584×associate-/l*_binary64_705
344×associate-*l*_binary64_701
256×associate-*r*_binary64_700
200×cancel-sign-sub-inv_binary64_726
185×distribute-rgt-in_binary64_710
173×associate-/r/_binary64_706
171×distribute-lft-in_binary64_709
137×distribute-rgt-neg-in_binary64_718
124×*-commutative_binary64_691
121×distribute-lft-neg-in_binary64_717
101×unswap-sqr_binary64_728
99×associate-/l/_binary64_707
92×times-frac_binary64_766
87×distribute-neg-frac_binary64_724
80×sqr-pow_binary64_732
76×sub-neg_binary64_753
72×associate-/r*_binary64_704
53×associate-*r/_binary64_702
51×neg-sub0_binary64_755
50×neg-mul-1_binary64_756
39×pow-sqr_binary64_733
38×cube-prod_binary64_788
37×+-commutative_binary64_690
36×log-prod_binary64_846 associate-*l/_binary64_703
35×swap-sqr_binary64_727
31×exp-prod_binary64_812
30×distribute-neg-in_binary64_721
20×*-rgt-identity_binary64_750 *-lft-identity_binary64_749
19×associate-+l+_binary64_693
18×pow-plus_binary64_823 associate--r+_binary64_696
17×distribute-lft-neg-out_binary64_719
15×associate-+r+_binary64_692
14×distribute-rgt-out_binary64_713
13×cube-div_binary64_789
12×unsub-neg_binary64_754 distribute-rgt-out--_binary64_714
10×cube-unmult_binary64_797 difference-of-squares_binary64_729
unpow3_binary64_826
associate--l+_binary64_697
cube-mult_binary64_790
unpow2_binary64_825
log-pow_binary64_849 unpow1_binary64_818 rem-sqrt-square_binary64_773 distribute-rgt1-in_binary64_716
prod-exp_binary64_809
pow-base-1_binary64_820 /-rgt-identity_binary64_751 difference-of-sqr-1_binary64_730 associate-+r-_binary64_694
rem-square-sqrt_binary64_772 +-rgt-identity_binary64_745 count-2_binary64_708
log-div_binary64_847 exp-sqrt_binary64_813 1-exp_binary64_804 exp-1-e_binary64_803 rem-log-exp_binary64_801 mul-1-neg_binary64_752 *-inverses_binary64_740 distribute-rgt-neg-out_binary64_720 distribute-lft1-in_binary64_715 distribute-lft-out--_binary64_712 associate-+l-_binary64_695
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-rec_binary64_848 pow-base-0_binary64_844 unpow1/3_binary64_827 unpow1/2_binary64_824 exp-to-pow_binary64_822 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 div-exp_binary64_811 rec-exp_binary64_810 exp-diff_binary64_808 exp-neg_binary64_807 exp-sum_binary64_806 e-exp-1_binary64_805 exp-0_binary64_802 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 div-sub_binary64_765 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-lft-out_binary64_711 associate--r-_binary64_699 associate--l-_binary64_698
Counts
158 → 520
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02696126
15995677
224705583

prune4.0s (12.2%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New5200520
Fresh01010
Picked011
Done011
Total52012532
Error
0.0b
Counts
532 → 12
Compiler

Compiled 55116 to 43999 computations (20.2% saved)

localize40.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 K 2))) (*.f64 (*.f64 J -2) (cbrt.f64 (cos.f64 (/.f64 K 2))))) (cbrt.f64 (cos.f64 (/.f64 K 2)))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
10.1b
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))) 2)))
10.1b
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
10.1b
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))

rewrite592.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
27×pow1_binary64_821
24×add-exp-log_binary64_798
17×*-un-lft-identity_binary64_760
16×sqrt-prod_binary64_776
15×add-cbrt-cube_binary64_796 pow-prod-down_binary64_831 prod-exp_binary64_809 cbrt-unprod_binary64_793
12×add-sqr-sqrt_binary64_782
add-cube-cbrt_binary64_795
sqrt-div_binary64_777
associate-*r*_binary64_700
add-log-exp_binary64_799 flip3-+_binary64_763 flip-+_binary64_734 distribute-lft-out_binary64_711
pow1/2_binary64_840 sqrt-pow1_binary64_778 rem-sqrt-square_binary64_773
associate-*r/_binary64_702
associate-*l*_binary64_701 *-commutative_binary64_691
Counts
4 → 81
Calls

4 calls:

18.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 K 2))) (*.f64 (*.f64 J -2) (cbrt.f64 (cos.f64 (/.f64 K 2))))) (cbrt.f64 (cos.f64 (/.f64 K 2)))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
11.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))) 2)))
8.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
8.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
Compiler

Compiled 10811 to 8876 computations (17.9% saved)

series1.7s (5.2%)

Error
0.0b
Counts
4 → 77
Calls

4 calls:

448.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 K 2))) (*.f64 (*.f64 J -2) (cbrt.f64 (cos.f64 (/.f64 K 2))))) (cbrt.f64 (cos.f64 (/.f64 K 2)))) (sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2))))
306.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
292.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))) 2)))
292.0ms
(sqrt.f64 (+.f64 1 (pow.f64 (/.f64 U (*.f64 (*.f64 2 J) (cos.f64 (/.f64 K 2)))) 2)))
Compiler

Compiled 22954 to 19048 computations (17% saved)

simplify673.0ms (2.1%)

Algorithm
egg-herbie
Rules
584×associate-/l*_binary64_705
344×associate-*l*_binary64_701
256×associate-*r*_binary64_700
200×cancel-sign-sub-inv_binary64_726
185×distribute-rgt-in_binary64_710
173×associate-/r/_binary64_706
171×distribute-lft-in_binary64_709
137×distribute-rgt-neg-in_binary64_718
124×*-commutative_binary64_691
121×distribute-lft-neg-in_binary64_717
101×unswap-sqr_binary64_728
99×associate-/l/_binary64_707
92×times-frac_binary64_766
87×distribute-neg-frac_binary64_724
80×sqr-pow_binary64_732
76×sub-neg_binary64_753
72×associate-/r*_binary64_704
53×associate-*r/_binary64_702
51×neg-sub0_binary64_755
50×neg-mul-1_binary64_756
39×pow-sqr_binary64_733
38×cube-prod_binary64_788
37×+-commutative_binary64_690
36×log-prod_binary64_846 associate-*l/_binary64_703
35×swap-sqr_binary64_727
31×exp-prod_binary64_812
30×distribute-neg-in_binary64_721
20×*-rgt-identity_binary64_750 *-lft-identity_binary64_749
19×associate-+l+_binary64_693
18×pow-plus_binary64_823 associate--r+_binary64_696
17×distribute-lft-neg-out_binary64_719
15×associate-+r+_binary64_692
14×distribute-rgt-out_binary64_713
13×cube-div_binary64_789
12×unsub-neg_binary64_754 distribute-rgt-out--_binary64_714
10×cube-unmult_binary64_797 difference-of-squares_binary64_729
unpow3_binary64_826
associate--l+_binary64_697
cube-mult_binary64_790
unpow2_binary64_825
log-pow_binary64_849 unpow1_binary64_818 rem-sqrt-square_binary64_773 distribute-rgt1-in_binary64_716
prod-exp_binary64_809
pow-base-1_binary64_820 /-rgt-identity_binary64_751 difference-of-sqr-1_binary64_730 associate-+r-_binary64_694
rem-square-sqrt_binary64_772 +-rgt-identity_binary64_745 count-2_binary64_708
log-div_binary64_847 exp-sqrt_binary64_813 1-exp_binary64_804 exp-1-e_binary64_803 rem-log-exp_binary64_801 mul-1-neg_binary64_752 *-inverses_binary64_740 distribute-rgt-neg-out_binary64_720 distribute-lft1-in_binary64_715 distribute-lft-out--_binary64_712 associate-+l-_binary64_695
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_1023 erf-erfc_binary64_1022 erf-odd_binary64_1021 if-if-and-not_binary64_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 not-gte_binary64_1012 not-lte_binary64_1011 not-gt_binary64_1010 not-lt_binary64_1009 gte-same_binary64_1008 lte-same_binary64_1007 gt-same_binary64_1006 lt-same_binary64_1005 sinh---cosh_binary64_952 sinh-+-cosh_binary64_951 sinh-cosh_binary64_950 tanh-def-c_binary64_949 tanh-def-b_binary64_948 tanh-def-a_binary64_947 cosh-def_binary64_946 sinh-def_binary64_945 tan-neg_binary64_892 cos-neg_binary64_891 sin-neg_binary64_890 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 hang-m-tan_binary64_886 hang-p-tan_binary64_885 hang-m0-tan_binary64_884 hang-p0-tan_binary64_883 hang-0m-tan_binary64_882 hang-0p-tan_binary64_881 tan-+PI/2_binary64_880 tan-+PI_binary64_879 tan-PI_binary64_878 tan-PI/3_binary64_877 tan-PI/4_binary64_876 tan-PI/6_binary64_875 cos-+PI/2_binary64_874 cos-+PI_binary64_873 cos-PI_binary64_872 cos-PI/2_binary64_871 cos-PI/3_binary64_870 cos-PI/4_binary64_869 cos-PI/6_binary64_868 sin-+PI/2_binary64_867 sin-+PI_binary64_866 sin-PI_binary64_865 sin-PI/2_binary64_864 sin-PI/3_binary64_863 sin-PI/4_binary64_862 sin-PI/6_binary64_861 sub-1-sin_binary64_860 sub-1-cos_binary64_859 -1-add-sin_binary64_858 -1-add-cos_binary64_857 1-sub-sin_binary64_856 1-sub-cos_binary64_855 cos-sin-sum_binary64_854 log-E_binary64_850 log-rec_binary64_848 pow-base-0_binary64_844 unpow1/3_binary64_827 unpow1/2_binary64_824 exp-to-pow_binary64_822 unpow0_binary64_819 unpow-1_binary64_817 exp-lft-cube_binary64_816 exp-lft-sqr_binary64_815 exp-cbrt_binary64_814 div-exp_binary64_811 rec-exp_binary64_810 exp-diff_binary64_808 exp-neg_binary64_807 exp-sum_binary64_806 e-exp-1_binary64_805 exp-0_binary64_802 rem-exp-log_binary64_800 cube-neg_binary64_787 rem-3cbrt-rft_binary64_786 rem-3cbrt-lft_binary64_785 rem-cbrt-cube_binary64_784 rem-cube-cbrt_binary64_783 sqr-abs_binary64_775 sqr-neg_binary64_774 div-sub_binary64_765 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-lft-identity_binary64_744 mul0-rgt_binary64_743 mul0-lft_binary64_742 div0_binary64_741 +-inverses_binary64_739 lft-mult-inverse_binary64_738 rgt-mult-inverse_binary64_737 remove-double-div_binary64_736 difference-of-sqr--1_binary64_731 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-lft-out_binary64_711 associate--r-_binary64_699 associate--l-_binary64_698
Counts
158 → 519
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02696126
15995677
224705583

prune6.7s (20.7%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New5181519
Fresh099
Picked011
Done022
Total51813531
Error
0.0b
Counts
531 → 13
Compiler

Compiled 68115 to 54993 computations (19.3% saved)

regimes1.7s (5.3%)

Accuracy

Total 9.4b remaining (99.9%)

Threshold costs 0b (0%)

Compiler

Compiled 21277 to 18268 computations (14.1% saved)

bsearch7.0ms (0%)

Compiler

Compiled 24 to 22 computations (8.3% saved)

simplify18.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×*-commutative_binary64_691
+-commutative_binary64_690
neg-mul-1_binary64_756 neg-sub0_binary64_755 sub-neg_binary64_753
unsub-neg_binary64_754 distribute-neg-in_binary64_721 distribute-rgt-neg-in_binary64_718 distribute-lft-neg-in_binary64_717
1-exp_binary64_804 distribute-neg-frac_binary64_724
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_1020 if-if-and_binary64_1019 if-if-or-not_binary64_1018 if-if-or_binary64_1017 if-not_binary64_1016 if-same_binary64_1015 if-false_binary64_1014 if-true_binary64_1013 tan-0_binary64_889 cos-0_binary64_888 sin-0_binary64_887 unpow1_binary64_818 e-exp-1_binary64_805 exp-1-e_binary64_803 exp-0_binary64_802 sqr-abs_binary64_775 sqr-neg_binary64_774 mul-1-neg_binary64_752 /-rgt-identity_binary64_751 *-rgt-identity_binary64_750 *-lft-identity_binary64_749 remove-double-neg_binary64_748 sub0-neg_binary64_747 --rgt-identity_binary64_746 +-rgt-identity_binary64_745 +-lft-identity_binary64_744 cancel-sign-sub-inv_binary64_726 cancel-sign-sub_binary64_725 distribute-frac-neg_binary64_723 distribute-neg-out_binary64_722 distribute-rgt-neg-out_binary64_720 distribute-lft-neg-out_binary64_719
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035148
152148
266148
378148
486148
590148
691148
Proof
(if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (* f64 2 h0) (cos f64 (/ f64 h1 2)))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (* f64 2 h0) (cos f64 (/ f64 h1 2)))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (=> (* f64 (* f64 2 h0) (cos f64 (/ f64 h1 2))))) 2)))) (neg f64 (+ f64 h2 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0)))))))) *-commutative_binary64_691 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (* f64 2 h0) (cos f64 (/ f64 h1 2)))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (=> (* f64 (* f64 2 h0) (cos f64 (/ f64 h1 2))))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 2 h0))) 2)))) (neg f64 (+ f64 h2 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0)))))))) *-commutative_binary64_691 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (=> (* f64 (* f64 2 h0) (cos f64 (/ f64 h1 2))))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 2 h0))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 2 h0))) 2)))) (neg f64 (+ f64 h2 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0)))))))) *-commutative_binary64_691 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 2 h0))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 2 h0))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (=> (* f64 2 h0)))) 2)))) (neg f64 (+ f64 h2 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0)))))))) *-commutative_binary64_691 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 2 h0))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (=> (* f64 2 h0)))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) (neg f64 (+ f64 h2 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0)))))))) *-commutative_binary64_691 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (=> (* f64 2 h0)))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) (neg f64 (+ f64 h2 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0)))))))) *-commutative_binary64_691 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) (neg f64 (=> (+ f64 h2 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0))))))))) +-commutative_binary64_690 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) (=> (neg f64 (+ f64 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0)))) h2))))) distribute-neg-in_binary64_721 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) (=> (+ f64 (neg f64 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0))))) (neg f64 h2))))) unsub-neg_binary64_754 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) (- f64 (=> (neg f64 (* f64 2 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0)))))) h2))) distribute-rgt-neg-in_binary64_718 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) (- f64 (* f64 2 (=> (neg f64 (/ f64 (pow f64 (cos f64 (* f64 1/2 h1)) 2) (/ f64 h2 (* f64 h0 h0)))))) h2))) distribute-neg-frac_binary64_724 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) (- f64 (* f64 2 (/ f64 (neg f64 (pow f64 (cos f64 (=> (* f64 1/2 h1))) 2)) (/ f64 h2 (* f64 h0 h0)))) h2))) *-commutative_binary64_691 => (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) h3) h2 (if real (<= f64 (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) 191028257765813362524810847417291782003599524394494872281934833363446412384005354147441513541847518296344929402822809636169177238674037367037502022273741306580781338121668491058710548760208349375345373633898855180953566384891899183828062291897523755059540273545140861248295882714306054177814723325591552) (* f64 (* f64 (* f64 -2 h0) (cos f64 (/ f64 h1 2))) (sqrt f64 (+ f64 1 (pow f64 (/ f64 h2 (* f64 (cos f64 (/ f64 h1 2)) (* f64 h0 2))) 2)))) (- f64 (* f64 2 (/ f64 (neg f64 (pow f64 (cos f64 (* f64 h1 1/2)) 2)) (/ f64 h2 (* f64 h0 h0)))) h2)))

end0.0ms (0%)

sample6.9s (21.3%)

Algorithm
intervals
Results
2.1s1978×body1024valid
799.0ms4464×body128valid
575.0ms1022×body512valid
185.0ms531×body256valid
8.0msbody2048valid
0.0msbody512invalid
0.0msbody128invalid
Compiler

Compiled 3610 to 3095 computations (14.3% saved)

Profiling

Loading profile data...