// Original CPU teaching model; not a device simulator or benchmark.
#include <iostream>
#include <cstdint>
#include <limits>
#include <stdexcept>

void require(bool ok) { if (!ok) throw std::runtime_error("model check failed"); }

bool increases(std::uint32_t x) {
 const std::uint32_t next=x+std::uint32_t{1};return next>x;
}
int main() {
 const bool ordinary=increases(7),edge=increases(std::numeric_limits<std::uint32_t>::max());
 require(ordinary && !edge);
 std::cout<<"ordinary="<<ordinary<<" at_max="<<edge<<'\n';
}

