mpfr_t を主なデータ型として使用する関数を作成しています。この関数には、中間結果を格納するために一時変数を必要とする長い一連の操作があります。必要な一時変数の数を最小限に抑えたいので、次のようにしています。
mpfr_t tmp1;
mpfr_t tmp2;
mpfr_sub(tmp1, a, b, MPFR_RNDN);
mpfr_mul(tmp2, c, d, MPFR_RNDN);
mpfr_add(tmp2, tmp1, a, MPFR_RNDN);
その後、関数の後半で:
mpfr_mul(tmp1, e, f, MPFR_RNDN);
で再割り当てされたときに、変数から完全にクリアされる tmp1 の以前の値に頼ることはできますe*f
か?