\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 r816860 = -1.0;
double r816861 = 1.0;
double r816862 = /* ERROR: no complex support in C */;
double r816863 = r816862 * r816862;
double r816864 = r816863 * r816862;
double r816865 = r816864 * r816862;
double r816866 = r816865 * r816862;
double r816867 = r816866 * r816862;
double r816868 = 6.0;
double r816869 = 0.0;
double r816870 = /* ERROR: no complex support in C */;
double r816871 = r816870 * r816862;
double r816872 = r816871 * r816862;
double r816873 = r816872 * r816862;
double r816874 = r816873 * r816862;
double r816875 = r816874 * r816862;
double r816876 = r816867 + r816875;
double r816877 = 15.0;
double r816878 = /* ERROR: no complex support in C */;
double r816879 = r816878 * r816862;
double r816880 = r816879 * r816862;
double r816881 = r816880 * r816862;
double r816882 = r816881 * r816862;
double r816883 = r816876 + r816882;
double r816884 = 20.0;
double r816885 = /* ERROR: no complex support in C */;
double r816886 = r816885 * r816862;
double r816887 = r816886 * r816862;
double r816888 = r816887 * r816862;
double r816889 = r816883 + r816888;
double r816890 = r816889 + r816880;
double r816891 = r816890 + r816871;
double r816892 = /* ERROR: no complex support in C */;
double r816893 = r816891 + r816892;
double r816894 = /* ERROR: no complex support in C */;
return r816894;
}
double f() {
double r816895 = -1.0;
double r816896 = 0.0;
double r816897 = /* ERROR: no complex support in C */;
double r816898 = /* ERROR: no complex support in C */;
return r816898;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019141 +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))))