program main
  fn base() -> i64
    i64 2147483648
  fn adjust(value: i64, delta: i64) -> i64
    binary +
      var value
      var delta
  fn doubled(value: i64) -> i64
    binary *
      var value
      i64 2
  fn local_total() -> i64
    local let offset: i64
      i64 -7
    call adjust
      binary -
        call doubled
          call base
        i64 0
      var offset
  fn high_enough(value: i64) -> bool
    if
      binary >
        var value
        i64 4294967280
      binary <
        var value
        i64 4294967300
      bool false
  fn exact_i64() -> bool
    binary =
      call local_total
      i64 4294967289
  fn main() -> i32
    call std.io.print_i64
      call local_total
    if
      call high_enough
        call local_total
      int 0
      int 1
  test "i64 arithmetic returns exact fixture value"
    call exact_i64
  test "i64 comparison works in predicates"
    call high_enough
      call local_total
  test "i64 division and ordering"
    if
      binary >=
        binary /
          call local_total
          i64 3
        i64 1431655763
      binary <=
        binary /
          call local_total
          i64 3
        i64 1431655763
      bool false
