Average Error: 0 → 0
Time: 25.7s
Precision: 64
\[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]
\[\Re(\left(\left(\left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(15 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - 0.0 \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(15 \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + 0.0 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) + \left(\left(\left(20 \cdot -1 - 0.0 \cdot 1\right) + \left(20 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(15 + 0.0 i\right)\right)\right)\right) + \left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]
\Re(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\Re(\left(\left(\left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(15 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - 0.0 \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(15 \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + 0.0 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) + \left(\left(\left(20 \cdot -1 - 0.0 \cdot 1\right) + \left(20 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(15 + 0.0 i\right)\right)\right)\right) + \left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
        double r1103704 = -1.0;
        double r1103705 = 1.0;
        double r1103706 = /* ERROR: no complex support in C */;
        double r1103707 = r1103706 * r1103706;
        double r1103708 = r1103707 * r1103706;
        double r1103709 = r1103708 * r1103706;
        double r1103710 = r1103709 * r1103706;
        double r1103711 = r1103710 * r1103706;
        double r1103712 = 6.0;
        double r1103713 = 0.0;
        double r1103714 = /* ERROR: no complex support in C */;
        double r1103715 = r1103714 * r1103706;
        double r1103716 = r1103715 * r1103706;
        double r1103717 = r1103716 * r1103706;
        double r1103718 = r1103717 * r1103706;
        double r1103719 = r1103718 * r1103706;
        double r1103720 = r1103711 + r1103719;
        double r1103721 = 15.0;
        double r1103722 = /* ERROR: no complex support in C */;
        double r1103723 = r1103722 * r1103706;
        double r1103724 = r1103723 * r1103706;
        double r1103725 = r1103724 * r1103706;
        double r1103726 = r1103725 * r1103706;
        double r1103727 = r1103720 + r1103726;
        double r1103728 = 20.0;
        double r1103729 = /* ERROR: no complex support in C */;
        double r1103730 = r1103729 * r1103706;
        double r1103731 = r1103730 * r1103706;
        double r1103732 = r1103731 * r1103706;
        double r1103733 = r1103727 + r1103732;
        double r1103734 = r1103733 + r1103724;
        double r1103735 = r1103734 + r1103715;
        double r1103736 = /* ERROR: no complex support in C */;
        double r1103737 = r1103735 + r1103736;
        double r1103738 = /* ERROR: no complex support in C */;
        return r1103738;
}

double f() {
        double r1103739 = -1.0;
        double r1103740 = r1103739 * r1103739;
        double r1103741 = 1.0;
        double r1103742 = r1103741 * r1103741;
        double r1103743 = r1103740 - r1103742;
        double r1103744 = r1103741 * r1103739;
        double r1103745 = r1103744 + r1103744;
        double r1103746 = /* ERROR: no complex support in C */;
        double r1103747 = 15.0;
        double r1103748 = r1103747 * r1103743;
        double r1103749 = 0.0;
        double r1103750 = r1103749 * r1103745;
        double r1103751 = r1103748 - r1103750;
        double r1103752 = r1103747 * r1103745;
        double r1103753 = r1103749 * r1103743;
        double r1103754 = r1103752 + r1103753;
        double r1103755 = /* ERROR: no complex support in C */;
        double r1103756 = 20.0;
        double r1103757 = r1103756 * r1103739;
        double r1103758 = r1103749 * r1103741;
        double r1103759 = r1103757 - r1103758;
        double r1103760 = r1103756 * r1103741;
        double r1103761 = r1103749 * r1103739;
        double r1103762 = r1103760 + r1103761;
        double r1103763 = /* ERROR: no complex support in C */;
        double r1103764 = /* ERROR: no complex support in C */;
        double r1103765 = r1103763 + r1103764;
        double r1103766 = r1103755 + r1103765;
        double r1103767 = r1103746 * r1103766;
        double r1103768 = 6.0;
        double r1103769 = r1103768 * r1103739;
        double r1103770 = r1103769 - r1103758;
        double r1103771 = r1103768 * r1103741;
        double r1103772 = r1103771 + r1103761;
        double r1103773 = /* ERROR: no complex support in C */;
        double r1103774 = r1103767 + r1103773;
        double r1103775 = r1103743 * r1103743;
        double r1103776 = r1103745 * r1103745;
        double r1103777 = r1103775 - r1103776;
        double r1103778 = r1103745 * r1103743;
        double r1103779 = r1103778 + r1103778;
        double r1103780 = /* ERROR: no complex support in C */;
        double r1103781 = r1103773 + r1103746;
        double r1103782 = r1103780 * r1103781;
        double r1103783 = r1103774 + r1103782;
        double r1103784 = /* ERROR: no complex support in C */;
        double r1103785 = r1103783 + r1103784;
        double r1103786 = /* ERROR: no complex support in C */;
        return r1103786;
}

Error

Derivation

  1. Initial program 0

    \[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Re(\left(\left(\left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(15 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - 0.0 \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(15 \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + 0.0 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) + \left(\left(\left(20 \cdot -1 - 0.0 \cdot 1\right) + \left(20 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(15 + 0.0 i\right)\right)\right)\right) + \left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Re(\left(\left(\left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(15 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - 0.0 \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(15 \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + 0.0 \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) + \left(\left(\left(20 \cdot -1 - 0.0 \cdot 1\right) + \left(20 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(15 + 0.0 i\right)\right)\right)\right) + \left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(\left(-1 \cdot -1 - 1 \cdot 1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(-1 \cdot -1 - 1 \cdot 1\right)\right) i\right) \cdot \left(\left(\left(6 \cdot -1 - 0.0 \cdot 1\right) + \left(6 \cdot 1 + 0.0 \cdot -1\right) i\right) + \left(\left(-1 \cdot -1 - 1 \cdot 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]

Reproduce

herbie shell --seed 2019174 
(FPCore ()
  :name "3.9.1 real part (p56)"
  (re (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1.0 1.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (* (* (* (* (* (complex 6.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))