raddy 0.0.0-beta2

An automatic differentiation system for geometry and simulation.
Documentation
/*

* Code generated by Symars. Thank you for using Symars!
  Symars is licensed under MIT licnese.
  Repository: https://github.com/Da1sypetals/

* Computation code is not intended for manual editing.

* If you find an error,
  or if you believe Symars generates incorrect result,
  please raise an issue under our repo with minimal reproducible example.

*/

#![allow(unused)]
#![cfg_attr(rustfmt, rustfmt_skip)]

#[inline]
pub fn grad_001(s: f64) -> f64 {
    ((-(((s).powi(4)) * ((s).sin())))
        + ((4.0000000000000000000_f64) * ((s).powi(3)) * ((s).cos()))
        + ((3.20000000000000_f64)
            * ((s).powf(2.20000000000000_f64))
            * (((s).powf(3.20000000000000_f64)).sinh())))
}

#[inline]
pub fn hess_001(s: f64) -> f64 {
    let __intermediate_result_3 = (s).cos();
    let __intermediate_result_12 = (s).powf(3.20000000000000_f64);

    ((-(((s).powi(4)) * (__intermediate_result_3)))
        + ((-8.0000000000000000000_f64) * ((s).powi(3)) * ((s).sin()))
        + ((12.000000000000000000_f64) * ((s).powi(2)) * (__intermediate_result_3))
        + ((10.2400000000000_f64)
            * ((s).powf(4.40000000000000_f64))
            * ((__intermediate_result_12).cosh()))
        + ((7.04000000000000_f64)
            * ((s).powf(1.20000000000000_f64))
            * ((__intermediate_result_12).sinh())))
}

#[inline]
pub fn grad_002(s: f64) -> f64 {
    let __intermediate_result_2 = (s).recip();

    (((3.0000000000000000000_f64)
        * (__intermediate_result_2)
        * (((__intermediate_result_2).ln()).powi(2)))
        + ((4.0000000000000000000_f64)
            * (__intermediate_result_2)
            * (((10.000000000000000000_f64).ln()).recip())))
}

#[inline]
pub fn hess_002(s: f64) -> f64 {
    let __intermediate_result_2 = (s).powi(-2);
    let __intermediate_result_3 = ((s).recip()).ln();

    (((-6.0000000000000000000_f64) * (__intermediate_result_2) * (__intermediate_result_3))
        + ((-4.0000000000000000000_f64)
            * (__intermediate_result_2)
            * (((10.000000000000000000_f64).ln()).recip()))
        + ((-3.0000000000000000000_f64)
            * (__intermediate_result_2)
            * ((__intermediate_result_3).powi(2))))
}

#[inline]
pub fn grad_003(s: f64) -> f64 {
    ((-((s).exp()))
        + ((((1.0000000000000000000_f64) + (-((s).powi(2)))).powf(-0.50000000000000000000_f64))
            * (((s).acos()).powi(-2))))
}

#[inline]
pub fn hess_003(s: f64) -> f64 {
    let __intermediate_result_5 = ((1.0000000000000000000_f64) + (-((s).powi(2))));
    let __intermediate_result_9 = (s).acos();

    ((-((s).exp()))
        + ((2.0000000000000000000_f64)
            * ((__intermediate_result_5).recip())
            * ((__intermediate_result_9).powi(-3)))
        + ((s)
            * ((__intermediate_result_5).powf(-1.5000000000000000000_f64))
            * ((__intermediate_result_9).powi(-2))))
}