\Im(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\Im(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r17214 = 1.0;
double r17215 = -r17214;
double r17216 = 2.0;
double r17217 = r17215 / r17216;
double r17218 = 3.0;
double r17219 = sqrt(r17218);
double r17220 = r17219 / r17216;
double r17221 = /* ERROR: no complex support in C */;
double r17222 = r17221 * r17221;
double r17223 = r17222 * r17221;
double r17224 = r17223 * r17221;
double r17225 = -r17216;
double r17226 = 0.0;
double r17227 = /* ERROR: no complex support in C */;
double r17228 = r17227 * r17221;
double r17229 = r17228 * r17221;
double r17230 = r17229 * r17221;
double r17231 = r17224 + r17230;
double r17232 = 5.0;
double r17233 = /* ERROR: no complex support in C */;
double r17234 = r17233 * r17221;
double r17235 = r17234 * r17221;
double r17236 = r17231 + r17235;
double r17237 = 4.0;
double r17238 = /* ERROR: no complex support in C */;
double r17239 = r17238 * r17221;
double r17240 = r17236 + r17239;
double r17241 = 7.0;
double r17242 = /* ERROR: no complex support in C */;
double r17243 = r17240 + r17242;
double r17244 = /* ERROR: no complex support in C */;
return r17244;
}
double f() {
double r17245 = 1.0;
double r17246 = -r17245;
double r17247 = 2.0;
double r17248 = r17246 / r17247;
double r17249 = 3.0;
double r17250 = sqrt(r17249);
double r17251 = r17250 / r17247;
double r17252 = /* ERROR: no complex support in C */;
double r17253 = r17252 * r17252;
double r17254 = r17253 * r17252;
double r17255 = r17254 * r17252;
double r17256 = -r17247;
double r17257 = 0.0;
double r17258 = /* ERROR: no complex support in C */;
double r17259 = r17258 * r17252;
double r17260 = r17259 * r17252;
double r17261 = r17260 * r17252;
double r17262 = r17255 + r17261;
double r17263 = 5.0;
double r17264 = /* ERROR: no complex support in C */;
double r17265 = r17264 * r17252;
double r17266 = r17265 * r17252;
double r17267 = r17262 + r17266;
double r17268 = 4.0;
double r17269 = /* ERROR: no complex support in C */;
double r17270 = r17269 * r17252;
double r17271 = r17267 + r17270;
double r17272 = 7.0;
double r17273 = /* ERROR: no complex support in C */;
double r17274 = r17271 + r17273;
double r17275 = /* ERROR: no complex support in C */;
return r17275;
}
Initial program 0
Final simplification0
herbie shell --seed 2019350 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))