Summary: This diff tries to make less imprecise division by constants results. For example, the results of the division `[l, u] / c`, where `c` is a positive constant, are: 1. If `l/c` or `u/c` is representable in the bound domain, it uses the precise bounds, i.e., `[l/c, u/c]`. 2. If it is not representable, it tries to make conservative results: if `0<=l<=u`, it returns `[0, u]` because `0 <= [l/c, u/c] <= u` if `l<=u<=0`, it returns `[l, 0]` because `l <= [l/c, u/c] <= 0` if `l<=0<=u`, it returns `[l, u]` because `l <= [l/c, u/c] <= u` 3. otherwise, it returns top, `[-oo, +oo]` Reviewed By: ezgicicek Differential Revision: D18270380 fbshipit-source-id: 8fb14c0e4master
parent
4c6ae7d22d
commit
88813fdaa7
Loading…
Reference in new issue