function thetaToArcLength(theta, spiralParams, start = 0) {
const { a, b } = spiralParams;
const c = start;
const d = theta;
const aPlusBj = a + b * d;
const sqr = num => Math.pow(num, 2);
const sqrt = num => Math.sqrt(num);
const ln = num => Math.log(num);
const abs = num => Math.abs(num);
return (
b *
(((a + b * d) * sqrt(sqr(b) + sqr(a + b * d))) / (2 * sqr(b)) -
((a + b * c) * sqrt(sqr(b) + sqr(a + b * c))) / (2 * sqr(b)) +
.5 *
(ln(abs(a + b * d + sqrt(sqr(b) + sqr(a + b * d))) / abs(b)) -
ln(abs(a + b * c + sqrt(sqr(b) + sqr(a + b * c))) / abs(b))))
);
}