\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 r31228 = 1.0;
double r31229 = -r31228;
double r31230 = 2.0;
double r31231 = r31229 / r31230;
double r31232 = 3.0;
double r31233 = sqrt(r31232);
double r31234 = r31233 / r31230;
double r31235 = /* ERROR: no complex support in C */;
double r31236 = r31235 * r31235;
double r31237 = r31236 * r31235;
double r31238 = r31237 * r31235;
double r31239 = -r31230;
double r31240 = 0.0;
double r31241 = /* ERROR: no complex support in C */;
double r31242 = r31241 * r31235;
double r31243 = r31242 * r31235;
double r31244 = r31243 * r31235;
double r31245 = r31238 + r31244;
double r31246 = 5.0;
double r31247 = /* ERROR: no complex support in C */;
double r31248 = r31247 * r31235;
double r31249 = r31248 * r31235;
double r31250 = r31245 + r31249;
double r31251 = 4.0;
double r31252 = /* ERROR: no complex support in C */;
double r31253 = r31252 * r31235;
double r31254 = r31250 + r31253;
double r31255 = 7.0;
double r31256 = /* ERROR: no complex support in C */;
double r31257 = r31254 + r31256;
double r31258 = /* ERROR: no complex support in C */;
return r31258;
}
double f() {
double r31259 = 1.0;
double r31260 = -r31259;
double r31261 = 2.0;
double r31262 = r31260 / r31261;
double r31263 = 3.0;
double r31264 = sqrt(r31263);
double r31265 = r31264 / r31261;
double r31266 = /* ERROR: no complex support in C */;
double r31267 = r31266 * r31266;
double r31268 = r31267 * r31266;
double r31269 = r31268 * r31266;
double r31270 = -r31261;
double r31271 = 0.0;
double r31272 = /* ERROR: no complex support in C */;
double r31273 = r31272 * r31266;
double r31274 = r31273 * r31266;
double r31275 = r31274 * r31266;
double r31276 = r31269 + r31275;
double r31277 = 5.0;
double r31278 = /* ERROR: no complex support in C */;
double r31279 = r31278 * r31266;
double r31280 = r31279 * r31266;
double r31281 = r31276 + r31280;
double r31282 = 4.0;
double r31283 = /* ERROR: no complex support in C */;
double r31284 = r31283 * r31266;
double r31285 = r31281 + r31284;
double r31286 = 7.0;
double r31287 = /* ERROR: no complex support in C */;
double r31288 = r31285 + r31287;
double r31289 = /* ERROR: no complex support in C */;
return r31289;
}
Initial program 0
Final simplification0
herbie shell --seed 2019347 +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))))