Average Error: 60.0 → 1.1
Time: 7.1m
Precision: 64
\[\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)\]
\[\mathsf{fma}\left(676.5203681218851, \frac{\log 6.5 \cdot \sqrt{2}}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(338.26018406094255, \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right) \cdot \frac{\sqrt{2} \cdot \left(z \cdot \left(\log 6.5 \cdot \log 6.5\right)\right)}{e^{6.5}}, \mathsf{fma}\left(169.13009203047127, \frac{z \cdot \sqrt{2}}{e^{6.5}} \cdot \left(\sqrt{\pi} \cdot {\left(\frac{1}{{6.5}^{5.0}}\right)}^{0.5}\right), \mathsf{fma}\left(2581.191799681222, \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right) \cdot \frac{z \cdot \sqrt{2}}{e^{6.5}}, 676.5203681218851 \cdot \left(\left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt{\pi}\right)\right)\right) \cdot \frac{\sqrt{2}}{e^{6.5} \cdot z}\right)\right)\right)\right)\right) - \mathsf{fma}\left(1656.8104518737205, \frac{\sqrt{2} \cdot \left(\log 6.5 \cdot z\right)}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), 1656.8104518737205 \cdot \left(\left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right) \cdot \frac{\sqrt{2}}{e^{6.5}}\right)\right)\]
\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)
\mathsf{fma}\left(676.5203681218851, \frac{\log 6.5 \cdot \sqrt{2}}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(338.26018406094255, \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right) \cdot \frac{\sqrt{2} \cdot \left(z \cdot \left(\log 6.5 \cdot \log 6.5\right)\right)}{e^{6.5}}, \mathsf{fma}\left(169.13009203047127, \frac{z \cdot \sqrt{2}}{e^{6.5}} \cdot \left(\sqrt{\pi} \cdot {\left(\frac{1}{{6.5}^{5.0}}\right)}^{0.5}\right), \mathsf{fma}\left(2581.191799681222, \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right) \cdot \frac{z \cdot \sqrt{2}}{e^{6.5}}, 676.5203681218851 \cdot \left(\left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt{\pi}\right)\right)\right) \cdot \frac{\sqrt{2}}{e^{6.5} \cdot z}\right)\right)\right)\right)\right) - \mathsf{fma}\left(1656.8104518737205, \frac{\sqrt{2} \cdot \left(\log 6.5 \cdot z\right)}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), 1656.8104518737205 \cdot \left(\left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right) \cdot \frac{\sqrt{2}}{e^{6.5}}\right)\right)
double f(double z) {
        double r4337639 = atan2(1.0, 0.0);
        double r4337640 = 2.0;
        double r4337641 = r4337639 * r4337640;
        double r4337642 = sqrt(r4337641);
        double r4337643 = z;
        double r4337644 = 1.0;
        double r4337645 = r4337643 - r4337644;
        double r4337646 = 7.0;
        double r4337647 = r4337645 + r4337646;
        double r4337648 = 0.5;
        double r4337649 = r4337647 + r4337648;
        double r4337650 = r4337645 + r4337648;
        double r4337651 = pow(r4337649, r4337650);
        double r4337652 = r4337642 * r4337651;
        double r4337653 = -r4337649;
        double r4337654 = exp(r4337653);
        double r4337655 = r4337652 * r4337654;
        double r4337656 = 0.9999999999998099;
        double r4337657 = 676.5203681218851;
        double r4337658 = r4337645 + r4337644;
        double r4337659 = r4337657 / r4337658;
        double r4337660 = r4337656 + r4337659;
        double r4337661 = -1259.1392167224028;
        double r4337662 = r4337645 + r4337640;
        double r4337663 = r4337661 / r4337662;
        double r4337664 = r4337660 + r4337663;
        double r4337665 = 771.3234287776531;
        double r4337666 = 3.0;
        double r4337667 = r4337645 + r4337666;
        double r4337668 = r4337665 / r4337667;
        double r4337669 = r4337664 + r4337668;
        double r4337670 = -176.6150291621406;
        double r4337671 = 4.0;
        double r4337672 = r4337645 + r4337671;
        double r4337673 = r4337670 / r4337672;
        double r4337674 = r4337669 + r4337673;
        double r4337675 = 12.507343278686905;
        double r4337676 = 5.0;
        double r4337677 = r4337645 + r4337676;
        double r4337678 = r4337675 / r4337677;
        double r4337679 = r4337674 + r4337678;
        double r4337680 = -0.13857109526572012;
        double r4337681 = 6.0;
        double r4337682 = r4337645 + r4337681;
        double r4337683 = r4337680 / r4337682;
        double r4337684 = r4337679 + r4337683;
        double r4337685 = 9.984369578019572e-06;
        double r4337686 = r4337685 / r4337647;
        double r4337687 = r4337684 + r4337686;
        double r4337688 = 1.5056327351493116e-07;
        double r4337689 = 8.0;
        double r4337690 = r4337645 + r4337689;
        double r4337691 = r4337688 / r4337690;
        double r4337692 = r4337687 + r4337691;
        double r4337693 = r4337655 * r4337692;
        return r4337693;
}

