```\n/// @dev Adds two numbers, reverting on overflow.\nfunction \_add(int256 a, int256 b) private pure returns (int256 c) {\n    c = a + b;\n    if (c > 0 && a < 0 && b < 0) {\n        LibRichErrors.rrevert(LibFixedMathRichErrors.BinOpError(\n            LibFixedMathRichErrors.BinOpErrorCodes.SUBTRACTION\_OVERFLOW,\n            a,\n            b\n        ));\n    }\n    if (c < 0 && a > 0 && b > 0) {\n        LibRichErrors.rrevert(LibFixedMathRichErrors.BinOpError(\n            LibFixedMathRichErrors.BinOpErrorCodes.ADDITION\_OVERFLOW,\n            a,\n            b\n        ));\n    }\n}\n```\n