\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 r5034 = -1.0;
double r5035 = 1.0;
double r5036 = /* ERROR: no complex support in C */;
double r5037 = r5036 * r5036;
double r5038 = r5037 * r5036;
double r5039 = r5038 * r5036;
double r5040 = r5039 * r5036;
double r5041 = r5040 * r5036;
double r5042 = 6.0;
double r5043 = 0.0;
double r5044 = /* ERROR: no complex support in C */;
double r5045 = r5044 * r5036;
double r5046 = r5045 * r5036;
double r5047 = r5046 * r5036;
double r5048 = r5047 * r5036;
double r5049 = r5048 * r5036;
double r5050 = r5041 + r5049;
double r5051 = 15.0;
double r5052 = /* ERROR: no complex support in C */;
double r5053 = r5052 * r5036;
double r5054 = r5053 * r5036;
double r5055 = r5054 * r5036;
double r5056 = r5055 * r5036;
double r5057 = r5050 + r5056;
double r5058 = 20.0;
double r5059 = /* ERROR: no complex support in C */;
double r5060 = r5059 * r5036;
double r5061 = r5060 * r5036;
double r5062 = r5061 * r5036;
double r5063 = r5057 + r5062;
double r5064 = r5063 + r5054;
double r5065 = r5064 + r5045;
double r5066 = /* ERROR: no complex support in C */;
double r5067 = r5065 + r5066;
double r5068 = /* ERROR: no complex support in C */;
return r5068;
}
double f() {
double r5069 = -1.0;
double r5070 = 1.0;
double r5071 = /* ERROR: no complex support in C */;
double r5072 = r5071 * r5071;
double r5073 = r5072 * r5071;
double r5074 = r5073 * r5071;
double r5075 = r5074 * r5071;
double r5076 = r5075 * r5071;
double r5077 = 6.0;
double r5078 = 0.0;
double r5079 = /* ERROR: no complex support in C */;
double r5080 = r5079 * r5071;
double r5081 = r5080 * r5071;
double r5082 = r5081 * r5071;
double r5083 = r5082 * r5071;
double r5084 = r5083 * r5071;
double r5085 = r5076 + r5084;
double r5086 = 15.0;
double r5087 = /* ERROR: no complex support in C */;
double r5088 = r5087 * r5071;
double r5089 = r5088 * r5071;
double r5090 = r5089 * r5071;
double r5091 = r5090 * r5071;
double r5092 = r5085 + r5091;
double r5093 = 20.0;
double r5094 = /* ERROR: no complex support in C */;
double r5095 = r5094 * r5071;
double r5096 = r5095 * r5071;
double r5097 = r5096 * r5071;
double r5098 = r5092 + r5097;
double r5099 = r5098 + r5089;
double r5100 = r5099 + r5080;
double r5101 = /* ERROR: no complex support in C */;
double r5102 = r5100 + r5101;
double r5103 = /* ERROR: no complex support in C */;
return r5103;
}
Initial program 0
Final simplification0
herbie shell --seed 2020045 +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))))