\Re(\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))\Re(\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 r37023 = 1.0;
double r37024 = -r37023;
double r37025 = 2.0;
double r37026 = r37024 / r37025;
double r37027 = 3.0;
double r37028 = sqrt(r37027);
double r37029 = r37028 / r37025;
double r37030 = /* ERROR: no complex support in C */;
double r37031 = r37030 * r37030;
double r37032 = r37031 * r37030;
double r37033 = r37032 * r37030;
double r37034 = -r37025;
double r37035 = 0.0;
double r37036 = /* ERROR: no complex support in C */;
double r37037 = r37036 * r37030;
double r37038 = r37037 * r37030;
double r37039 = r37038 * r37030;
double r37040 = r37033 + r37039;
double r37041 = 5.0;
double r37042 = /* ERROR: no complex support in C */;
double r37043 = r37042 * r37030;
double r37044 = r37043 * r37030;
double r37045 = r37040 + r37044;
double r37046 = 4.0;
double r37047 = /* ERROR: no complex support in C */;
double r37048 = r37047 * r37030;
double r37049 = r37045 + r37048;
double r37050 = 7.0;
double r37051 = /* ERROR: no complex support in C */;
double r37052 = r37049 + r37051;
double r37053 = /* ERROR: no complex support in C */;
return r37053;
}
double f() {
double r37054 = 1.0;
double r37055 = -r37054;
double r37056 = 2.0;
double r37057 = r37055 / r37056;
double r37058 = 3.0;
double r37059 = sqrt(r37058);
double r37060 = r37059 / r37056;
double r37061 = /* ERROR: no complex support in C */;
double r37062 = r37061 * r37061;
double r37063 = r37062 * r37061;
double r37064 = r37063 * r37061;
double r37065 = -r37056;
double r37066 = 0.0;
double r37067 = /* ERROR: no complex support in C */;
double r37068 = r37067 * r37061;
double r37069 = r37068 * r37061;
double r37070 = r37069 * r37061;
double r37071 = r37064 + r37070;
double r37072 = 5.0;
double r37073 = /* ERROR: no complex support in C */;
double r37074 = r37073 * r37061;
double r37075 = r37074 * r37061;
double r37076 = r37071 + r37075;
double r37077 = 4.0;
double r37078 = /* ERROR: no complex support in C */;
double r37079 = r37078 * r37061;
double r37080 = r37076 + r37079;
double r37081 = 7.0;
double r37082 = /* ERROR: no complex support in C */;
double r37083 = r37080 + r37082;
double r37084 = /* ERROR: no complex support in C */;
return r37084;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2019347 +o rules:numerics
(FPCore ()
:name "3.9.2 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (* (* (* (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))))