\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 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 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 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 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0 i\right)\right))
\Im(\left(-1 + 0 i\right))
double f() {
double r872873 = -1.0;
double r872874 = 1.0;
double r872875 = /* ERROR: no complex support in C */;
double r872876 = r872875 * r872875;
double r872877 = r872876 * r872875;
double r872878 = r872877 * r872875;
double r872879 = r872878 * r872875;
double r872880 = r872879 * r872875;
double r872881 = 6.0;
double r872882 = 0.0;
double r872883 = /* ERROR: no complex support in C */;
double r872884 = r872883 * r872875;
double r872885 = r872884 * r872875;
double r872886 = r872885 * r872875;
double r872887 = r872886 * r872875;
double r872888 = r872887 * r872875;
double r872889 = r872880 + r872888;
double r872890 = 15.0;
double r872891 = /* ERROR: no complex support in C */;
double r872892 = r872891 * r872875;
double r872893 = r872892 * r872875;
double r872894 = r872893 * r872875;
double r872895 = r872894 * r872875;
double r872896 = r872889 + r872895;
double r872897 = 20.0;
double r872898 = /* ERROR: no complex support in C */;
double r872899 = r872898 * r872875;
double r872900 = r872899 * r872875;
double r872901 = r872900 * r872875;
double r872902 = r872896 + r872901;
double r872903 = r872902 + r872893;
double r872904 = r872903 + r872884;
double r872905 = /* ERROR: no complex support in C */;
double r872906 = r872904 + r872905;
double r872907 = /* ERROR: no complex support in C */;
return r872907;
}
double f() {
double r872908 = -1.0;
double r872909 = 0.0;
double r872910 = /* ERROR: no complex support in C */;
double r872911 = /* ERROR: no complex support in C */;
return r872911;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019144 +o rules:numerics
(FPCore ()
:name "3.9.1 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (*.c (*.c (*.c (*.c (*.c (complex 6 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (complex 20 0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1))) (*.c (complex 6 0) (complex -1 1))) (complex 1 0))))