pub fn cot_frule<S: ScalarAd>(x: S, dx: S) -> (S, S)
Forward rule for cot.
cot
use chainrules::cot_frule; let (_, dy) = cot_frule(0.5_f64, 1.0); assert!((dy + 1.0 / 0.5_f64.sin().powi(2)).abs() < 1e-12);