Details

Time bar (total: 11.9s)

analyze1.1s (9.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
13.2%86.5%0.2%11
16.8%83%0.2%12
22.7%77.1%0.2%13
24.1%74.7%1.3%14
Compiler

Compiled 10 to 10 computations (0% saved)

sample27.0ms (0.2%)

Algorithm
intervals
Results
8.0ms256×body128valid
2.0ms77×body128invalid
Compiler

Compiled 19 to 24 computations (-26.3% saved)

simplify1.4s (11.4%)

Algorithm
egg-herbie
Rules
954×exp-prod_binary64_16839
887×swap-sqr_binary64_16754
311×distribute-rgt-out_binary64_16740
304×associate-/l*_binary64_16732
281×associate-*r*_binary64_16727
278×associate-*l*_binary64_16728
269×sub-neg_binary64_16780
237×distribute-rgt-out--_binary64_16741
225×distribute-lft-out_binary64_16738
207×distribute-lft-out--_binary64_16739
165×cancel-sign-sub-inv_binary64_16753
128×associate-/l/_binary64_16734
67×unsub-neg_binary64_16781
66×div-sub_binary64_16792
62×associate-*l/_binary64_16730
60×times-frac_binary64_16793
57×distribute-rgt-in_binary64_16737
53×associate-/r*_binary64_16731
51×associate-*r/_binary64_16729
45×neg-mul-1_binary64_16783
42×neg-sub0_binary64_16782
33×distribute-rgt-neg-in_binary64_16745
31×distribute-lft-neg-in_binary64_16744
28×distribute-lft-in_binary64_16736
27×associate-/r/_binary64_16733
26×distribute-neg-in_binary64_16748
23×*-commutative_binary64_16718
21×associate--r+_binary64_16723
20×+-commutative_binary64_16717
15×+-inverses_binary64_16766 distribute-rgt1-in_binary64_16743 associate-+l-_binary64_16722
13×distribute-lft-neg-out_binary64_16746
12×distribute-neg-frac_binary64_16751 distribute-rgt-neg-out_binary64_16747 associate-+l+_binary64_16720 associate-+r+_binary64_16719
11×associate-+r-_binary64_16721
10×sub0-neg_binary64_16774
unswap-sqr_binary64_16755 distribute-frac-neg_binary64_16750
remove-double-neg_binary64_16775 +-rgt-identity_binary64_16772 mul0-lft_binary64_16769
cube-unmult_binary64_16824 mul0-rgt_binary64_16770 difference-of-squares_binary64_16756
associate--l+_binary64_16724
+-lft-identity_binary64_16771 distribute-lft1-in_binary64_16742 count-2_binary64_16735
--rgt-identity_binary64_16773 div0_binary64_16768 associate--r-_binary64_16726
associate--l-_binary64_16725
exp-lft-sqr_binary64_16842 exp-diff_binary64_16835 exp-sum_binary64_16833 1-exp_binary64_16831 sqr-neg_binary64_16801 mul-1-neg_binary64_16779
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_17050 erf-erfc_binary64_17049 erf-odd_binary64_17048 if-if-and-not_binary64_17047 if-if-and_binary64_17046 if-if-or-not_binary64_17045 if-if-or_binary64_17044 if-not_binary64_17043 if-same_binary64_17042 if-false_binary64_17041 if-true_binary64_17040 not-gte_binary64_17039 not-lte_binary64_17038 not-gt_binary64_17037 not-lt_binary64_17036 gte-same_binary64_17035 lte-same_binary64_17034 gt-same_binary64_17033 lt-same_binary64_17032 sinh---cosh_binary64_16979 sinh-+-cosh_binary64_16978 sinh-cosh_binary64_16977 tanh-def-c_binary64_16976 tanh-def-b_binary64_16975 tanh-def-a_binary64_16974 cosh-def_binary64_16973 sinh-def_binary64_16972 tan-neg_binary64_16919 cos-neg_binary64_16918 sin-neg_binary64_16917 tan-0_binary64_16916 cos-0_binary64_16915 sin-0_binary64_16914 hang-m-tan_binary64_16913 hang-p-tan_binary64_16912 hang-m0-tan_binary64_16911 hang-p0-tan_binary64_16910 hang-0m-tan_binary64_16909 hang-0p-tan_binary64_16908 tan-+PI/2_binary64_16907 tan-+PI_binary64_16906 tan-PI_binary64_16905 tan-PI/3_binary64_16904 tan-PI/4_binary64_16903 tan-PI/6_binary64_16902 cos-+PI/2_binary64_16901 cos-+PI_binary64_16900 cos-PI_binary64_16899 cos-PI/2_binary64_16898 cos-PI/3_binary64_16897 cos-PI/4_binary64_16896 cos-PI/6_binary64_16895 sin-+PI/2_binary64_16894 sin-+PI_binary64_16893 sin-PI_binary64_16892 sin-PI/2_binary64_16891 sin-PI/3_binary64_16890 sin-PI/4_binary64_16889 sin-PI/6_binary64_16888 sub-1-sin_binary64_16887 sub-1-cos_binary64_16886 -1-add-sin_binary64_16885 -1-add-cos_binary64_16884 1-sub-sin_binary64_16883 1-sub-cos_binary64_16882 cos-sin-sum_binary64_16881 log-E_binary64_16877 log-pow_binary64_16876 log-rec_binary64_16875 log-div_binary64_16874 log-prod_binary64_16873 pow-base-0_binary64_16871 unpow1/3_binary64_16854 unpow3_binary64_16853 unpow2_binary64_16852 unpow1/2_binary64_16851 pow-plus_binary64_16850 exp-to-pow_binary64_16849 pow-base-1_binary64_16847 unpow0_binary64_16846 unpow1_binary64_16845 unpow-1_binary64_16844 exp-lft-cube_binary64_16843 exp-cbrt_binary64_16841 exp-sqrt_binary64_16840 div-exp_binary64_16838 rec-exp_binary64_16837 prod-exp_binary64_16836 exp-neg_binary64_16834 e-exp-1_binary64_16832 exp-1-e_binary64_16830 exp-0_binary64_16829 rem-log-exp_binary64_16828 rem-exp-log_binary64_16827 cube-mult_binary64_16817 cube-div_binary64_16816 cube-prod_binary64_16815 cube-neg_binary64_16814 rem-3cbrt-rft_binary64_16813 rem-3cbrt-lft_binary64_16812 rem-cbrt-cube_binary64_16811 rem-cube-cbrt_binary64_16810 sqr-abs_binary64_16802 rem-sqrt-square_binary64_16800 rem-square-sqrt_binary64_16799 /-rgt-identity_binary64_16778 *-rgt-identity_binary64_16777 *-lft-identity_binary64_16776 *-inverses_binary64_16767 lft-mult-inverse_binary64_16765 rgt-mult-inverse_binary64_16764 remove-double-div_binary64_16763 pow-sqr_binary64_16760 sqr-pow_binary64_16759 difference-of-sqr--1_binary64_16758 difference-of-sqr-1_binary64_16757 cancel-sign-sub_binary64_16752 distribute-neg-out_binary64_16749
Counts
1 → 5
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11613
23113
36013
411913
518713
640413
7276013

prune15.0ms (0.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New235
Fresh011
Picked000
Done000
Total246
Error
0.0b
Counts
6 → 4
Compiler

Compiled 81 to 56 computations (30.9% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 x (*.f64 (/.f64 y a) (-.f64 z t)))
6.3b
(*.f64 (/.f64 y a) (-.f64 z t))

rewrite78.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
21×add-sqr-sqrt_binary64_16809
16×*-un-lft-identity_binary64_16787
14×add-cube-cbrt_binary64_16822
13×associate-*l*_binary64_16728
12×cancel-sign-sub-inv_binary64_16753
10×times-frac_binary64_16793
distribute-rgt-in_binary64_16737 distribute-lft-in_binary64_16736 associate-+r+_binary64_16719
add-exp-log_binary64_16825 add-cbrt-cube_binary64_16823
associate-*r*_binary64_16727
pow1_binary64_16848 add-log-exp_binary64_16826 sub-neg_binary64_16780
prod-exp_binary64_16836 cbrt-unprod_binary64_16820 flip3--_binary64_16791 frac-times_binary64_16797 flip--_binary64_16762 unswap-sqr_binary64_16755 associate-*r/_binary64_16729
pow-prod-down_binary64_16858 div-exp_binary64_16838 cbrt-undiv_binary64_16821 associate-*l/_binary64_16730 div-inv_binary64_16784 difference-of-squares_binary64_16756 distribute-lft-out--_binary64_16739 *-commutative_binary64_16718 sum-log_binary64_16878 flip3-+_binary64_16790 flip-+_binary64_16761 +-commutative_binary64_16717
Counts
2 → 65
Calls

2 calls:

10.0ms
(*.f64 (/.f64 y a) (-.f64 z t))
4.0ms
(+.f64 x (*.f64 (/.f64 y a) (-.f64 z t)))
Compiler

Compiled 1137 to 288 computations (74.7% saved)

series865.0ms (7.3%)

Error
0.0b
Counts
2 → 48
Calls

2 calls:

514.0ms
(+.f64 x (*.f64 (/.f64 y a) (-.f64 z t)))
324.0ms
(*.f64 (/.f64 y a) (-.f64 z t))
Compiler

Compiled 1261 to 792 computations (37.2% saved)

simplify277.0ms (2.3%)

Algorithm
egg-herbie
Rules
494×times-frac_binary64_16793
482×distribute-rgt-in_binary64_16737
469×distribute-lft-in_binary64_16736
402×associate-*l/_binary64_16730
337×associate-*r/_binary64_16729
257×associate-/l*_binary64_16732
231×*-commutative_binary64_16718
161×exp-prod_binary64_16839
99×associate-*l*_binary64_16728
92×associate-*r*_binary64_16727
82×exp-sum_binary64_16833 distribute-lft-neg-out_binary64_16746
79×distribute-rgt-neg-in_binary64_16745
75×cancel-sign-sub-inv_binary64_16753
69×distribute-rgt-neg-out_binary64_16747
57×associate-/r*_binary64_16731
55×sub-neg_binary64_16780
51×associate-+l+_binary64_16720
50×distribute-lft-neg-in_binary64_16744
45×associate-+r+_binary64_16719
43×neg-sub0_binary64_16782
42×associate-/r/_binary64_16733
41×+-commutative_binary64_16717
40×cube-prod_binary64_16815
38×distribute-neg-frac_binary64_16751
36×neg-mul-1_binary64_16783
34×exp-diff_binary64_16835
31×log-prod_binary64_16873 sqr-pow_binary64_16759
26×distribute-neg-in_binary64_16748
24×associate-+l-_binary64_16722
23×cube-div_binary64_16816 associate-+r-_binary64_16721
22×log-div_binary64_16874 div-sub_binary64_16792
18×associate--r+_binary64_16723
17×distribute-rgt-out_binary64_16740
15×*-rgt-identity_binary64_16777 associate-/l/_binary64_16734
14×*-lft-identity_binary64_16776
13×unpow3_binary64_16853 swap-sqr_binary64_16754
12×sqr-neg_binary64_16801
11×exp-neg_binary64_16834 pow-sqr_binary64_16760 unswap-sqr_binary64_16755 associate--l+_binary64_16724
10×distribute-rgt-out--_binary64_16741
cube-mult_binary64_16817 unsub-neg_binary64_16781
cube-neg_binary64_16814 mul-1-neg_binary64_16779
log-rec_binary64_16875 cube-unmult_binary64_16824
prod-exp_binary64_16836 difference-of-squares_binary64_16756 distribute-lft-out_binary64_16738
remove-double-neg_binary64_16775 cancel-sign-sub_binary64_16752 associate--r-_binary64_16726
pow-base-1_binary64_16847 distribute-frac-neg_binary64_16750 distribute-lft-out--_binary64_16739 associate--l-_binary64_16725
log-pow_binary64_16876 pow-plus_binary64_16850 1-exp_binary64_16831 exp-1-e_binary64_16830 rem-log-exp_binary64_16828 rem-3cbrt-lft_binary64_16812 rem-sqrt-square_binary64_16800 rem-square-sqrt_binary64_16799 /-rgt-identity_binary64_16778 +-rgt-identity_binary64_16772
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_17050 erf-erfc_binary64_17049 erf-odd_binary64_17048 if-if-and-not_binary64_17047 if-if-and_binary64_17046 if-if-or-not_binary64_17045 if-if-or_binary64_17044 if-not_binary64_17043 if-same_binary64_17042 if-false_binary64_17041 if-true_binary64_17040 not-gte_binary64_17039 not-lte_binary64_17038 not-gt_binary64_17037 not-lt_binary64_17036 gte-same_binary64_17035 lte-same_binary64_17034 gt-same_binary64_17033 lt-same_binary64_17032 sinh---cosh_binary64_16979 sinh-+-cosh_binary64_16978 sinh-cosh_binary64_16977 tanh-def-c_binary64_16976 tanh-def-b_binary64_16975 tanh-def-a_binary64_16974 cosh-def_binary64_16973 sinh-def_binary64_16972 tan-neg_binary64_16919 cos-neg_binary64_16918 sin-neg_binary64_16917 tan-0_binary64_16916 cos-0_binary64_16915 sin-0_binary64_16914 hang-m-tan_binary64_16913 hang-p-tan_binary64_16912 hang-m0-tan_binary64_16911 hang-p0-tan_binary64_16910 hang-0m-tan_binary64_16909 hang-0p-tan_binary64_16908 tan-+PI/2_binary64_16907 tan-+PI_binary64_16906 tan-PI_binary64_16905 tan-PI/3_binary64_16904 tan-PI/4_binary64_16903 tan-PI/6_binary64_16902 cos-+PI/2_binary64_16901 cos-+PI_binary64_16900 cos-PI_binary64_16899 cos-PI/2_binary64_16898 cos-PI/3_binary64_16897 cos-PI/4_binary64_16896 cos-PI/6_binary64_16895 sin-+PI/2_binary64_16894 sin-+PI_binary64_16893 sin-PI_binary64_16892 sin-PI/2_binary64_16891 sin-PI/3_binary64_16890 sin-PI/4_binary64_16889 sin-PI/6_binary64_16888 sub-1-sin_binary64_16887 sub-1-cos_binary64_16886 -1-add-sin_binary64_16885 -1-add-cos_binary64_16884 1-sub-sin_binary64_16883 1-sub-cos_binary64_16882 cos-sin-sum_binary64_16881 log-E_binary64_16877 pow-base-0_binary64_16871 unpow1/3_binary64_16854 unpow2_binary64_16852 unpow1/2_binary64_16851 exp-to-pow_binary64_16849 unpow0_binary64_16846 unpow1_binary64_16845 unpow-1_binary64_16844 exp-lft-cube_binary64_16843 exp-lft-sqr_binary64_16842 exp-cbrt_binary64_16841 exp-sqrt_binary64_16840 div-exp_binary64_16838 rec-exp_binary64_16837 e-exp-1_binary64_16832 exp-0_binary64_16829 rem-exp-log_binary64_16827 rem-3cbrt-rft_binary64_16813 rem-cbrt-cube_binary64_16811 rem-cube-cbrt_binary64_16810 sqr-abs_binary64_16802 sub0-neg_binary64_16774 --rgt-identity_binary64_16773 +-lft-identity_binary64_16771 mul0-rgt_binary64_16770 mul0-lft_binary64_16769 div0_binary64_16768 *-inverses_binary64_16767 +-inverses_binary64_16766 lft-mult-inverse_binary64_16765 rgt-mult-inverse_binary64_16764 remove-double-div_binary64_16763 difference-of-sqr--1_binary64_16758 difference-of-sqr-1_binary64_16757 distribute-neg-out_binary64_16749 distribute-rgt1-in_binary64_16743 distribute-lft1-in_binary64_16742 count-2_binary64_16735
Counts
113 → 229
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01551533
14261413
212851413
345861413

prune177.0ms (1.5%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2263229
Fresh033
Picked011
Done000
Total2267233
Error
0b
Counts
233 → 7
Compiler

Compiled 3582 to 495 computations (86.2% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.9b
(*.f64 (*.f64 (cbrt.f64 (/.f64 y a)) (cbrt.f64 (/.f64 y a))) (*.f64 (-.f64 z t) (cbrt.f64 (/.f64 y a))))
11.2b
(cbrt.f64 (/.f64 y a))
11.2b
(cbrt.f64 (/.f64 y a))
11.2b
(cbrt.f64 (/.f64 y a))

rewrite170.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
39×cbrt-div_binary64_16819 cbrt-prod_binary64_16818
29×frac-times_binary64_16797
27×times-frac_binary64_16793
25×add-cube-cbrt_binary64_16822 add-sqr-sqrt_binary64_16809 *-un-lft-identity_binary64_16787
17×associate-*l/_binary64_16730
16×pow1_binary64_16848 add-exp-log_binary64_16825
15×associate-*r/_binary64_16729
10×add-cbrt-cube_binary64_16823
pow-prod-down_binary64_16858 prod-exp_binary64_16836 cbrt-unprod_binary64_16820 flip3--_binary64_16791 flip--_binary64_16762
add-log-exp_binary64_16826
pow1/3_binary64_16869 div-inv_binary64_16784
associate-*l*_binary64_16728 associate-*r*_binary64_16727 *-commutative_binary64_16718
Counts
4 → 111
Calls

4 calls:

18.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 y a)) (cbrt.f64 (/.f64 y a))) (*.f64 (-.f64 z t) (cbrt.f64 (/.f64 y a))))
2.0ms
(cbrt.f64 (/.f64 y a))
2.0ms
(cbrt.f64 (/.f64 y a))
2.0ms
(cbrt.f64 (/.f64 y a))
Compiler

