program main
  fn base() -> u32
    u32 1073741824
  fn adjust(value: u32, delta: u32) -> u32
    binary +
      var value
      var delta
  fn doubled(value: u32) -> u32
    binary *
      var value
      u32 2
  fn local_total() -> u32
    local let offset: u32
      u32 15
    call adjust
      call doubled
        call base
      var offset
  fn high_enough(value: u32) -> bool
    if
      binary >
        var value
        u32 2147483660
      binary <
        var value
        u32 2147483670
      bool false
  fn exact_u32() -> bool
    binary =
      call local_total
      u32 2147483663
  fn main() -> i32
    call std.io.print_u32
      call local_total
    if
      call high_enough
        call local_total
      int 0
      int 1
  test "u32 arithmetic returns exact fixture value"
    call exact_u32
  test "u32 comparison works in predicates"
    call high_enough
      call local_total
  test "u32 division and ordering"
    if
      binary >=
        binary /
          call local_total
          u32 3
        u32 715827887
      binary <=
        binary /
          call local_total
          u32 3
        u32 715827887
      bool false
