rightAddMultipliedByDoubling

inline fun <C> rightAddMultipliedByDoubling(base: C, arg: C, multiplier: Int, additionOp: (C, C) -> C, negationOp: (C) -> C): C
inline fun <C> rightAddMultipliedByDoubling(base: C, arg: C, multiplier: Int, additionOp: (C, C) -> C, rightSubtractionOp: (C, C) -> C): C
inline fun <C> rightAddMultipliedByDoubling(base: C, arg: C, multiplier: UInt, additionOp: (C, C) -> C): C
inline fun <C> rightAddMultipliedByDoubling(base: C, arg: C, multiplier: Long, additionOp: (C, C) -> C, negationOp: (C) -> C): C
inline fun <C> rightAddMultipliedByDoubling(base: C, arg: C, multiplier: Long, additionOp: (C, C) -> C, rightSubtractionOp: (C, C) -> C): C
inline fun <C> rightAddMultipliedByDoubling(base: C, arg: C, multiplier: ULong, additionOp: (C, C) -> C): C