code: def test_nonlin_bc():
      x = np.linspace(0, 0.1, 5)
      x_test = x
      y = np.zeros([2, x.size])
      sol = solve_bvp(nonlin_bc_fun, nonlin_bc_bc, x, y)
  
      assert_equal(sol.status, 0)
      assert_(sol.success)
  
      assert_(sol.x.size < 8)
  
      sol_test = sol.sol(x_test)
      assert_allclose(
          sol_test[0], nonlin_bc_sol(x_test), rtol=1e-5, atol=1e-5
      )
  
      f_test = nonlin_bc_fun(x_test, sol_test)
      r = sol.sol(x_test, 1) - f_test
      rel_res = r / (1 + np.abs(f_test))
      norm_res = np.sum(rel_res**2, axis=0) ** 0.5
  
      assert_(np.all(norm_res < 1e-3))
      assert_allclose(sol.sol(sol.x), sol.y, rtol=1e-10, atol=1e-10)
      assert_allclose(sol.sol(sol.x, 1), sol.yp, rtol=1e-10, atol=1e-10)
  
imports: import sys
  import numpy
  from numpy.testing import assert_, assert_array_equal, assert_allclose, assert_equal
  from pytest import raises
  from scipy.sparse import coo_matrix
  from scipy.special import erf
  from scipy.integrate._bvp import modify_mesh, estimate_fun_jac, estimate_bc_jac, compute_jac_indices, construct_global_jac, solve_bvp
label_desc: Use image node_id 47 for calling a global function with example usage: test_nonlin_bc() without return types