def perform_SRA_step(t, h, f, g, y, I_1, I_10):
    """
	Optimised step evaluation. Tested against a human-readable version in test_step_functions.py.
	"""
    fh_1 = f(t, y) * h
    g_1 = g(t + h)
    fh_2 = f(t + 3 / 4 * h, y + 3 / 4 * fh_1 + 1 / 2 * g_1 * I_10 / h) * h
    g_2 = g(t)
    E_N = I_10 / h * (g_2 - g_1)
    new_y = y + E_N + 1 / 3 * (fh_1 + 2 * fh_2) + I_1 * g_1
    E_D = (fh_2 - fh_1) / 6
    return new_y, E_D, E_N
