\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 r791108 = -1.0;
double r791109 = 1.0;
double r791110 = /* ERROR: no complex support in C */;
double r791111 = r791110 * r791110;
double r791112 = r791111 * r791110;
double r791113 = r791112 * r791110;
double r791114 = r791113 * r791110;
double r791115 = r791114 * r791110;
double r791116 = 6.0;
double r791117 = 0.0;
double r791118 = /* ERROR: no complex support in C */;
double r791119 = r791118 * r791110;
double r791120 = r791119 * r791110;
double r791121 = r791120 * r791110;
double r791122 = r791121 * r791110;
double r791123 = r791122 * r791110;
double r791124 = r791115 + r791123;
double r791125 = 15.0;
double r791126 = /* ERROR: no complex support in C */;
double r791127 = r791126 * r791110;
double r791128 = r791127 * r791110;
double r791129 = r791128 * r791110;
double r791130 = r791129 * r791110;
double r791131 = r791124 + r791130;
double r791132 = 20.0;
double r791133 = /* ERROR: no complex support in C */;
double r791134 = r791133 * r791110;
double r791135 = r791134 * r791110;
double r791136 = r791135 * r791110;
double r791137 = r791131 + r791136;
double r791138 = r791137 + r791128;
double r791139 = r791138 + r791119;
double r791140 = /* ERROR: no complex support in C */;
double r791141 = r791139 + r791140;
double r791142 = /* ERROR: no complex support in C */;
return r791142;
}
double f() {
double r791143 = 0.0;
return r791143;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019164 +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))))