Details

Time bar (total: 34.4s)

analyze2.2s (6.4%)

Algorithm
search
egg-herbie
Rules
230×unsub-neg_binary64_1777
191×sub-neg_binary64_1776
185×cancel-sign-sub-inv_binary64_1749
169×distribute-rgt-in_binary64_1733
130×distribute-rgt-neg-in_binary64_1741
129×neg-mul-1_binary64_1779
127×associate--r+_binary64_1719
108×distribute-lft-neg-in_binary64_1740
107×neg-sub0_binary64_1778
98×*-commutative_binary64_1714
93×distribute-lft-neg-out_binary64_1742
73×associate-*r*_binary64_1723
68×distribute-rgt-neg-out_binary64_1743
61×distribute-lft-in_binary64_1732
53×distribute-neg-in_binary64_1744 +-commutative_binary64_1713
44×associate--l-_binary64_1721
43×associate--l+_binary64_1720
42×associate-+l-_binary64_1718
39×associate--r-_binary64_1722
37×remove-double-neg_binary64_1771 sub0-neg_binary64_1770 associate-*l*_binary64_1724
28×mul0-rgt_binary64_1766 mul0-lft_binary64_1765 associate-+r+_binary64_1715
23×associate-+l+_binary64_1716
21×distribute-neg-out_binary64_1745
20×distribute-rgt-out--_binary64_1737
18×associate-+r-_binary64_1717
16×*-rgt-identity_binary64_1773 +-rgt-identity_binary64_1768
15×*-lft-identity_binary64_1772
11×cos-neg_binary64_1914 +-lft-identity_binary64_1767
10×sin-neg_binary64_1913 distribute-rgt-out_binary64_1736
mul-1-neg_binary64_1775
cancel-sign-sub_binary64_1748
1-exp_binary64_1827
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 log-pow_binary64_1872 log-rec_binary64_1871 log-div_binary64_1870 log-prod_binary64_1869 pow-base-0_binary64_1867 unpow1/3_binary64_1850 unpow3_binary64_1849 unpow2_binary64_1848 unpow1/2_binary64_1847 pow-plus_binary64_1846 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow1_binary64_1841 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 exp-prod_binary64_1835 div-exp_binary64_1834 rec-exp_binary64_1833 prod-exp_binary64_1832 exp-diff_binary64_1831 exp-neg_binary64_1830 exp-sum_binary64_1829 e-exp-1_binary64_1828 exp-1-e_binary64_1826 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-unmult_binary64_1820 cube-mult_binary64_1813 cube-div_binary64_1812 cube-prod_binary64_1811 cube-neg_binary64_1810 rem-3cbrt-rft_binary64_1809 rem-3cbrt-lft_binary64_1808 rem-cbrt-cube_binary64_1807 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 sqr-neg_binary64_1797 rem-sqrt-square_binary64_1796 rem-square-sqrt_binary64_1795 times-frac_binary64_1789 div-sub_binary64_1788 /-rgt-identity_binary64_1774 --rgt-identity_binary64_1769 div0_binary64_1764 *-inverses_binary64_1763 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 pow-sqr_binary64_1756 sqr-pow_binary64_1755 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 difference-of-squares_binary64_1752 unswap-sqr_binary64_1751 swap-sqr_binary64_1750 distribute-neg-frac_binary64_1747 distribute-frac-neg_binary64_1746 distribute-rgt1-in_binary64_1739 distribute-lft1-in_binary64_1738 distribute-lft-out--_binary64_1735 distribute-lft-out_binary64_1734 count-2_binary64_1731 associate-/l/_binary64_1730 associate-/r/_binary64_1729 associate-/l*_binary64_1728 associate-/r*_binary64_1727 associate-*l/_binary64_1726 associate-*r/_binary64_1725
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062224
1100224
2116224
3144224
4170224
5295224
6371224
7574224
8743224
9823224
101039224
111224224
121275224
131300224
141326224
151340224
161344224
171273224
044
144
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
0%99.8%0.2%8
9.4%90.4%0.2%9
9.4%90.4%0.2%10
10.9%88.9%0.2%11
10.9%88.9%0.2%12
10.9%88.9%0.2%13
10.9%88.9%0.2%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample147.0ms (0.4%)

Algorithm
intervals
Results
97.0ms146×body1024valid
23.0ms61×body512valid
5.0ms20×body256valid
3.0ms28×body128valid
1.0msbody2048valid
Compiler