Compiled 3130 to 579 computations (81.5% saved)

series1.3s (11.2%)

Error
0b
Counts
4 → 36
Calls

4 calls:

388.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 y a)) (cbrt.f64 (/.f64 y a))) (*.f64 (-.f64 z t) (cbrt.f64 (/.f64 y a))))
311.0ms
(cbrt.f64 (/.f64 y a))
302.0ms
(cbrt.f64 (/.f64 y a))
293.0ms
(cbrt.f64 (/.f64 y a))
Compiler

Compiled 2037 to 1369 computations (32.8% saved)

simplify320.0ms (2.7%)

Algorithm
egg-herbie
Rules
487×distribute-rgt-in_binary64_16737
484×distribute-lft-in_binary64_16736
424×associate-/l*_binary64_16732
396×times-frac_binary64_16793
203×associate-*l*_binary64_16728
183×associate-*r*_binary64_16727
85×*-commutative_binary64_16718
79×cancel-sign-sub-inv_binary64_16753
59×associate-/r/_binary64_16733
56×distribute-rgt-neg-in_binary64_16745
53×distribute-lft-neg-in_binary64_16744
40×associate-/l/_binary64_16734 associate-*l/_binary64_16730
39×associate-/r*_binary64_16731
35×sub-neg_binary64_16780
33×exp-prod_binary64_16839 sqr-pow_binary64_16759
30×distribute-lft-neg-out_binary64_16746
28×log-prod_binary64_16873
27×div-sub_binary64_16792
26×distribute-rgt-neg-out_binary64_16747
23×unswap-sqr_binary64_16755 associate-*r/_binary64_16729
22×log-div_binary64_16874 exp-sum_binary64_16833
21×neg-sub0_binary64_16782
19×neg-mul-1_binary64_16783
17×+-commutative_binary64_16717
16×distribute-frac-neg_binary64_16750
13×swap-sqr_binary64_16754
11×exp-diff_binary64_16835 mul-1-neg_binary64_16779 pow-sqr_binary64_16760 distribute-neg-frac_binary64_16751
cube-unmult_binary64_16824 unsub-neg_binary64_16781
cube-prod_binary64_16815
distribute-neg-in_binary64_16748 distribute-rgt-out_binary64_16740
*-rgt-identity_binary64_16777 distribute-neg-out_binary64_16749 associate-+l+_binary64_16720 associate-+r+_binary64_16719
log-rec_binary64_16875 cube-div_binary64_16816 distribute-rgt-out--_binary64_16741
log-pow_binary64_16876 /-rgt-identity_binary64_16778 remove-double-neg_binary64_16775
unpow1/3_binary64_16854 unpow3_binary64_16853 exp-to-pow_binary64_16849 cube-mult_binary64_16817 rem-3cbrt-lft_binary64_16812 difference-of-squares_binary64_16756 distribute-lft-out--_binary64_16739 associate-+l-_binary64_16722
exp-neg_binary64_16834 distribute-lft-out_binary64_16738 count-2_binary64_16735 associate--r-_binary64_16726 associate--l-_binary64_16725 associate-+r-_binary64_16721
pow-plus_binary64_16850 div-exp_binary64_16838 rec-exp_binary64_16837 1-exp_binary64_16831 rem-log-exp_binary64_16828 rem-3cbrt-rft_binary64_16813 rem-cube-cbrt_binary64_16810 *-lft-identity_binary64_16776 sub0-neg_binary64_16774 --rgt-identity_binary64_16773 +-rgt-identity_binary64_16772 distribute-rgt1-in_binary64_16743 distribute-lft1-in_binary64_16742
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_17050 erf-erfc_binary64_17049 erf-odd_binary64_17048 if-if-and-not_binary64_17047 if-if-and_binary64_17046 if-if-or-not_binary64_17045 if-if-or_binary64_17044 if-not_binary64_17043 if-same_binary64_17042 if-false_binary64_17041 if-true_binary64_17040 not-gte_binary64_17039 not-lte_binary64_17038 not-gt_binary64_17037 not-lt_binary64_17036 gte-same_binary64_17035 lte-same_binary64_17034 gt-same_binary64_17033 lt-same_binary64_17032 sinh---cosh_binary64_16979 sinh-+-cosh_binary64_16978 sinh-cosh_binary64_16977 tanh-def-c_binary64_16976 tanh-def-b_binary64_16975 tanh-def-a_binary64_16974 cosh-def_binary64_16973 sinh-def_binary64_16972 tan-neg_binary64_16919 cos-neg_binary64_16918 sin-neg_binary64_16917 tan-0_binary64_16916 cos-0_binary64_16915 sin-0_binary64_16914 hang-m-tan_binary64_16913 hang-p-tan_binary64_16912 hang-m0-tan_binary64_16911 hang-p0-tan_binary64_16910 hang-0m-tan_binary64_16909 hang-0p-tan_binary64_16908 tan-+PI/2_binary64_16907 tan-+PI_binary64_16906 tan-PI_binary64_16905 tan-PI/3_binary64_16904 tan-PI/4_binary64_16903 tan-PI/6_binary64_16902 cos-+PI/2_binary64_16901 cos-+PI_binary64_16900 cos-PI_binary64_16899 cos-PI/2_binary64_16898 cos-PI/3_binary64_16897 cos-PI/4_binary64_16896 cos-PI/6_binary64_16895 sin-+PI/2_binary64_16894 sin-+PI_binary64_16893 sin-PI_binary64_16892 sin-PI/2_binary64_16891 sin-PI/3_binary64_16890 sin-PI/4_binary64_16889 sin-PI/6_binary64_16888 sub-1-sin_binary64_16887 sub-1-cos_binary64_16886 -1-add-sin_binary64_16885 -1-add-cos_binary64_16884 1-sub-sin_binary64_16883 1-sub-cos_binary64_16882 cos-sin-sum_binary64_16881 log-E_binary64_16877 pow-base-0_binary64_16871 unpow2_binary64_16852 unpow1/2_binary64_16851 pow-base-1_binary64_16847 unpow0_binary64_16846 unpow1_binary64_16845 unpow-1_binary64_16844 exp-lft-cube_binary64_16843 exp-lft-sqr_binary64_16842 exp-cbrt_binary64_16841 exp-sqrt_binary64_16840 prod-exp_binary64_16836 e-exp-1_binary64_16832 exp-1-e_binary64_16830 exp-0_binary64_16829 rem-exp-log_binary64_16827 cube-neg_binary64_16814 rem-cbrt-cube_binary64_16811 sqr-abs_binary64_16802 sqr-neg_binary64_16801 rem-sqrt-square_binary64_16800 rem-square-sqrt_binary64_16799 +-lft-identity_binary64_16771 mul0-rgt_binary64_16770 mul0-lft_binary64_16769 div0_binary64_16768 *-inverses_binary64_16767 +-inverses_binary64_16766 lft-mult-inverse_binary64_16765 rgt-mult-inverse_binary64_16764 remove-double-div_binary64_16763 difference-of-sqr--1_binary64_16758 difference-of-sqr-1_binary64_16757 cancel-sign-sub_binary64_16752 associate--l+_binary64_16724 associate--r+_binary64_16723
Counts
147 → 246
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01942973
14762445
214592385