double f(double z) {
        double r4337694 = 676.5203681218851;
        double r4337695 = 6.5;
        double r4337696 = log(r4337695);
        double r4337697 = 2.0;
        double r4337698 = sqrt(r4337697);
        double r4337699 = r4337696 * r4337698;
        double r4337700 = exp(r4337695);
        double r4337701 = r4337699 / r4337700;
        double r4337702 = 1.0;
        double r4337703 = 1.0;
        double r4337704 = pow(r4337695, r4337703);
        double r4337705 = r4337702 / r4337704;
        double r4337706 = 0.5;
        double r4337707 = pow(r4337705, r4337706);
        double r4337708 = atan2(1.0, 0.0);
        double r4337709 = sqrt(r4337708);
        double r4337710 = r4337707 * r4337709;
        double r4337711 = r4337701 * r4337710;
        double r4337712 = 338.26018406094255;
        double r4337713 = z;
        double r4337714 = r4337696 * r4337696;
        double r4337715 = r4337713 * r4337714;
        double r4337716 = r4337698 * r4337715;
        double r4337717 = r4337716 / r4337700;
        double r4337718 = r4337710 * r4337717;
        double r4337719 = 169.13009203047127;
        double r4337720 = r4337713 * r4337698;
        double r4337721 = r4337720 / r4337700;
        double r4337722 = 5.0;
        double r4337723 = pow(r4337695, r4337722);
        double r4337724 = r4337702 / r4337723;
        double r4337725 = pow(r4337724, r4337706);
        double r4337726 = r4337709 * r4337725;
        double r4337727 = r4337721 * r4337726;
        double r4337728 = 2581.191799681222;
        double r4337729 = r4337710 * r4337721;
        double r4337730 = log1p(r4337709);
        double r4337731 = expm1(r4337730);
        double r4337732 = r4337707 * r4337731;
        double r4337733 = r4337700 * r4337713;
        double r4337734 = r4337698 / r4337733;
        double r4337735 = r4337732 * r4337734;
        double r4337736 = r4337694 * r4337735;
        double r4337737 = fma(r4337728, r4337729, r4337736);
        double r4337738 = fma(r4337719, r4337727, r4337737);
        double r4337739 = fma(r4337712, r4337718, r4337738);
        double r4337740 = fma(r4337694, r4337711, r4337739);
        double r4337741 = 1656.8104518737205;
        double r4337742 = r4337696 * r4337713;
        double r4337743 = r4337698 * r4337742;
        double r4337744 = r4337743 / r4337700;
        double r4337745 = r4337744 * r4337710;
        double r4337746 = r4337698 / r4337700;
        double r4337747 = r4337710 * r4337746;
        double r4337748 = r4337741 * r4337747;
        double r4337749 = fma(r4337741, r4337745, r4337748);
        double r4337750 = r4337740 - r4337749;
        return r4337750;
}

Error

Bits error versus z

