In a practical implementation, the variables used to represent the indices will often be of fixed size (integers), and this can result in an arithmetic overflow for very large arrays. If the midpoint of the span is calculated as formula_16, then the value of formula_175 may exceed the range of integers of the data type used to store the midpoint, even if formula_10 and formula_12 are within the range. If "formula_10" and "formula_12" are nonnegative, this can be avoided by calculating the midpoint as formula_180.