functionf_nonlinear