\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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\Im(\left(\left(\left(\left(\frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) + \frac{1}{4}\right) + \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) i\right) + \left(6 + -2 \cdot \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\left(\frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) + \frac{1}{4}\right) + \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) i\right) + \left(5 + \frac{\sqrt{3} \cdot 4}{2} i\right)\right))double f() {
double r507380 = 1.0;
double r507381 = -r507380;
double r507382 = 2.0;
double r507383 = r507381 / r507382;
double r507384 = 3.0;
double r507385 = sqrt(r507384);
double r507386 = r507385 / r507382;
double r507387 = /* ERROR: no complex support in C */;
double r507388 = r507387 * r507387;
double r507389 = r507388 * r507387;
double r507390 = r507389 * r507387;
double r507391 = -r507382;
double r507392 = 0.0;
double r507393 = /* ERROR: no complex support in C */;
double r507394 = r507393 * r507387;
double r507395 = r507394 * r507387;
double r507396 = r507395 * r507387;
double r507397 = r507390 + r507396;
double r507398 = 5.0;
double r507399 = /* ERROR: no complex support in C */;
double r507400 = r507399 * r507387;
double r507401 = r507400 * r507387;
double r507402 = r507397 + r507401;
double r507403 = 4.0;
double r507404 = /* ERROR: no complex support in C */;
double r507405 = r507404 * r507387;
double r507406 = r507402 + r507405;
double r507407 = 7.0;
double r507408 = /* ERROR: no complex support in C */;
double r507409 = r507406 + r507408;
double r507410 = /* ERROR: no complex support in C */;
return r507410;
}
double f() {
double r507411 = 3.0;
double r507412 = sqrt(r507411);
double r507413 = 2.0;
double r507414 = r507412 / r507413;
double r507415 = -4.0;
double r507416 = r507412 / r507415;
double r507417 = r507416 + r507416;
double r507418 = r507414 * r507417;
double r507419 = 0.25;
double r507420 = r507418 + r507419;
double r507421 = /* ERROR: no complex support in C */;
double r507422 = 6.0;
double r507423 = -2.0;
double r507424 = r507423 * r507414;
double r507425 = /* ERROR: no complex support in C */;
double r507426 = r507421 + r507425;
double r507427 = r507426 * r507421;
double r507428 = 5.0;
double r507429 = 4.0;
double r507430 = r507412 * r507429;
double r507431 = r507430 / r507413;
double r507432 = /* ERROR: no complex support in C */;
double r507433 = r507427 + r507432;
double r507434 = /* ERROR: no complex support in C */;
return r507434;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019153 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))