def mpf_ci_si_taylor(x, wp, which=0):
    x = to_fixed(x, wp)
    x2 = -(x*x) >> wp
    if which == 0:
        s, t, k = 0, (MPZ_ONE<<wp), 2
    else:
        s, t, k = x, x, 3
    while t:
        t = (t*x2//(k*(k-1)))>>wp
        s += t//k
        k += 2
    return from_man_exp(s, -wp)
0 - Ci(x) - (euler+log(x))
dataset/ETHPy150Open fredrik-johansson/mpmath/mpmath/libmp/libhyper.py/mpf_ci_si_taylor