prune248.0ms (2.1%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2451246
Fresh145
Picked011
Done011
Total2467253
Error
0b
Counts
253 → 7
Compiler

Compiled 5915 to 1090 computations (81.6% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 x (/.f64 (-.f64 z t) (/.f64 a y)))
6.3b
(/.f64 (-.f64 z t) (/.f64 a y))

rewrite156.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
119×times-frac_binary64_16793
88×*-un-lft-identity_binary64_16787
86×add-sqr-sqrt_binary64_16809
58×add-cube-cbrt_binary64_16822
14×difference-of-squares_binary64_16756 distribute-lft-out--_binary64_16739
13×associate-/r*_binary64_16731
add-exp-log_binary64_16825 add-cbrt-cube_binary64_16823 div-inv_binary64_16784
associate-/l*_binary64_16732
add-log-exp_binary64_16826
div-exp_binary64_16838 cbrt-undiv_binary64_16821
pow1_binary64_16848 div-sub_binary64_16792 associate-/l/_binary64_16734
frac-2neg_binary64_16798 clear-num_binary64_16786 flip3--_binary64_16791 flip--_binary64_16762 associate-/r/_binary64_16733 sum-log_binary64_16878 flip3-+_binary64_16790 flip-+_binary64_16761 distribute-lft-out_binary64_16738 associate-+r-_binary64_16721 +-commutative_binary64_16717
Counts
2 → 114
Calls

2 calls:

21.0ms
(+.f64 x (/.f64 (-.f64 z t) (/.f64 a y)))
9.0ms
(/.f64 (-.f64 z t) (/.f64 a y))
Compiler

Compiled 2282 to 561 computations (75.4% saved)

series834.0ms (7%)

Error
0b
Counts
2 → 48
Calls

2 calls:

506.0ms
(+.f64 x (/.f64 (-.f64 z t) (/.f64 a y)))
301.0ms
(/.f64 (-.f64 z t) (/.f64 a y))
Compiler

Compiled 1261 to 792 computations (37.2% saved)

simplify341.0ms (2.9%)

Algorithm
egg-herbie
Rules
574×associate-/r/_binary64_16733
438×associate-*r*_binary64_16727
364×distribute-lft-in_binary64_16736
362×distribute-rgt-in_binary64_16737
319×associate-/r*_binary64_16731
166×div-sub_binary64_16792
136×associate-/l/_binary64_16734 associate-/l*_binary64_16732
119×*-commutative_binary64_16718
115×associate-*l/_binary64_16730
98×cancel-sign-sub-inv_binary64_16753
84×sub-neg_binary64_16780
81×distribute-rgt-neg-in_binary64_16745
75×distribute-neg-frac_binary64_16751
73×associate-*r/_binary64_16729
71×distribute-lft-neg-in_binary64_16744
62×neg-sub0_binary64_16782
58×neg-mul-1_binary64_16783
47×times-frac_binary64_16793
45×associate-+l+_binary64_16720
39×associate-*l*_binary64_16728
36×/-rgt-identity_binary64_16778
34×distribute-lft-neg-out_binary64_16746
30×*-rgt-identity_binary64_16777
28×distribute-rgt-out_binary64_16740
26×distribute-neg-in_binary64_16748 +-commutative_binary64_16717
21×associate-+l-_binary64_16722
20×sqr-pow_binary64_16759 distribute-rgt-neg-out_binary64_16747
18×distribute-rgt-out--_binary64_16741 associate-+r-_binary64_16721
17×prod-exp_binary64_16836 associate--r+_binary64_16723
16×log-div_binary64_16874 div-exp_binary64_16838
15×cube-div_binary64_16816
13×unswap-sqr_binary64_16755
11×exp-prod_binary64_16839 associate--l+_binary64_16724
log-prod_binary64_16873 exp-sum_binary64_16833
cube-prod_binary64_16815
mul-1-neg_binary64_16779 pow-sqr_binary64_16760 associate--r-_binary64_16726
unpow3_binary64_16853 *-lft-identity_binary64_16776
exp-diff_binary64_16835 swap-sqr_binary64_16754
rec-exp_binary64_16837 cube-unmult_binary64_16824 cube-mult_binary64_16817 distribute-lft-out_binary64_16738 associate--l-_binary64_16725
remove-double-neg_binary64_16775 remove-double-div_binary64_16763
unsub-neg_binary64_16781 distribute-lft-out--_binary64_16739 associate-+r+_binary64_16719
log-pow_binary64_16876 log-rec_binary64_16875 pow-plus_binary64_16850 1-exp_binary64_16831 rem-log-exp_binary64_16828 difference-of-squares_binary64_16756 count-2_binary64_16735
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_17050 erf-erfc_binary64_17049 erf-odd_binary64_17048 if-if-and-not_binary64_17047 if-if-and_binary64_17046 if-if-or-not_binary64_17045 if-if-or_binary64_17044 if-not_binary64_17043 if-same_binary64_17042 if-false_binary64_17041 if-true_binary64_17040 not-gte_binary64_17039 not-lte_binary64_17038 not-gt_binary64_17037 not-lt_binary64_17036 gte-same_binary64_17035 lte-same_binary64_17034 gt-same_binary64_17033 lt-same_binary64_17032 sinh---cosh_binary64_16979 sinh-+-cosh_binary64_16978 sinh-cosh_binary64_16977 tanh-def-c_binary64_16976 tanh-def-b_binary64_16975 tanh-def-a_binary64_16974 cosh-def_binary64_16973 sinh-def_binary64_16972 tan-neg_binary64_16919 cos-neg_binary64_16918 sin-neg_binary64_16917 tan-0_binary64_16916 cos-0_binary64_16915 sin-0_binary64_16914 hang-m-tan_binary64_16913 hang-p-tan_binary64_16912 hang-m0-tan_binary64_16911 hang-p0-tan_binary64_16910 hang-0m-tan_binary64_16909 hang-0p-tan_binary64_16908 tan-+PI/2_binary64_16907 tan-+PI_binary64_16906 tan-PI_binary64_16905 tan-PI/3_binary64_16904 tan-PI/4_binary64_16903 tan-PI/6_binary64_16902 cos-+PI/2_binary64_16901 cos-+PI_binary64_16900 cos-PI_binary64_16899 cos-PI/2_binary64_16898 cos-PI/3_binary64_16897 cos-PI/4_binary64_16896 cos-PI/6_binary64_16895 sin-+PI/2_binary64_16894 sin-+PI_binary64_16893 sin-PI_binary64_16892 sin-PI/2_binary64_16891 sin-PI/3_binary64_16890 sin-PI/4_binary64_16889 sin-PI/6_binary64_16888 sub-1-sin_binary64_16887 sub-1-cos_binary64_16886 -1-add-sin_binary64_16885 -1-add-cos_binary64_16884 1-sub-sin_binary64_16883 1-sub-cos_binary64_16882 cos-sin-sum_binary64_16881 log-E_binary64_16877 pow-base-0_binary64_16871 unpow1/3_binary64_16854 unpow2_binary64_16852 unpow1/2_binary64_16851 exp-to-pow_binary64_16849 pow-base-1_binary64_16847 unpow0_binary64_16846 unpow1_binary64_16845 unpow-1_binary64_16844 exp-lft-cube_binary64_16843 exp-lft-sqr_binary64_16842 exp-cbrt_binary64_16841 exp-sqrt_binary64_16840 exp-neg_binary64_16834 e-exp-1_binary64_16832 exp-1-e_binary64_16830 exp-0_binary64_16829 rem-exp-log_binary64_16827 cube-neg_binary64_16814 rem-3cbrt-rft_binary64_16813 rem-3cbrt-lft_binary64_16812 rem-cbrt-cube_binary64_16811 rem-cube-cbrt_binary64_16810 sqr-abs_binary64_16802 sqr-neg_binary64_16801 rem-sqrt-square_binary64_16800 rem-square-sqrt_binary64_16799 sub0-neg_binary64_16774 --rgt-identity_binary64_16773 +-rgt-identity_binary64_16772 +-lft-identity_binary64_16771 mul0-rgt_binary64_16770 mul0-lft_binary64_16769 div0_binary64_16768 *-inverses_binary64_16767 +-inverses_binary64_16766 lft-mult-inverse_binary64_16765 rgt-mult-inverse_binary64_16764 difference-of-sqr--1_binary64_16758 difference-of-sqr-1_binary64_16757 cancel-sign-sub_binary64_16752 distribute-frac-neg_binary64_16750 distribute-neg-out_binary64_16749 distribute-rgt1-in_binary64_16743 distribute-lft1-in_binary64_16742
Counts
162 → 414
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02373138
16332985
220262980

prune333.0ms (2.8%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New4140414
Fresh044
Picked011
Done022
Total4147421
Error
0b
Counts
421 → 7
Compiler

Compiled 8106 to 1264 computations (84.4% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 y (-.f64 z t))
0.0b
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a))
6.2b
(/.f64 (*.f64 y (-.f64 z t)) a)

