```\nFile: InterestRateCurve.sol\n    function _getNetCashAmountsUnderlying(\n        InterestRateParameters memory irParams,\n        MarketParameters memory market,\n        CashGroupParameters memory cashGroup,\n        int256 totalCashUnderlying,\n        int256 fCashToAccount,\n        uint256 timeToMaturity\n    ) private pure returns (int256 postFeeCashToAccount, int256 netUnderlyingToMarket, int256 cashToReserve) {\n        uint256 utilization = getfCashUtilization(fCashToAccount, market.totalfCash, totalCashUnderlying);\n        // Do not allow utilization to go above 100 on trading\n        if (utilization > uint256(Constants.RATE_PRECISION)) return (0, 0, 0);\n        uint256 preFeeInterestRate = getInterestRate(irParams, utilization);\n\n        int256 preFeeCashToAccount = fCashToAccount.divInRatePrecision(\n            getfCashExchangeRate(preFeeInterestRate, timeToMaturity)\n        ).neg();\n\n        uint256 postFeeInterestRate = getPostFeeInterestRate(irParams, preFeeInterestRate, fCashToAccount < 0);\n        postFeeCashToAccount = fCashToAccount.divInRatePrecision(\n            getfCashExchangeRate(postFeeInterestRate, timeToMaturity)\n        ).neg();\n```\n