\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 r767856 = -1.0;
double r767857 = 1.0;
double r767858 = /* ERROR: no complex support in C */;
double r767859 = r767858 * r767858;
double r767860 = r767859 * r767858;
double r767861 = r767860 * r767858;
double r767862 = r767861 * r767858;
double r767863 = r767862 * r767858;
double r767864 = 6.0;
double r767865 = 0.0;
double r767866 = /* ERROR: no complex support in C */;
double r767867 = r767866 * r767858;
double r767868 = r767867 * r767858;
double r767869 = r767868 * r767858;
double r767870 = r767869 * r767858;
double r767871 = r767870 * r767858;
double r767872 = r767863 + r767871;
double r767873 = 15.0;
double r767874 = /* ERROR: no complex support in C */;
double r767875 = r767874 * r767858;
double r767876 = r767875 * r767858;
double r767877 = r767876 * r767858;
double r767878 = r767877 * r767858;
double r767879 = r767872 + r767878;
double r767880 = 20.0;
double r767881 = /* ERROR: no complex support in C */;
double r767882 = r767881 * r767858;
double r767883 = r767882 * r767858;
double r767884 = r767883 * r767858;
double r767885 = r767879 + r767884;
double r767886 = r767885 + r767876;
double r767887 = r767886 + r767867;
double r767888 = /* ERROR: no complex support in C */;
double r767889 = r767887 + r767888;
double r767890 = /* ERROR: no complex support in C */;
return r767890;
}
double f() {
double r767891 = -1.0;
double r767892 = 0.0;
double r767893 = /* ERROR: no complex support in C */;
double r767894 = /* ERROR: no complex support in C */;
return r767894;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019133
(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))))