>>145
>>144にあれこれ付け足して〜

Complex Hoge1(const Complex& a, const Complex& b, const Complex& c, const Complex& d)
{
    Complex e = a * b + c * d;
    return e;
}

Complex Hoge2(const Complex& a, const Complex& b, const Complex& c, const Complex& d)
{
    Complex e;
    Complex t1;
    Complex t2;

    Mul(&t1, a, b);
    Mul(&t2, c, d);
    Add(&e, t1, t2);
    return e;
}

この2つはほぼ同一のアセンブリコードと相成りました。(って当たり前?)
Hoge2式でも、大抵のケースでは無駄になってしまうんじゃないかなあ。
確保済みのComplexに対しての大量一括計算か何かがあれば
有効になってくるかもしんないけど。