Compiled 41 to 33 computations (19.5% saved)

simplify32.0ms (0.1%)

Algorithm
egg-herbie
Rules
49×sub-neg_binary64_1776
44×distribute-rgt-in_binary64_1733
38×cancel-sign-sub-inv_binary64_1749
31×unsub-neg_binary64_1777
27×neg-mul-1_binary64_1779
26×distribute-lft-neg-out_binary64_1742
25×distribute-rgt-neg-in_binary64_1741
24×neg-sub0_binary64_1778 associate--r+_binary64_1719
22×associate-*l*_binary64_1724
18×distribute-neg-in_binary64_1744 distribute-lft-in_binary64_1732 associate-*r*_binary64_1723
17×distribute-rgt-neg-out_binary64_1743 distribute-lft-neg-in_binary64_1740
15×associate-+l-_binary64_1718 *-commutative_binary64_1714
associate--r-_binary64_1722 associate--l+_binary64_1720 +-commutative_binary64_1713
*-rgt-identity_binary64_1773 *-lft-identity_binary64_1772 sub0-neg_binary64_1770
associate-+l+_binary64_1716
remove-double-neg_binary64_1771 mul0-rgt_binary64_1766 mul0-lft_binary64_1765
+-lft-identity_binary64_1767 associate--l-_binary64_1721 associate-+r+_binary64_1715
sin-neg_binary64_1913 +-rgt-identity_binary64_1768
cos-neg_binary64_1914 mul-1-neg_binary64_1775
1-exp_binary64_1827 --rgt-identity_binary64_1769 associate-+r-_binary64_1717
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 log-pow_binary64_1872 log-rec_binary64_1871 log-div_binary64_1870 log-prod_binary64_1869 pow-base-0_binary64_1867 unpow1/3_binary64_1850 unpow3_binary64_1849 unpow2_binary64_1848 unpow1/2_binary64_1847 pow-plus_binary64_1846 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow1_binary64_1841 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 exp-prod_binary64_1835 div-exp_binary64_1834 rec-exp_binary64_1833 prod-exp_binary64_1832 exp-diff_binary64_1831 exp-neg_binary64_1830 exp-sum_binary64_1829 e-exp-1_binary64_1828 exp-1-e_binary64_1826 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-unmult_binary64_1820 cube-mult_binary64_1813 cube-div_binary64_1812 cube-prod_binary64_1811 cube-neg_binary64_1810 rem-3cbrt-rft_binary64_1809 rem-3cbrt-lft_binary64_1808 rem-cbrt-cube_binary64_1807 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 sqr-neg_binary64_1797 rem-sqrt-square_binary64_1796 rem-square-sqrt_binary64_1795 times-frac_binary64_1789 div-sub_binary64_1788 /-rgt-identity_binary64_1774 div0_binary64_1764 *-inverses_binary64_1763 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 pow-sqr_binary64_1756 sqr-pow_binary64_1755 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 difference-of-squares_binary64_1752 unswap-sqr_binary64_1751 swap-sqr_binary64_1750 cancel-sign-sub_binary64_1748 distribute-neg-frac_binary64_1747 distribute-frac-neg_binary64_1746 distribute-neg-out_binary64_1745 distribute-rgt1-in_binary64_1739 distribute-lft1-in_binary64_1738 distribute-rgt-out--_binary64_1737 distribute-rgt-out_binary64_1736 distribute-lft-out--_binary64_1735 distribute-lft-out_binary64_1734 count-2_binary64_1731 associate-/l/_binary64_1730 associate-/r/_binary64_1729 associate-/l*_binary64_1728 associate-/r*_binary64_1727 associate-*l/_binary64_1726 associate-*r/_binary64_1725
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01532
12132
22632
33232
43832
56232
68932
711332
814732
917432
1022332
1121132
1223232
1326132
1426132
1527132
1628432
1729232
1829932
1929832
2027132

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 20 to 14 computations (30% saved)

localize17.0ms (0%)

Local error

Found 4 expressions with local error:

0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
0.4b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
2.1b
(cos.f64 (-.f64 lambda1 lambda2))
2.1b
(sin.f64 (-.f64 lambda1 lambda2))

