\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 r23313 = 1.0;
double r23314 = -r23313;
double r23315 = 2.0;
double r23316 = r23314 / r23315;
double r23317 = 3.0;
double r23318 = sqrt(r23317);
double r23319 = r23318 / r23315;
double r23320 = /* ERROR: no complex support in C */;
double r23321 = r23320 * r23320;
double r23322 = r23321 * r23320;
double r23323 = r23322 * r23320;
double r23324 = -r23315;
double r23325 = 0.0;
double r23326 = /* ERROR: no complex support in C */;
double r23327 = r23326 * r23320;
double r23328 = r23327 * r23320;
double r23329 = r23328 * r23320;
double r23330 = r23323 + r23329;
double r23331 = 5.0;
double r23332 = /* ERROR: no complex support in C */;
double r23333 = r23332 * r23320;
double r23334 = r23333 * r23320;
double r23335 = r23330 + r23334;
double r23336 = 4.0;
double r23337 = /* ERROR: no complex support in C */;
double r23338 = r23337 * r23320;
double r23339 = r23335 + r23338;
double r23340 = 7.0;
double r23341 = /* ERROR: no complex support in C */;
double r23342 = r23339 + r23341;
double r23343 = /* ERROR: no complex support in C */;
return r23343;
}
double f() {
double r23344 = 1.0;
double r23345 = -r23344;
double r23346 = 2.0;
double r23347 = r23345 / r23346;
double r23348 = 3.0;
double r23349 = sqrt(r23348);
double r23350 = r23349 / r23346;
double r23351 = /* ERROR: no complex support in C */;
double r23352 = r23351 * r23351;
double r23353 = r23352 * r23351;
double r23354 = r23353 * r23351;
double r23355 = -r23346;
double r23356 = 0.0;
double r23357 = /* ERROR: no complex support in C */;
double r23358 = r23357 * r23351;
double r23359 = r23358 * r23351;
double r23360 = r23359 * r23351;
double r23361 = r23354 + r23360;
double r23362 = 5.0;
double r23363 = /* ERROR: no complex support in C */;
double r23364 = r23363 * r23351;
double r23365 = r23364 * r23351;
double r23366 = r23361 + r23365;
double r23367 = 4.0;
double r23368 = /* ERROR: no complex support in C */;
double r23369 = r23368 * r23351;
double r23370 = r23366 + r23369;
double r23371 = 7.0;
double r23372 = /* ERROR: no complex support in C */;
double r23373 = r23370 + r23372;
double r23374 = /* ERROR: no complex support in C */;
return r23374;
}
Initial program 0
Final simplification0
herbie shell --seed 2020042 +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))))