inline fvar<T> modified_bessel_first_kind(int v, const fvar<T>& z) { T modified_bessel_first_kind_z(modified_bessel_first_kind(v, z.val_)); return fvar<T>(modified_bessel_first_kind_z, -v * z.d_ * modified_bessel_first_kind_z / z.val_ + z.d_ * modified_bessel_first_kind(v - 1, z.val_)); }
inline T0 operator()(const T0& arg1) const { return modified_bessel_first_kind(1,arg1); }