rewrite77.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
13×add-sqr-sqrt_binary64_16809 *-un-lft-identity_binary64_16787
10×add-exp-log_binary64_16825 add-cbrt-cube_binary64_16823
add-cube-cbrt_binary64_16822
cancel-sign-sub-inv_binary64_16753
pow1_binary64_16848 add-log-exp_binary64_16826 associate-*r*_binary64_16727
associate-*r/_binary64_16729 distribute-rgt-in_binary64_16737 distribute-lft-in_binary64_16736
times-frac_binary64_16793 associate-/r*_binary64_16731 associate-*l*_binary64_16728
prod-exp_binary64_16836 div-exp_binary64_16838 cbrt-undiv_binary64_16821 cbrt-unprod_binary64_16820 flip3--_binary64_16791 associate-/l/_binary64_16734 flip--_binary64_16762 sub-neg_binary64_16780
frac-2neg_binary64_16798 clear-num_binary64_16786 div-inv_binary64_16784 associate-/l*_binary64_16732 sum-log_binary64_16878 flip3-+_binary64_16790 flip-+_binary64_16761 distribute-lft-out_binary64_16738 +-commutative_binary64_16717 pow-prod-down_binary64_16858 unswap-sqr_binary64_16755 difference-of-squares_binary64_16756 distribute-lft-out--_binary64_16739 *-commutative_binary64_16718
Counts
3 → 65
Calls

