1 2 3 4 5 6 7 8 9 10 11
// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; contract test { function f(uint x, uint y, uint k) public pure { require(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0); } }