add range check lower limit param A
add range check param A upper limit
add range check param B lower limit
add range check param B upper limit
add range check param C lower limit
add range check param C upper limit
add range check param D lower limit
add range check param D upper limit
cleanup: move coefficient check into function
cleanup: move parameter check into function