3 calls:

8.0ms
(/.f64 (*.f64 y (-.f64 z t)) a)
7.0ms
(*.f64 y (-.f64 z t))
5.0ms
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a))
Compiler

Compiled 1047 to 301 computations (71.3% saved)

series979.0ms (8.3%)

Error
0b
Counts
3 → 63
Calls

3 calls:

490.0ms
(+.f64 x (/.f64 (*.f64 y (-.f64 z t)) a))
305.0ms
(/.f64 (*.f64 y (-.f64 z t)) a)
146.0ms
(*.f64 y (-.f64 z t))
Compiler

Compiled 1636 to 1032 computations (36.9% saved)

simplify270.0ms (2.3%)

Algorithm
egg-herbie
Rules
644×times-frac_binary64_16793
507×distribute-rgt-in_binary64_16737
494×distribute-lft-in_binary64_16736
207×associate-/l/_binary64_16734
165×associate-/r*_binary64_16731
145×associate-/r/_binary64_16733
89×associate-*l*_binary64_16728
79×associate-*r*_binary64_16727
72×associate-/l*_binary64_16732
67×distribute-rgt-neg-in_binary64_16745
66×*-commutative_binary64_16718
63×sub-neg_binary64_16780 distribute-lft-neg-out_binary64_16746
58×div-sub_binary64_16792
56×associate-*l/_binary64_16730
54×distribute-neg-frac_binary64_16751
53×distribute-rgt-neg-out_binary64_16747
51×exp-prod_binary64_16839 cancel-sign-sub-inv_binary64_16753
46×distribute-lft-neg-in_binary64_16744
44×associate-*r/_binary64_16729
40×neg-sub0_binary64_16782
32×neg-mul-1_binary64_16783 sqr-pow_binary64_16759
28×+-commutative_binary64_16717
27×distribute-neg-in_binary64_16748
26×log-div_binary64_16874 *-rgt-identity_binary64_16777
25×cube-div_binary64_16816
20×cube-prod_binary64_16815 *-lft-identity_binary64_16776
19×associate--l+_binary64_16724
17×log-prod_binary64_16873
12×exp-sum_binary64_16833 swap-sqr_binary64_16754
11×/-rgt-identity_binary64_16778 pow-sqr_binary64_16760
10×unpow3_binary64_16853 associate--l-_binary64_16725
exp-diff_binary64_16835 cube-mult_binary64_16817 mul-1-neg_binary64_16779
remove-double-neg_binary64_16775
unsub-neg_binary64_16781 distribute-rgt-out_binary64_16740 associate--r-_binary64_16726 associate-+l+_binary64_16720
log-rec_binary64_16875 cube-unmult_binary64_16824 difference-of-squares_binary64_16756 cancel-sign-sub_binary64_16752 distribute-rgt-out--_binary64_16741
distribute-frac-neg_binary64_16750
prod-exp_binary64_16836 exp-neg_binary64_16834 unswap-sqr_binary64_16755 associate--r+_binary64_16723 associate-+l-_binary64_16722 associate-+r-_binary64_16721 associate-+r+_binary64_16719
pow-base-1_binary64_16847 div-exp_binary64_16838 rec-exp_binary64_16837 1-exp_binary64_16831 exp-1-e_binary64_16830 rem-log-exp_binary64_16828 rem-3cbrt-lft_binary64_16812 rem-sqrt-square_binary64_16800 rem-square-sqrt_binary64_16799 +-rgt-identity_binary64_16772
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_17050 erf-erfc_binary64_17049 erf-odd_binary64_17048 if-if-and-not_binary64_17047 if-if-and_binary64_17046 if-if-or-not_binary64_17045 if-if-or_binary64_17044 if-not_binary64_17043 if-same_binary64_17042 if-false_binary64_17041 if-true_binary64_17040 not-gte_binary64_17039 not-lte_binary64_17038 not-gt_binary64_17037 not-lt_binary64_17036 gte-same_binary64_17035 lte-same_binary64_17034 gt-same_binary64_17033 lt-same_binary64_17032 sinh---cosh_binary64_16979 sinh-+-cosh_binary64_16978 sinh-cosh_binary64_16977 tanh-def-c_binary64_16976 tanh-def-b_binary64_16975 tanh-def-a_binary64_16974 cosh-def_binary64_16973 sinh-def_binary64_16972 tan-neg_binary64_16919 cos-neg_binary64_16918 sin-neg_binary64_16917 tan-0_binary64_16916 cos-0_binary64_16915 sin-0_binary64_16914 hang-m-tan_binary64_16913 hang-p-tan_binary64_16912 hang-m0-tan_binary64_16911 hang-p0-tan_binary64_16910 hang-0m-tan_binary64_16909 hang-0p-tan_binary64_16908 tan-+PI/2_binary64_16907 tan-+PI_binary64_16906 tan-PI_binary64_16905 tan-PI/3_binary64_16904 tan-PI/4_binary64_16903 tan-PI/6_binary64_16902 cos-+PI/2_binary64_16901 cos-+PI_binary64_16900 cos-PI_binary64_16899 cos-PI/2_binary64_16898 cos-PI/3_binary64_16897 cos-PI/4_binary64_16896 cos-PI/6_binary64_16895 sin-+PI/2_binary64_16894 sin-+PI_binary64_16893 sin-PI_binary64_16892 sin-PI/2_binary64_16891 sin-PI/3_binary64_16890 sin-PI/4_binary64_16889 sin-PI/6_binary64_16888 sub-1-sin_binary64_16887 sub-1-cos_binary64_16886 -1-add-sin_binary64_16885 -1-add-cos_binary64_16884 1-sub-sin_binary64_16883 1-sub-cos_binary64_16882 cos-sin-sum_binary64_16881 log-E_binary64_16877 log-pow_binary64_16876 pow-base-0_binary64_16871 unpow1/3_binary64_16854 unpow2_binary64_16852 unpow1/2_binary64_16851 pow-plus_binary64_16850 exp-to-pow_binary64_16849 unpow0_binary64_16846 unpow1_binary64_16845 unpow-1_binary64_16844 exp-lft-cube_binary64_16843 exp-lft-sqr_binary64_16842 exp-cbrt_binary64_16841 exp-sqrt_binary64_16840 e-exp-1_binary64_16832 exp-0_binary64_16829 rem-exp-log_binary64_16827 cube-neg_binary64_16814 rem-3cbrt-rft_binary64_16813 rem-cbrt-cube_binary64_16811 rem-cube-cbrt_binary64_16810 sqr-abs_binary64_16802 sqr-neg_binary64_16801 sub0-neg_binary64_16774 --rgt-identity_binary64_16773 +-lft-identity_binary64_16771 mul0-rgt_binary64_16770 mul0-lft_binary64_16769 div0_binary64_16768 *-inverses_binary64_16767 +-inverses_binary64_16766 lft-mult-inverse_binary64_16765 rgt-mult-inverse_binary64_16764 remove-double-div_binary64_16763 difference-of-sqr--1_binary64_16758 difference-of-sqr-1_binary64_16757 distribute-neg-out_binary64_16749 distribute-rgt1-in_binary64_16743 distribute-lft1-in_binary64_16742 distribute-lft-out--_binary64_16739 distribute-lft-out_binary64_16738 count-2_binary64_16735
Counts
128 → 229
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01481525
13891370
213361370

