### 10.6 Computing bounds on `poly_int`s

`poly_int` also provides routines for calculating lower and upper bounds:

‘`constant_lower_bound (a)`’

  Assert that a is nonnegative and return the smallest value it can have.

‘`lower_bound (a, b)`’

  Return a value that is always less than or equal to both a and b. It will be the greatest such value for some indeterminate values but necessarily for all.

‘`upper_bound (a, b)`’

  Return a value that is always greater than or equal to both a and b. It will be the least such value for some indeterminate values but necessarily for all.