def METHOD_NAME(configData, sigma_R0N, omega_R0N_N, domega_R0N_N, callTime):
    def computeEuler321_Binv_derivative(angleSet, angleRates):
        theta = angleSet[1]
        phi = angleSet[2]
        thetaDot = angleRates[1]
        phiDot = angleRates[2]
        B_inv_deriv = [
            [-thetaDot*cos(theta), 0, 0],
            [phiDot*cos(phi)*cos(theta)-thetaDot*sin(phi)*sin(theta), -phiDot*sin(phi), 0],
            [-phiDot*sin(phi)*cos(theta)-thetaDot*cos(phi)*cos(theta), -phiDot*cos(phi), 0]
        ]
        return B_inv_deriv
    angleSet = configData[0]
    angleRates = configData[1]
    dt = configData[2]
    # Compute attitude set
    R0N = rbk.MRP2C(sigma_R0N)
    angleSet += dt * angleRates
    RR0 = rbk.euler3212C(angleSet)
    RN = np.dot(RR0, R0N)
    sigma_RN = rbk.C2MRP(RN)
    # Compute angular velocity
    B_inv = rbk.BinvEuler321(angleSet)
    omega_RR0_R = np.dot(B_inv, angleRates)
    omega_RR0_N = np.dot(RN.T, omega_RR0_R)
    omega_RN_N = omega_RR0_N + omega_R0N_N
    # Compute angular acceleration
    B_inv_deriv = computeEuler321_Binv_derivative(angleSet, angleRates)
    domega_RR0_R = np.dot(B_inv_deriv, angleRates)
    domega_RR0_N = np.dot(RN.T, domega_RR0_R) + np.cross(omega_R0N_N, omega_RR0_N)
    domega_RN_N = domega_RR0_N + domega_R0N_N
    # Print results
    def printData():
        print('callTime = ', callTime)
        print('eulerAngleSet = ', angleSet)
        print('B_inv_deriv = ', B_inv_deriv)
        print('sigma_RN = ', sigma_RN)
        print('omega_RN_N = ', omega_RN_N)
        print('domega_RN_N = ', domega_RN_N)
        print('\n')
    printData()
    return angleSet