Derivation

  1. Initial program 60.0

    \[\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)\]
  2. Simplified1.1

    \[\leadsto \color{blue}{\frac{{\left(\left(z - -6\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)} \cdot \sqrt{\pi \cdot 2}}{e^{\left(z - -6\right) + 0.5}} \cdot \left(\left(\left(\left(\frac{-0.13857109526572012}{6 + \left(z - 1\right)} + \left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{z}\right) + \frac{771.3234287776531}{z + 2}\right) + \frac{-1259.1392167224028}{z + 1}\right)\right) + \frac{-176.6150291621406}{z - -3}\right) + \frac{12.507343278686905}{z - -4}\right) + \left(\frac{9.984369578019572 \cdot 10^{-06}}{z - -6} + \frac{1.5056327351493116 \cdot 10^{-07}}{z + 7}\right)\right)}\]
  3. Taylor expanded around 0 1.4

    \[\leadsto \color{blue}{\left(676.5203681218851 \cdot \left(\frac{\sqrt{2} \cdot \log 6.5}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right) + \left(338.26018406094255 \cdot \left(\frac{\sqrt{2} \cdot \left(z \cdot {\left(\log 6.5\right)}^{2}\right)}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right) + \left(169.13009203047127 \cdot \left(\frac{\sqrt{2} \cdot z}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{5.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right) + \left(2581.191799681222 \cdot \left(\frac{\sqrt{2} \cdot z}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right) + 676.5203681218851 \cdot \left(\frac{\sqrt{2}}{e^{6.5} \cdot z} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right)\right)\right)\right)\right) - \left(1656.8104518737205 \cdot \left(\frac{\sqrt{2} \cdot \left(z \cdot \log 6.5\right)}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right) + 1656.8104518737205 \cdot \left(\frac{\sqrt{2}}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right)\right)}\]
  4. Simplified1.4

    \[\leadsto \color{blue}{\mathsf{fma}\left(676.5203681218851, \frac{\sqrt{2} \cdot \log 6.5}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(338.26018406094255, \frac{\sqrt{2} \cdot \left(z \cdot \left(\log 6.5 \cdot \log 6.5\right)\right)}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(169.13009203047127, \frac{\sqrt{2} \cdot z}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{5.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(2581.191799681222, \frac{\sqrt{2} \cdot z}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), 676.5203681218851 \cdot \left(\frac{\sqrt{2}}{e^{6.5} \cdot z} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right)\right)\right)\right)\right) - \mathsf{fma}\left(1656.8104518737205, \frac{\sqrt{2} \cdot \left(z \cdot \log 6.5\right)}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), 1656.8104518737205 \cdot \left(\frac{\sqrt{2}}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right)\right)}\]
  5. Using strategy rm
  6. Applied expm1-log1p-u1.1

    \[\leadsto \mathsf{fma}\left(676.5203681218851, \frac{\sqrt{2} \cdot \log 6.5}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(338.26018406094255, \frac{\sqrt{2} \cdot \left(z \cdot \left(\log 6.5 \cdot \log 6.5\right)\right)}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(169.13009203047127, \frac{\sqrt{2} \cdot z}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{5.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(2581.191799681222, \frac{\sqrt{2} \cdot z}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), 676.5203681218851 \cdot \left(\frac{\sqrt{2}}{e^{6.5} \cdot z} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt{\pi}\right)\right)}\right)\right)\right)\right)\right)\right) - \mathsf{fma}\left(1656.8104518737205, \frac{\sqrt{2} \cdot \left(z \cdot \log 6.5\right)}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), 1656.8104518737205 \cdot \left(\frac{\sqrt{2}}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right)\right)\right)\]
  7. Final simplification1.1

    \[\leadsto \mathsf{fma}\left(676.5203681218851, \frac{\log 6.5 \cdot \sqrt{2}}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), \mathsf{fma}\left(338.26018406094255, \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right) \cdot \frac{\sqrt{2} \cdot \left(z \cdot \left(\log 6.5 \cdot \log 6.5\right)\right)}{e^{6.5}}, \mathsf{fma}\left(169.13009203047127, \frac{z \cdot \sqrt{2}}{e^{6.5}} \cdot \left(\sqrt{\pi} \cdot {\left(\frac{1}{{6.5}^{5.0}}\right)}^{0.5}\right), \mathsf{fma}\left(2581.191799681222, \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right) \cdot \frac{z \cdot \sqrt{2}}{e^{6.5}}, 676.5203681218851 \cdot \left(\left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt{\pi}\right)\right)\right) \cdot \frac{\sqrt{2}}{e^{6.5} \cdot z}\right)\right)\right)\right)\right) - \mathsf{fma}\left(1656.8104518737205, \frac{\sqrt{2} \cdot \left(\log 6.5 \cdot z\right)}{e^{6.5}} \cdot \left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right), 1656.8104518737205 \cdot \left(\left({\left(\frac{1}{{6.5}^{1.0}}\right)}^{0.5} \cdot \sqrt{\pi}\right) \cdot \frac{\sqrt{2}}{e^{6.5}}\right)\right)\]

Reproduce

herbie shell --seed 2019152 +o rules:numerics
(FPCore (z)
  :name "Jmat.Real.gamma, branch z greater than 0.5"
  (* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- z 1) 1))) (/ -1259.1392167224028 (+ (- z 1) 2))) (/ 771.3234287776531 (+ (- z 1) 3))) (/ -176.6150291621406 (+ (- z 1) 4))) (/ 12.507343278686905 (+ (- z 1) 5))) (/ -0.13857109526572012 (+ (- z 1) 6))) (/ 9.984369578019572e-06 (+ (- z 1) 7))) (/ 1.5056327351493116e-07 (+ (- z 1) 8)))))