evaluate_quadgk is adapted form Octave (quadgk.m).
integrate_quadgk is based on ideas from Octave (quadgk.m), but a little bit different and sometimes it is faster and more accurate than quadgk.
Gauss-Kronrod nodes and weights were taken from original QUADPACK fortran implementation