1. A computer implemented method of optimizing a binary code in a language having access to a binary coded decimal (hereinafter referred to as BCD) variable by converting a BCD operation to a decimal floating point (hereinafter referred to as DFP) operation, the method comprising: generating a first compiler expression of the binary code; analyzing a use-definition chain and/or a definition-use chain for the first compiler expression; generating a second compiler expression by identifying logical BCD variables in the first compiler expression based on a result of the analysis; assigning temporary variables to the identified logical BCD variables, wherein the second compiler expression includes packed decimal operations and the assigned temporary variables; and converting at least one of the packed decimal operations in the second compiler expression and at least one of the assigned temporary variables to the DFP operation if sign information and precision information are not lost by the conversion from the BCD operation to the DFP operation, wherein identifying logical BCD variables in the first compiler expression based the result of the analysis includes, in the use-definition and/or definition-use chains of operands in the first compiler expression, regarding an operand of definition (def) and an operand of use (use) as the same logical BCD variables, and wherein, regarding the operands as the same logical BCD variables, if, in the use-definition and/or definition-use chains of the operands in the first compiler expression, there is a use (use) dominated by a definition (def), there is not another definition (def) for the use (use) in any path between the definition (def) and the use (use), and the use (use) exists for the definition (def) as only one use, regarding operands of the use (use) and the definition (def) as the same logical BCD variables if; right-end addresses of the operands of the use (use) and the definition (def) are the same; the operands of the use (use) and the definition (def) are the same BCD type; a size of the operand of use (use) is larger than the size of the operand of definition (def); and zero is put in an area where the operand of use (use) and the operand of definition (def) do not overlap.