pub fn sl20(x: f64) -> f64 {
let pi = core::f64::consts::PI;
let pi2 = pi*pi;
let pi4 = pi2*pi2;
let pi6 = pi4*pi2;
let pi8 = pi4*pi4;
let pi10 = pi6*pi4;
let pi12 = pi6*pi6;
let pi14 = pi8*pi6;
let pi16 = pi8*pi8;
let pi18 = pi10*pi8;
let pi20 = pi10*pi10;
let x2 = x*x;
174611.0*pi20/1531329465290625.0 + x2*(-43867.0*pi18/77958590960250.0 + x2*(3617.0*pi16/7815397590000.0 + x2*(-1.0/6567561000.0*pi14 + x2*(691.0*pi12/25744839120000.0 + x2*(-1.0/339492384000.0*pi10 + x2*(pi8/4526565120000.0 + x2*(-1.0/82383485184000.0*pi6 + x2*(pi4/1883051089920000.0 + x2*(-1.0/38414242234368000.0*pi2 + (pi/243290200817664000.0 - 1.0/4865804016353280000.0*x)*x)))))))))
}