\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))
0
double f() {
double r1031859 = -1.0;
double r1031860 = 1.0;
double r1031861 = /* ERROR: no complex support in C */;
double r1031862 = r1031861 * r1031861;
double r1031863 = r1031862 * r1031861;
double r1031864 = r1031863 * r1031861;
double r1031865 = r1031864 * r1031861;
double r1031866 = r1031865 * r1031861;
double r1031867 = 6.0;
double r1031868 = 0.0;
double r1031869 = /* ERROR: no complex support in C */;
double r1031870 = r1031869 * r1031861;
double r1031871 = r1031870 * r1031861;
double r1031872 = r1031871 * r1031861;
double r1031873 = r1031872 * r1031861;
double r1031874 = r1031873 * r1031861;
double r1031875 = r1031866 + r1031874;
double r1031876 = 15.0;
double r1031877 = /* ERROR: no complex support in C */;
double r1031878 = r1031877 * r1031861;
double r1031879 = r1031878 * r1031861;
double r1031880 = r1031879 * r1031861;
double r1031881 = r1031880 * r1031861;
double r1031882 = r1031875 + r1031881;
double r1031883 = 20.0;
double r1031884 = /* ERROR: no complex support in C */;
double r1031885 = r1031884 * r1031861;
double r1031886 = r1031885 * r1031861;
double r1031887 = r1031886 * r1031861;
double r1031888 = r1031882 + r1031887;
double r1031889 = r1031888 + r1031879;
double r1031890 = r1031889 + r1031870;
double r1031891 = /* ERROR: no complex support in C */;
double r1031892 = r1031890 + r1031891;
double r1031893 = /* ERROR: no complex support in C */;
return r1031893;
}
double f() {
double r1031894 = 0.0;
return r1031894;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019158 +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))))