def METHOD_NAME(q, v):
    qi2 = q[q_i] * q[q_i]
    qiqx = q[q_i] * q[q_x]
    qiqy = q[q_i] * q[q_y]
    qiqz = q[q_i] * q[q_z]
    qx2 = q[q_x] * q[q_x]
    qxqy = q[q_x] * q[q_y]
    qxqz = q[q_x] * q[q_z]
    qy2 = q[q_y] * q[q_y]
    qyqz = q[q_y] * q[q_z]
    qz2 = q[q_z] * q[q_z]
    m00 = qi2 + qx2 - qy2 - qz2
    m01 = 2 * (qxqy + qiqz)
    m02 = 2 * (qxqz - qiqy)
    m10 = 2 * (qxqy - qiqz)
    m11 = qi2 - qx2 + qy2 - qz2
    m12 = 2 * (qyqz + qiqx)
    m20 = 2 * (qxqz + qiqy)
    m21 = 2 * (qyqz - qiqx)
    m22 = qi2 - qx2 - qy2 + qz2
    return [
        m00 * v[v_x] + m10 * v[v_y] + m20 * v[v_z],
        m01 * v[v_x] + m11 * v[v_y] + m21 * v[v_z],
        m02 * v[v_x] + m12 * v[v_y] + m22 * v[v_z]]