\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 r41344 = 1.0;
double r41345 = -r41344;
double r41346 = 2.0;
double r41347 = r41345 / r41346;
double r41348 = 3.0;
double r41349 = sqrt(r41348);
double r41350 = r41349 / r41346;
double r41351 = /* ERROR: no complex support in C */;
double r41352 = r41351 * r41351;
double r41353 = r41352 * r41351;
double r41354 = r41353 * r41351;
double r41355 = -r41346;
double r41356 = 0.0;
double r41357 = /* ERROR: no complex support in C */;
double r41358 = r41357 * r41351;
double r41359 = r41358 * r41351;
double r41360 = r41359 * r41351;
double r41361 = r41354 + r41360;
double r41362 = 5.0;
double r41363 = /* ERROR: no complex support in C */;
double r41364 = r41363 * r41351;
double r41365 = r41364 * r41351;
double r41366 = r41361 + r41365;
double r41367 = 4.0;
double r41368 = /* ERROR: no complex support in C */;
double r41369 = r41368 * r41351;
double r41370 = r41366 + r41369;
double r41371 = 7.0;
double r41372 = /* ERROR: no complex support in C */;
double r41373 = r41370 + r41372;
double r41374 = /* ERROR: no complex support in C */;
return r41374;
}
double f() {
double r41375 = 1.0;
double r41376 = -r41375;
double r41377 = 2.0;
double r41378 = r41376 / r41377;
double r41379 = 3.0;
double r41380 = sqrt(r41379);
double r41381 = r41380 / r41377;
double r41382 = /* ERROR: no complex support in C */;
double r41383 = r41382 * r41382;
double r41384 = r41383 * r41382;
double r41385 = r41384 * r41382;
double r41386 = -r41377;
double r41387 = 0.0;
double r41388 = /* ERROR: no complex support in C */;
double r41389 = r41388 * r41382;
double r41390 = r41389 * r41382;
double r41391 = r41390 * r41382;
double r41392 = r41385 + r41391;
double r41393 = 5.0;
double r41394 = /* ERROR: no complex support in C */;
double r41395 = r41394 * r41382;
double r41396 = r41395 * r41382;
double r41397 = r41392 + r41396;
double r41398 = 4.0;
double r41399 = /* ERROR: no complex support in C */;
double r41400 = r41399 * r41382;
double r41401 = r41397 + r41400;
double r41402 = 7.0;
double r41403 = /* ERROR: no complex support in C */;
double r41404 = r41401 + r41403;
double r41405 = /* ERROR: no complex support in C */;
return r41405;
}
Initial program 0
Final simplification0
herbie shell --seed 2020047
(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))))