さまざまな式のコンポーネントが重複している場合、コンパイラーがそれらを最適化できることを確認してください。 算術式の場合、コンパイラーは、左から右への COBOL の評価規則に従います。したがって、すべての重複を式の左側に移動させるか、または括弧で囲んでグループ化します。
例えば、V1 から V5 が変数の場合、V2 * V3 * V4 の計算は、次の 2 つのステートメントで重複します (共通の副次式と呼ばれます)。
COMPUTE A = V1 * (V2 * V3 * V4) COMPUTE B = V2 * V3 * V4 * V5
次の例では、V2 + V3 が共通の副次式です。
COMPUTE C = V1 + (V2 + V3) COMPUTE D = V2 + V3 + V4
次の例に、共通の副次式はありません。
COMPUTE A = V1 * V2 * V3 * V4 COMPUTE B = V2 * V3 * V4 * V5 COMPUTE C = V1 + (V2 + V3) COMPUTE D = V4 + V2 + V3
最適化プログラムは重複計算を除去することができます。人工的な一時計算を取り入れる必要はありません。不要な処理が入らなければ、プログラムはわかりやすいものになります。