```\n    if (cliff < totalCliffs) {\n        /// e.g. (new) reduction = (500 - 100) * 2.5 + 700 = 1700;\n        /// e.g. (new) reduction = (500 - 250) * 2.5 + 700 = 1325;\n        /// e.g. (new) reduction = (500 - 400) * 2.5 + 700 = 950;\n        uint256 reduction = ((totalCliffs - cliff) * 5) / 2 + 700;\n        /// e.g. (new) amount = 1e19 * 1700 / 500 =  34e18;\n        /// e.g. (new) amount = 1e19 * 1325 / 500 =  26.5e18;\n        /// e.g. (new) amount = 1e19 * 950 / 500  =  19e17;\n        mintAmount = (mintRequestAmount * reduction) / totalCliffs;\n\n        /// e.g. amtTillMax = 5e25 - 1e25 = 4e25\n        uint256 amtTillMax = emissionMaxSupply - emissionsMinted;\n        if (mintAmount > amtTillMax) {\n            mintAmount = amtTillMax;\n        }\n    }\n```\n