Computing values of the spherical Bessel functions consumes lots of CPU cycles. Since the ddX solves equations iteratively for the same geometry, the spherical Bessel functions are computed for the same set of input values many times. As a matter of enhancement, it would be nice to precompute all the reused values once and just reuse them.