\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 r1030858 = -1.0;
double r1030859 = 1.0;
double r1030860 = /* ERROR: no complex support in C */;
double r1030861 = r1030860 * r1030860;
double r1030862 = r1030861 * r1030860;
double r1030863 = r1030862 * r1030860;
double r1030864 = r1030863 * r1030860;
double r1030865 = r1030864 * r1030860;
double r1030866 = 6.0;
double r1030867 = 0.0;
double r1030868 = /* ERROR: no complex support in C */;
double r1030869 = r1030868 * r1030860;
double r1030870 = r1030869 * r1030860;
double r1030871 = r1030870 * r1030860;
double r1030872 = r1030871 * r1030860;
double r1030873 = r1030872 * r1030860;
double r1030874 = r1030865 + r1030873;
double r1030875 = 15.0;
double r1030876 = /* ERROR: no complex support in C */;
double r1030877 = r1030876 * r1030860;
double r1030878 = r1030877 * r1030860;
double r1030879 = r1030878 * r1030860;
double r1030880 = r1030879 * r1030860;
double r1030881 = r1030874 + r1030880;
double r1030882 = 20.0;
double r1030883 = /* ERROR: no complex support in C */;
double r1030884 = r1030883 * r1030860;
double r1030885 = r1030884 * r1030860;
double r1030886 = r1030885 * r1030860;
double r1030887 = r1030881 + r1030886;
double r1030888 = r1030887 + r1030878;
double r1030889 = r1030888 + r1030869;
double r1030890 = /* ERROR: no complex support in C */;
double r1030891 = r1030889 + r1030890;
double r1030892 = /* ERROR: no complex support in C */;
return r1030892;
}
double f() {
double r1030893 = -1.0;
double r1030894 = 0.0;
double r1030895 = /* ERROR: no complex support in C */;
double r1030896 = /* ERROR: no complex support in C */;
return r1030896;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019139
(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))))