\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.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.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.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.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\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.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.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.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.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r30050 = -1.0;
double r30051 = 1.0;
double r30052 = /* ERROR: no complex support in C */;
double r30053 = r30052 * r30052;
double r30054 = r30053 * r30052;
double r30055 = r30054 * r30052;
double r30056 = r30055 * r30052;
double r30057 = r30056 * r30052;
double r30058 = 6.0;
double r30059 = 0.0;
double r30060 = /* ERROR: no complex support in C */;
double r30061 = r30060 * r30052;
double r30062 = r30061 * r30052;
double r30063 = r30062 * r30052;
double r30064 = r30063 * r30052;
double r30065 = r30064 * r30052;
double r30066 = r30057 + r30065;
double r30067 = 15.0;
double r30068 = /* ERROR: no complex support in C */;
double r30069 = r30068 * r30052;
double r30070 = r30069 * r30052;
double r30071 = r30070 * r30052;
double r30072 = r30071 * r30052;
double r30073 = r30066 + r30072;
double r30074 = 20.0;
double r30075 = /* ERROR: no complex support in C */;
double r30076 = r30075 * r30052;
double r30077 = r30076 * r30052;
double r30078 = r30077 * r30052;
double r30079 = r30073 + r30078;
double r30080 = r30079 + r30070;
double r30081 = r30080 + r30061;
double r30082 = /* ERROR: no complex support in C */;
double r30083 = r30081 + r30082;
double r30084 = /* ERROR: no complex support in C */;
return r30084;
}
double f() {
double r30085 = -1.0;
double r30086 = 1.0;
double r30087 = /* ERROR: no complex support in C */;
double r30088 = r30087 * r30087;
double r30089 = r30088 * r30087;
double r30090 = r30089 * r30087;
double r30091 = r30090 * r30087;
double r30092 = r30091 * r30087;
double r30093 = 6.0;
double r30094 = 0.0;
double r30095 = /* ERROR: no complex support in C */;
double r30096 = r30095 * r30087;
double r30097 = r30096 * r30087;
double r30098 = r30097 * r30087;
double r30099 = r30098 * r30087;
double r30100 = r30099 * r30087;
double r30101 = r30092 + r30100;
double r30102 = 15.0;
double r30103 = /* ERROR: no complex support in C */;
double r30104 = r30103 * r30087;
double r30105 = r30104 * r30087;
double r30106 = r30105 * r30087;
double r30107 = r30106 * r30087;
double r30108 = r30101 + r30107;
double r30109 = 20.0;
double r30110 = /* ERROR: no complex support in C */;
double r30111 = r30110 * r30087;
double r30112 = r30111 * r30087;
double r30113 = r30112 * r30087;
double r30114 = r30108 + r30113;
double r30115 = r30114 + r30105;
double r30116 = r30115 + r30096;
double r30117 = /* ERROR: no complex support in C */;
double r30118 = r30116 + r30117;
double r30119 = /* ERROR: no complex support in C */;
return r30119;
}
Initial program 0
Final simplification0
herbie shell --seed 2019351 +o rules:numerics
(FPCore ()
:name "3.9.1 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (* (* (* (* (* (complex 6 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (complex 20 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1))) (* (complex 6 0.0) (complex -1 1))) (complex 1 0.0))))