1
Implement binary_search(arr, target) iteratively — no recursion
2
Return the zero-based index if found, or -1 if not found
3
Do not use arr.index() or in — you must compute midpoints manually
4
Demonstrate with at least three test cases: a match, a non-match, and an edge case