prune159.0ms (1.3%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New2290229
Fresh033
Picked011
Done033
Total2297236
Error
0b
Counts
236 → 7
Compiler

Compiled 3391 to 436 computations (87.1% saved)

regimes1.1s (9.6%)

Accuracy

Total 1.1b remaining (99.8%)

Threshold costs 0b (0%)

Compiler

Compiled 5947 to 5516 computations (7.2% saved)

bsearch2.0ms (0%)

Compiler

Compiled 7 to 8 computations (-14.3% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_16717
*-commutative_binary64_16718
sub-neg_binary64_16780
1-exp_binary64_16831 neg-mul-1_binary64_16783 neg-sub0_binary64_16782
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_17047 if-if-and_binary64_17046 if-if-or-not_binary64_17045 if-if-or_binary64_17044 if-not_binary64_17043 if-same_binary64_17042 if-false_binary64_17041 if-true_binary64_17040 tan-0_binary64_16916 cos-0_binary64_16915 sin-0_binary64_16914 unpow1_binary64_16845 e-exp-1_binary64_16832 exp-1-e_binary64_16830 exp-0_binary64_16829 sqr-abs_binary64_16802 sqr-neg_binary64_16801 unsub-neg_binary64_16781 mul-1-neg_binary64_16779 /-rgt-identity_binary64_16778 *-rgt-identity_binary64_16777 *-lft-identity_binary64_16776 remove-double-neg_binary64_16775 sub0-neg_binary64_16774 --rgt-identity_binary64_16773 +-rgt-identity_binary64_16772 +-lft-identity_binary64_16771 cancel-sign-sub-inv_binary64_16753 cancel-sign-sub_binary64_16752 distribute-neg-frac_binary64_16751 distribute-frac-neg_binary64_16750 distribute-neg-out_binary64_16749 distribute-neg-in_binary64_16748 distribute-rgt-neg-out_binary64_16747 distribute-lft-neg-out_binary64_16746 distribute-rgt-neg-in_binary64_16745 distribute-lft-neg-in_binary64_16744
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02572
13472
23872
34072
44172
Proof
(if real (<= f64 (/ f64 (* f64 h0 (- f64 h1 h2)) h3) -3251553770096906037965185139725025589887280089877059260417697031928196193253817472518000308478388587190785815736787957480019298052628571902632091218443256532859023037723493069730608841151191713465645110676643339152426647946583595353163394476647517037540796067284516864) (+ f64 h4 (/ f64 1 (/ f64 (/ f64 h3 h0) (- f64 h1 h2)))) (if real (<= f64 (/ f64 (* f64 h0 (- f64 h1 h2)) h3) 58611512384324075615623540322346410558642118617325844221510798651378641077665454170547713588086413031504671671630469325930107469196067208049234875545364227020155656629612141989726522911390637452716813673952790829182082069129760231931410625359954134511403401216) (=> (+ f64 h4 (/ f64 (* f64 h0 (- f64 h1 h2)) h3))) (+ f64 h4 (* f64 h0 (/ f64 (- f64 h1 h2) h3))))) +-commutative_binary64_16717 => (if real (<= f64 (/ f64 (* f64 h0 (- f64 h1 h2)) h3) -3251553770096906037965185139725025589887280089877059260417697031928196193253817472518000308478388587190785815736787957480019298052628571902632091218443256532859023037723493069730608841151191713465645110676643339152426647946583595353163394476647517037540796067284516864) (+ f64 h4 (/ f64 1 (/ f64 (/ f64 h3 h0) (- f64 h1 h2)))) (if real (<= f64 (/ f64 (* f64 h0 (- f64 h1 h2)) h3) 58611512384324075615623540322346410558642118617325844221510798651378641077665454170547713588086413031504671671630469325930107469196067208049234875545364227020155656629612141989726522911390637452716813673952790829182082069129760231931410625359954134511403401216) (+ f64 (/ f64 (* f64 h0 (- f64 h1 h2)) h3) h4) (+ f64 h4 (* f64 h0 (/ f64 (- f64 h1 h2) h3)))))

end0.0ms (0%)

sample1.6s (13.1%)

Algorithm
intervals
Results
284.0ms8000×body128valid
92.0ms2507×body128invalid
Compiler

Compiled 745 to 652 computations (12.5% saved)

Profiling

Loading profile data...