rewrite95.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
0.9b
Rules
add-cube-cbrt_binary64_1818 cancel-sign-sub-inv_binary64_1749 add-sqr-sqrt_binary64_1805 *-un-lft-identity_binary64_1783 add-log-exp_binary64_1822
sin-sum_binary64_1916 pow1_binary64_1844 add-exp-log_binary64_1821 add-cbrt-cube_binary64_1819 cos-sum_binary64_1917
cos-diff_binary64_1920
sub-neg_binary64_1776 associate-+r+_binary64_1715
sin-diff_binary64_1919 sum-log_binary64_1874 flip3-+_binary64_1786 flip-+_binary64_1757 distribute-rgt-in_binary64_1733 distribute-lft-in_binary64_1732 +-commutative_binary64_1713
Counts
4 → 44
Calls

4 calls:

5.0ms
(sin.f64 (-.f64 lambda1 lambda2))
5.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
0.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
Compiler

Compiled 1356 to 285 computations (79% saved)

series711.0ms (2.1%)

Error
1.1b
Counts
4 → 46
Calls

4 calls:

412.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
132.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
60.0ms
(cos.f64 (-.f64 lambda1 lambda2))
56.0ms
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 2809 to 1408 computations (49.9% saved)

simplify185.0ms (0.5%)

Algorithm
egg-herbie
Rules
487×cancel-sign-sub-inv_binary64_1749
429×distribute-rgt-neg-in_binary64_1741
383×distribute-lft-neg-in_binary64_1740
305×neg-mul-1_binary64_1779
304×sub-neg_binary64_1776
274×associate-*l*_binary64_1724
262×neg-sub0_binary64_1778
257×associate-*r*_binary64_1723
214×distribute-rgt-out_binary64_1736
185×distribute-rgt-in_binary64_1733
163×distribute-lft-in_binary64_1732
148×associate-+l+_binary64_1716
144×*-commutative_binary64_1714
124×associate-+r+_binary64_1715
123×unsub-neg_binary64_1777
108×distribute-lft-out--_binary64_1735 +-commutative_binary64_1713
102×unswap-sqr_binary64_1751
86×associate-+l-_binary64_1718
85×distribute-rgt-out--_binary64_1737
73×sqr-pow_binary64_1755
72×distribute-neg-in_binary64_1744
48×sub0-neg_binary64_1770
45×distribute-lft-neg-out_binary64_1742
42×associate-+r-_binary64_1717
37×associate--l+_binary64_1720
36×distribute-lft-out_binary64_1734
32×+-rgt-identity_binary64_1768
28×unpow3_binary64_1849 distribute-rgt-neg-out_binary64_1743
26×associate--r+_binary64_1719
25×mul0-rgt_binary64_1766 mul0-lft_binary64_1765
23×cube-unmult_binary64_1820
22×pow-plus_binary64_1846
17×cube-prod_binary64_1811
11×pow-sqr_binary64_1756
remove-double-neg_binary64_1771
cube-mult_binary64_1813
exp-sum_binary64_1829 distribute-rgt1-in_binary64_1739
--rgt-identity_binary64_1769
cos-neg_binary64_1914 sin-neg_binary64_1913 unpow2_binary64_1848 rem-sqrt-square_binary64_1796 swap-sqr_binary64_1750 cancel-sign-sub_binary64_1748 distribute-neg-out_binary64_1745
unpow1/2_binary64_1847 unpow1_binary64_1841 exp-prod_binary64_1835 associate--l-_binary64_1721
difference-of-squares_binary64_1752 distribute-lft1-in_binary64_1738
log-prod_binary64_1869 prod-exp_binary64_1832 exp-neg_binary64_1830 1-exp_binary64_1827 cube-neg_binary64_1810 rem-3cbrt-lft_binary64_1808 sqr-neg_binary64_1797 rem-square-sqrt_binary64_1795 *-lft-identity_binary64_1772 +-lft-identity_binary64_1767 associate-/l/_binary64_1730 associate-*r/_binary64_1725 associate--r-_binary64_1722
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 log-pow_binary64_1872 log-rec_binary64_1871 log-div_binary64_1870 pow-base-0_binary64_1867 unpow1/3_binary64_1850 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 div-exp_binary64_1834 rec-exp_binary64_1833 exp-diff_binary64_1831 e-exp-1_binary64_1828 exp-1-e_binary64_1826 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-div_binary64_1812 rem-3cbrt-rft_binary64_1809 rem-cbrt-cube_binary64_1807 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 times-frac_binary64_1789 div-sub_binary64_1788 mul-1-neg_binary64_1775 /-rgt-identity_binary64_1774 *-rgt-identity_binary64_1773 div0_binary64_1764 *-inverses_binary64_1763 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 distribute-neg-frac_binary64_1747 distribute-frac-neg_binary64_1746 count-2_binary64_1731 associate-/r/_binary64_1729 associate-/l*_binary64_1728 associate-/r*_binary64_1727 associate-*l/_binary64_1726
Counts
90 → 58
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01501826
13301696
26921682
317831670
434071670
547701670
649861670
749981670
849131670

