\Im(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\Im(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r38879 = -1.0;
double r38880 = 1.0;
double r38881 = /* ERROR: no complex support in C */;
double r38882 = r38881 * r38881;
double r38883 = r38882 * r38881;
double r38884 = r38883 * r38881;
double r38885 = r38884 * r38881;
double r38886 = r38885 * r38881;
double r38887 = 6.0;
double r38888 = 0.0;
double r38889 = /* ERROR: no complex support in C */;
double r38890 = r38889 * r38881;
double r38891 = r38890 * r38881;
double r38892 = r38891 * r38881;
double r38893 = r38892 * r38881;
double r38894 = r38893 * r38881;
double r38895 = r38886 + r38894;
double r38896 = 15.0;
double r38897 = /* ERROR: no complex support in C */;
double r38898 = r38897 * r38881;
double r38899 = r38898 * r38881;
double r38900 = r38899 * r38881;
double r38901 = r38900 * r38881;
double r38902 = r38895 + r38901;
double r38903 = 20.0;
double r38904 = /* ERROR: no complex support in C */;
double r38905 = r38904 * r38881;
double r38906 = r38905 * r38881;
double r38907 = r38906 * r38881;
double r38908 = r38902 + r38907;
double r38909 = r38908 + r38899;
double r38910 = r38909 + r38890;
double r38911 = /* ERROR: no complex support in C */;
double r38912 = r38910 + r38911;
double r38913 = /* ERROR: no complex support in C */;
return r38913;
}
double f() {
double r38914 = -1.0;
double r38915 = 1.0;
double r38916 = /* ERROR: no complex support in C */;
double r38917 = r38916 * r38916;
double r38918 = r38917 * r38916;
double r38919 = r38918 * r38916;
double r38920 = r38919 * r38916;
double r38921 = r38920 * r38916;
double r38922 = 6.0;
double r38923 = 0.0;
double r38924 = /* ERROR: no complex support in C */;
double r38925 = r38924 * r38916;
double r38926 = r38925 * r38916;
double r38927 = r38926 * r38916;
double r38928 = r38927 * r38916;
double r38929 = r38928 * r38916;
double r38930 = r38921 + r38929;
double r38931 = 15.0;
double r38932 = /* ERROR: no complex support in C */;
double r38933 = r38932 * r38916;
double r38934 = r38933 * r38916;
double r38935 = r38934 * r38916;
double r38936 = r38935 * r38916;
double r38937 = r38930 + r38936;
double r38938 = 20.0;
double r38939 = /* ERROR: no complex support in C */;
double r38940 = r38939 * r38916;
double r38941 = r38940 * r38916;
double r38942 = r38941 * r38916;
double r38943 = r38937 + r38942;
double r38944 = r38943 + r38934;
double r38945 = r38944 + r38925;
double r38946 = /* ERROR: no complex support in C */;
double r38947 = r38945 + r38946;
double r38948 = /* ERROR: no complex support in C */;
return r38948;
}
Initial program 0
Final simplification0
herbie shell --seed 2020042 +o rules:numerics
(FPCore ()
:name "3.9.1 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (* (* (* (* (* (complex 6 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (complex 20 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1))) (* (complex 6 0.0) (complex -1 1))) (complex 1 0.0))))