\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(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) + \left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r10098 = -1.0;
double r10099 = 1.0;
double r10100 = /* ERROR: no complex support in C */;
double r10101 = r10100 * r10100;
double r10102 = r10101 * r10100;
double r10103 = r10102 * r10100;
double r10104 = r10103 * r10100;
double r10105 = r10104 * r10100;
double r10106 = 6.0;
double r10107 = 0.0;
double r10108 = /* ERROR: no complex support in C */;
double r10109 = r10108 * r10100;
double r10110 = r10109 * r10100;
double r10111 = r10110 * r10100;
double r10112 = r10111 * r10100;
double r10113 = r10112 * r10100;
double r10114 = r10105 + r10113;
double r10115 = 15.0;
double r10116 = /* ERROR: no complex support in C */;
double r10117 = r10116 * r10100;
double r10118 = r10117 * r10100;
double r10119 = r10118 * r10100;
double r10120 = r10119 * r10100;
double r10121 = r10114 + r10120;
double r10122 = 20.0;
double r10123 = /* ERROR: no complex support in C */;
double r10124 = r10123 * r10100;
double r10125 = r10124 * r10100;
double r10126 = r10125 * r10100;
double r10127 = r10121 + r10126;
double r10128 = r10127 + r10118;
double r10129 = r10128 + r10109;
double r10130 = /* ERROR: no complex support in C */;
double r10131 = r10129 + r10130;
double r10132 = /* ERROR: no complex support in C */;
return r10132;
}
double f() {
double r10133 = 15.0;
double r10134 = 0.0;
double r10135 = /* ERROR: no complex support in C */;
double r10136 = -1.0;
double r10137 = 1.0;
double r10138 = /* ERROR: no complex support in C */;
double r10139 = r10135 * r10138;
double r10140 = 6.0;
double r10141 = /* ERROR: no complex support in C */;
double r10142 = r10139 + r10141;
double r10143 = r10142 * r10138;
double r10144 = r10138 + r10141;
double r10145 = r10138 * r10138;
double r10146 = r10138 * r10145;
double r10147 = r10144 * r10146;
double r10148 = 20.0;
double r10149 = /* ERROR: no complex support in C */;
double r10150 = r10149 + r10139;
double r10151 = r10138 * r10150;
double r10152 = r10147 + r10151;
double r10153 = r10152 * r10145;
double r10154 = r10143 + r10153;
double r10155 = /* ERROR: no complex support in C */;
double r10156 = r10154 + r10155;
double r10157 = /* ERROR: no complex support in C */;
return r10157;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019179
(FPCore ()
:name "3.9.1 imaginary part (p56)"
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1.0 1.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (* (* (* (* (* (complex 6.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))