prune105.0ms (0.3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New481058
Fresh000
Picked101
Done000
Total491059
Error
0.9b
Counts
59 → 10
Compiler

Compiled 1841 to 397 computations (78.4% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
0.4b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
2.1b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite119.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
add-sqr-sqrt_binary64_1805
add-cube-cbrt_binary64_1818 *-un-lft-identity_binary64_1783
pow1_binary64_1844 add-log-exp_binary64_1822 add-exp-log_binary64_1821 add-cbrt-cube_binary64_1819
cancel-sign-sub-inv_binary64_1749
cos-sum_binary64_1917
cos-diff_binary64_1920 sub-neg_binary64_1776 distribute-rgt-in_binary64_1733 distribute-lft-in_binary64_1732 associate-*l*_binary64_1724 associate-*r*_binary64_1723
associate-+r+_binary64_1715 associate-*r/_binary64_1725
sum-log_binary64_1874 flip3-+_binary64_1786 flip-+_binary64_1757 +-commutative_binary64_1713 pow-prod-down_binary64_1854 prod-exp_binary64_1832 cbrt-unprod_binary64_1816 unswap-sqr_binary64_1751 flip3--_binary64_1787 flip--_binary64_1758 *-commutative_binary64_1714
Counts
4 → 56
Calls

4 calls:

9.0ms
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
5.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
5.0ms
(cos.f64 (-.f64 lambda1 lambda2))
0.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
Compiler

Compiled 2198 to 339 computations (84.6% saved)

series1.4s (4.1%)

Error
0.8b
Counts
4 → 56
Calls

4 calls:

542.0ms
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
495.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
219.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
72.0ms
(cos.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 4501 to 2232 computations (50.4% saved)

simplify158.0ms (0.5%)

Algorithm
egg-herbie
Rules
458×cancel-sign-sub-inv_binary64_1749
425×neg-mul-1_binary64_1779
403×neg-sub0_binary64_1778
318×sub-neg_binary64_1776
240×unsub-neg_binary64_1777
232×distribute-rgt-neg-in_binary64_1741
230×associate-*r*_binary64_1723
207×associate-*l*_binary64_1724
197×distribute-lft-neg-in_binary64_1740
177×distribute-rgt-in_binary64_1733
176×distribute-rgt-neg-out_binary64_1743
154×distribute-lft-in_binary64_1732
137×*-commutative_binary64_1714
126×exp-prod_binary64_1835
119×+-commutative_binary64_1713
103×cancel-sign-sub_binary64_1748
90×sqr-pow_binary64_1755
84×associate-+l+_binary64_1716
75×distribute-lft-neg-out_binary64_1742
68×associate--l+_binary64_1720
57×associate-+r+_binary64_1715
55×*-rgt-identity_binary64_1773 associate-+l-_binary64_1718
53×cube-prod_binary64_1811 associate-+r-_binary64_1717
50×distribute-neg-out_binary64_1745
46×*-lft-identity_binary64_1772
42×+-rgt-identity_binary64_1768
40×distribute-rgt-out--_binary64_1737
35×exp-sum_binary64_1829
31×swap-sqr_binary64_1750 distribute-rgt-out_binary64_1736
28×associate--r+_binary64_1719
27×difference-of-squares_binary64_1752
26×sub0-neg_binary64_1770 unswap-sqr_binary64_1751
18×unpow3_binary64_1849
16×exp-diff_binary64_1831 mul0-rgt_binary64_1766 mul0-lft_binary64_1765
14×distribute-neg-in_binary64_1744
12×log-prod_binary64_1869
11×remove-double-neg_binary64_1771
10×cube-unmult_binary64_1820 cube-mult_binary64_1813 pow-sqr_binary64_1756
div-sub_binary64_1788
unpow1/2_binary64_1847 sqr-neg_binary64_1797 rem-sqrt-square_binary64_1796
cos-neg_binary64_1914 exp-neg_binary64_1830 distribute-rgt1-in_binary64_1739
sin-neg_binary64_1913 unpow2_binary64_1848 unpow1_binary64_1841 cube-neg_binary64_1810 distribute-lft-out_binary64_1734
distribute-lft-out--_binary64_1735
pow-plus_binary64_1846
prod-exp_binary64_1832 1-exp_binary64_1827 exp-1-e_binary64_1826 rem-3cbrt-lft_binary64_1808 rem-square-sqrt_binary64_1795 mul-1-neg_binary64_1775
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 log-pow_binary64_1872 log-rec_binary64_1871 log-div_binary64_1870 pow-base-0_binary64_1867 unpow1/3_binary64_1850 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 div-exp_binary64_1834 rec-exp_binary64_1833 e-exp-1_binary64_1828 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-div_binary64_1812 rem-3cbrt-rft_binary64_1809 rem-cbrt-cube_binary64_1807 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 times-frac_binary64_1789 /-rgt-identity_binary64_1774 --rgt-identity_binary64_1769 +-lft-identity_binary64_1767 div0_binary64_1764 *-inverses_binary64_1763 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 distribute-neg-frac_binary64_1747 distribute-frac-neg_binary64_1746 distribute-lft1-in_binary64_1738 count-2_binary64_1731 associate-/l/_binary64_1730 associate-/r/_binary64_1729 associate-/l*_binary64_1728 associate-/r*_binary64_1727 associate-*l/_binary64_1726 associate-*r/_binary64_1725 associate--r-_binary64_1722 associate--l-_binary64_1721
Counts
112 → 78
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02183156
15642876
216792837
335352837
446252837
551012837

prune126.0ms (0.4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New76278
Fresh369
Picked101
Done000
Total80888
Error
0.1b
Counts
88 → 8
Compiler

Compiled 2838 to 457 computations (83.9% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
0.5b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))

rewrite129.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
12×add-sqr-sqrt_binary64_1805
pow1_binary64_1844 add-exp-log_binary64_1821 add-cbrt-cube_binary64_1819 add-cube-cbrt_binary64_1818 *-un-lft-identity_binary64_1783
add-log-exp_binary64_1822 associate-*l*_binary64_1724 associate-*r*_binary64_1723
distribute-rgt-in_binary64_1733 distribute-lft-in_binary64_1732
associate-+r+_binary64_1715 pow-prod-down_binary64_1854 prod-exp_binary64_1832 cbrt-unprod_binary64_1816 unswap-sqr_binary64_1751 *-commutative_binary64_1714 sub-neg_binary64_1776 cancel-sign-sub-inv_binary64_1749 associate-*r/_binary64_1725
sum-log_binary64_1874 flip3-+_binary64_1786 flip-+_binary64_1757 +-commutative_binary64_1713 sin-mult_binary64_1938 flip3--_binary64_1787 flip--_binary64_1758
Counts
4 → 63
Calls

4 calls:

8.0ms
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
5.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
4.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
0.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
Compiler

Compiled 2921 to 391 computations (86.6% saved)

series2.0s (5.9%)

Error
0.1b
Counts
4 → 57
Calls

4 calls:

983.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
535.0ms
(*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))
271.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
169.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 5746 to 2486 computations (56.7% saved)

simplify153.0ms (0.4%)

Algorithm
egg-herbie
Rules
713×cancel-sign-sub-inv_binary64_1749
605×distribute-rgt-in_binary64_1733
336×distribute-rgt-neg-in_binary64_1741
326×associate-*r*_binary64_1723
295×distribute-lft-neg-in_binary64_1740
276×associate-*l*_binary64_1724
242×neg-sub0_binary64_1778
241×neg-mul-1_binary64_1779
172×*-commutative_binary64_1714
128×sub-neg_binary64_1776
111×exp-prod_binary64_1835
108×unsub-neg_binary64_1777
81×+-commutative_binary64_1713
71×distribute-lft-in_binary64_1732
66×sqr-pow_binary64_1755
64×distribute-rgt-out_binary64_1736
62×distribute-rgt-out--_binary64_1737
55×associate--l+_binary64_1720
50×distribute-lft-neg-out_binary64_1742
44×cube-prod_binary64_1811
43×distribute-neg-in_binary64_1744
39×*-rgt-identity_binary64_1773
27×*-lft-identity_binary64_1772
26×associate--r+_binary64_1719 associate-+l+_binary64_1716
23×exp-sum_binary64_1829
18×log-prod_binary64_1869 unswap-sqr_binary64_1751 distribute-rgt-neg-out_binary64_1743
16×swap-sqr_binary64_1750 distribute-lft-out_binary64_1734
14×unpow3_binary64_1849
12×distribute-lft-out--_binary64_1735 associate-+r+_binary64_1715
cube-mult_binary64_1813
cube-unmult_binary64_1820
unpow1/2_binary64_1847
exp-diff_binary64_1831 difference-of-squares_binary64_1752 distribute-rgt1-in_binary64_1739
unpow2_binary64_1848 unpow1_binary64_1841 rem-sqrt-square_binary64_1796
div-sub_binary64_1788 pow-sqr_binary64_1756
pow-plus_binary64_1846 associate-+r-_binary64_1717
prod-exp_binary64_1832 1-exp_binary64_1827 exp-1-e_binary64_1826 sqr-neg_binary64_1797 mul-1-neg_binary64_1775 +-rgt-identity_binary64_1768 associate-+l-_binary64_1718
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 cos-neg_binary64_1914 sin-neg_binary64_1913 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 log-pow_binary64_1872 log-rec_binary64_1871 log-div_binary64_1870 pow-base-0_binary64_1867 unpow1/3_binary64_1850 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 div-exp_binary64_1834 rec-exp_binary64_1833 exp-neg_binary64_1830 e-exp-1_binary64_1828 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-div_binary64_1812 cube-neg_binary64_1810 rem-3cbrt-rft_binary64_1809 rem-3cbrt-lft_binary64_1808 rem-cbrt-cube_binary64_1807 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 rem-square-sqrt_binary64_1795 times-frac_binary64_1789 /-rgt-identity_binary64_1774 remove-double-neg_binary64_1771 sub0-neg_binary64_1770 --rgt-identity_binary64_1769 +-lft-identity_binary64_1767 mul0-rgt_binary64_1766 mul0-lft_binary64_1765 div0_binary64_1764 *-inverses_binary64_1763 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 cancel-sign-sub_binary64_1748 distribute-neg-frac_binary64_1747 distribute-frac-neg_binary64_1746 distribute-neg-out_binary64_1745 distribute-lft1-in_binary64_1738 count-2_binary64_1731 associate-/l/_binary64_1730 associate-/r/_binary64_1729 associate-/l*_binary64_1728 associate-/r*_binary64_1727 associate-*l/_binary64_1726 associate-*r/_binary64_1725 associate--r-_binary64_1722 associate--l-_binary64_1721
Counts
120 → 99
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02533968
16683610
222493558
345343558
450123558

prune162.0ms (0.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New98199
Fresh167
Picked011
Done000
Total998107
Error
0.1b
Counts
107 → 8
Compiler

Compiled 4329 to 637 computations (85.3% saved)

localize36.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
0.5b
(cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
0.5b
(cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
0.5b
(cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))

rewrite301.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
25×cbrt-prod_binary64_1814
23×add-sqr-sqrt_binary64_1805
18×cbrt-div_binary64_1815
15×add-cube-cbrt_binary64_1818 *-un-lft-identity_binary64_1783
11×pow1_binary64_1844
pow1/3_binary64_1865 flip3-+_binary64_1786 flip-+_binary64_1757
add-exp-log_binary64_1821 swap-sqr_binary64_1750 associate-*l*_binary64_1724 associate-*r*_binary64_1723
add-log-exp_binary64_1822 add-cbrt-cube_binary64_1819 frac-times_binary64_1793 unswap-sqr_binary64_1751
pow-prod-down_binary64_1854 pow-prod-up_binary64_1853 pow-sqr_binary64_1756 associate-*l/_binary64_1726 associate-*r/_binary64_1725
pow2_binary64_1864 pow-plus_binary64_1846 prod-exp_binary64_1832 cbrt-unprod_binary64_1816 *-commutative_binary64_1714
Counts
4 → 87
Calls

4 calls:

11.0ms
(*.f64 (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
3.0ms
(cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
3.0ms
(cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
3.0ms
(cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
Compiler

Compiled 8531 to 523 computations (93.9% saved)

series17.0s (49.3%)

Error
0.1b
Counts
4 → 76
Calls

4 calls:

8.3s
(*.f64 (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))) (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1)))))))
2.8s
(cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
2.8s
(cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
2.8s
(cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (+.f64 (*.f64 (sin.f64 lambda2) (sin.f64 lambda1)) (*.f64 (cos.f64 lambda2) (cos.f64 lambda1))))))
Compiler

Compiled 22631 to 8845 computations (60.9% saved)

simplify382.0ms (1.1%)

Algorithm
egg-herbie
Rules
552×*-commutative_binary64_1714
383×unswap-sqr_binary64_1751
322×cancel-sign-sub-inv_binary64_1749
174×sqr-pow_binary64_1755
169×distribute-neg-in_binary64_1744
167×associate-+r+_binary64_1715
165×sub-neg_binary64_1776
158×+-commutative_binary64_1713
152×distribute-rgt-neg-in_binary64_1741
147×associate-*r*_binary64_1723
111×associate-+l+_binary64_1716
91×log-prod_binary64_1869
70×neg-mul-1_binary64_1779 neg-sub0_binary64_1778
67×distribute-rgt-in_binary64_1733
64×distribute-lft-in_binary64_1732
54×associate--r+_binary64_1719
49×associate--l+_binary64_1720
48×associate-*l*_binary64_1724
34×rem-sqrt-square_binary64_1796
33×unsub-neg_binary64_1777 distribute-rgt-out_binary64_1736
28×unpow1/3_binary64_1850 distribute-lft-neg-out_binary64_1742
26×cube-prod_binary64_1811
25×log-pow_binary64_1872
20×exp-prod_binary64_1835
18×unpow2_binary64_1848
16×unpow3_binary64_1849 unpow1/2_binary64_1847 swap-sqr_binary64_1750
15×unpow1_binary64_1841
14×cube-unmult_binary64_1820
13×distribute-lft-neg-in_binary64_1740 associate-/r*_binary64_1727
12×pow-plus_binary64_1846
cube-mult_binary64_1813 distribute-rgt-neg-out_binary64_1743 distribute-lft-out_binary64_1734
pow-sqr_binary64_1756
rem-3cbrt-lft_binary64_1808 *-rgt-identity_binary64_1773 distribute-rgt-out--_binary64_1737
1-exp_binary64_1827 exp-1-e_binary64_1826 rem-3cbrt-rft_binary64_1809 rem-cbrt-cube_binary64_1807 rem-square-sqrt_binary64_1795 *-lft-identity_binary64_1772 difference-of-squares_binary64_1752 count-2_binary64_1731 associate-+l-_binary64_1718 associate-+r-_binary64_1717
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_2046 erf-erfc_binary64_2045 erf-odd_binary64_2044 if-if-and-not_binary64_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 not-gte_binary64_2035 not-lte_binary64_2034 not-gt_binary64_2033 not-lt_binary64_2032 gte-same_binary64_2031 lte-same_binary64_2030 gt-same_binary64_2029 lt-same_binary64_2028 sinh---cosh_binary64_1975 sinh-+-cosh_binary64_1974 sinh-cosh_binary64_1973 tanh-def-c_binary64_1972 tanh-def-b_binary64_1971 tanh-def-a_binary64_1970 cosh-def_binary64_1969 sinh-def_binary64_1968 tan-neg_binary64_1915 cos-neg_binary64_1914 sin-neg_binary64_1913 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 hang-m-tan_binary64_1909 hang-p-tan_binary64_1908 hang-m0-tan_binary64_1907 hang-p0-tan_binary64_1906 hang-0m-tan_binary64_1905 hang-0p-tan_binary64_1904 tan-+PI/2_binary64_1903 tan-+PI_binary64_1902 tan-PI_binary64_1901 tan-PI/3_binary64_1900 tan-PI/4_binary64_1899 tan-PI/6_binary64_1898 cos-+PI/2_binary64_1897 cos-+PI_binary64_1896 cos-PI_binary64_1895 cos-PI/2_binary64_1894 cos-PI/3_binary64_1893 cos-PI/4_binary64_1892 cos-PI/6_binary64_1891 sin-+PI/2_binary64_1890 sin-+PI_binary64_1889 sin-PI_binary64_1888 sin-PI/2_binary64_1887 sin-PI/3_binary64_1886 sin-PI/4_binary64_1885 sin-PI/6_binary64_1884 sub-1-sin_binary64_1883 sub-1-cos_binary64_1882 -1-add-sin_binary64_1881 -1-add-cos_binary64_1880 1-sub-sin_binary64_1879 1-sub-cos_binary64_1878 cos-sin-sum_binary64_1877 log-E_binary64_1873 log-rec_binary64_1871 log-div_binary64_1870 pow-base-0_binary64_1867 exp-to-pow_binary64_1845 pow-base-1_binary64_1843 unpow0_binary64_1842 unpow-1_binary64_1840 exp-lft-cube_binary64_1839 exp-lft-sqr_binary64_1838 exp-cbrt_binary64_1837 exp-sqrt_binary64_1836 div-exp_binary64_1834 rec-exp_binary64_1833 prod-exp_binary64_1832 exp-diff_binary64_1831 exp-neg_binary64_1830 exp-sum_binary64_1829 e-exp-1_binary64_1828 exp-0_binary64_1825 rem-log-exp_binary64_1824 rem-exp-log_binary64_1823 cube-div_binary64_1812 cube-neg_binary64_1810 rem-cube-cbrt_binary64_1806 sqr-abs_binary64_1798 sqr-neg_binary64_1797 times-frac_binary64_1789 div-sub_binary64_1788 mul-1-neg_binary64_1775 /-rgt-identity_binary64_1774 remove-double-neg_binary64_1771 sub0-neg_binary64_1770 --rgt-identity_binary64_1769 +-rgt-identity_binary64_1768 +-lft-identity_binary64_1767 mul0-rgt_binary64_1766 mul0-lft_binary64_1765 div0_binary64_1764 *-inverses_binary64_1763 +-inverses_binary64_1762 lft-mult-inverse_binary64_1761 rgt-mult-inverse_binary64_1760 remove-double-div_binary64_1759 difference-of-sqr--1_binary64_1754 difference-of-sqr-1_binary64_1753 cancel-sign-sub_binary64_1748 distribute-neg-frac_binary64_1747 distribute-frac-neg_binary64_1746 distribute-neg-out_binary64_1745 distribute-rgt1-in_binary64_1739 distribute-lft1-in_binary64_1738 distribute-lft-out--_binary64_1735 associate-/l/_binary64_1730 associate-/r/_binary64_1729 associate-/l*_binary64_1728 associate-*l/_binary64_1726 associate-*r/_binary64_1725 associate--r-_binary64_1722 associate--l-_binary64_1721
Counts
163 → 150
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
047411950
1139310921
2308910779
3489010745
4495710745
5497710745

prune447.0ms (1.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1491150
Fresh066
Picked011
Done101
Total1508158
Error
0.1b
Counts
158 → 8
Compiler

Compiled 14134 to 2014 computations (85.8% saved)

regimes1.8s (5.1%)

Accuracy

Total 0.2b remaining (67.4%)

Threshold costs 0.2b (67.4%)

Compiler

Compiled 24703 to 12771 computations (48.3% saved)

bsearch0.0ms (0%)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_1714
+-commutative_binary64_1713
sub-neg_binary64_1776
neg-mul-1_binary64_1779 neg-sub0_binary64_1778
cancel-sign-sub-inv_binary64_1749 distribute-rgt-neg-in_binary64_1741
distribute-lft-neg-out_binary64_1742 distribute-lft-neg-in_binary64_1740
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_2043 if-if-and_binary64_2042 if-if-or-not_binary64_2041 if-if-or_binary64_2040 if-not_binary64_2039 if-same_binary64_2038 if-false_binary64_2037 if-true_binary64_2036 tan-0_binary64_1912 cos-0_binary64_1911 sin-0_binary64_1910 unpow1_binary64_1841 e-exp-1_binary64_1828 1-exp_binary64_1827 exp-1-e_binary64_1826 exp-0_binary64_1825 sqr-abs_binary64_1798 sqr-neg_binary64_1797 unsub-neg_binary64_1777 mul-1-neg_binary64_1775 /-rgt-identity_binary64_1774 *-rgt-identity_binary64_1773 *-lft-identity_binary64_1772 remove-double-neg_binary64_1771 sub0-neg_binary64_1770 --rgt-identity_binary64_1769 +-rgt-identity_binary64_1768 +-lft-identity_binary64_1767 cancel-sign-sub_binary64_1748 distribute-neg-frac_binary64_1747 distribute-frac-neg_binary64_1746 distribute-neg-out_binary64_1745 distribute-neg-in_binary64_1744 distribute-rgt-neg-out_binary64_1743
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02256
13656
24656
35256
45656
55756
65756

end0.0ms (0%)

sample6.7s (19.3%)

Algorithm
intervals
Results
2.8s4467×body1024valid
703.0ms1742×body512valid
187.0ms754×body256valid
125.0ms89×body2048valid
113.0ms948×body128valid
Compiler

Compiled 3576 to 1853 computations (48.2% saved)

Profiling

Loading profile data...