# Buggy code
def _stats(self, a):
    sv = special.errprint(0)
    fac = asarray(special.zeta(a, 1))
    mu = special.zeta(a - 1.0, 1) / fac
    mu2p = special.zeta(a - 2.0, 1) / fac
    var = mu2p - mu * mu
    mu3p = special.zeta(a - 3.0, 1) / fac
    mu3 = mu3p - 3 * mu * mu2p + 2 * mu**3
    g1 = mu3 / asarray(var**1.5)

    mu4p = special.zeta(a - 4.0, 1) / fac
    sv = special.errprint(sv)
    mu4 = mu4p - 4 * mu3p * mu + 6 * mu2p * mu * mu - 3 * mu**4
    g2 = mu4 / asarray(var**2) - 3.0
    return mu, var, g1, g2


# Traceback (OverflowError)
======================================================================
ERROR: test_continuous_basic.test_cont_basic(<scipy.stats.distributions.alpha_gen object at 0x3726dd0>, 0.5, (3.5704770516650459,), (0, 1), [<bound method alpha_gen.pdf of <scipy.stats.distributions.alpha_gen object at 0x3726dd0>>, <bound method alpha_gen.logpdf of <scipy.stats.distributions.alpha_gen object at 0x3726dd0>>, <bound method alpha_gen.cdf of <scipy.stats.distributions.alpha_gen object at 0x3726dd0>>, <bound method alpha_gen.logcdf of <scipy.stats.distributions.alpha_gen object at 0x3726dd0>>, <bound method alpha_gen.logsf of <scipy.stats.distributions.alpha_gen object at 0x3726dd0>>])
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/virtualenv/python2.6/lib/python2.6/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/travis/build/scipy/scipy/build/testenv/lib/python2.6/site-packages/scipy/stats/tests/test_continuous_basic.py", line 454, in check_named_args
npt.assert_equal(distfn.moment(3, *a, **k),
File "/home/travis/build/scipy/scipy/build/testenv/lib/python2.6/site-packages/scipy/stats/distributions.py", line 1702, in moment
val = _moment_from_stats(n, mu, mu2, g1, g2, self._munp, args)
File "/home/travis/build/scipy/scipy/build/testenv/lib/python2.6/site-packages/scipy/stats/distributions.py", line 387, in _moment_from_stats
mu3 = g1*(mu2**1.5) # 3rd central moment
OverflowError: (34, 'Numerical result out of range')
======================================================================

ERROR: test_continuous_basic.test_cont_basic(<scipy.stats.distributions.foldcauchy_gen object at 0x373e890>, 0.5, (4.7164673455831894,), (0, 1), [<bound method foldcauchy_gen.pdf of <scipy.stats.distributions.foldcauchy_gen object at 0x373e890>>, <bound method foldcauchy_gen.logpdf of <scipy.stats.distributions.foldcauchy_gen object at 0x373e890>>, <bound method foldcauchy_gen.cdf of <scipy.stats.distributions.foldcauchy_gen object at 0x373e890>>, <bound method foldcauchy_gen.logcdf of <scipy.stats.distributions.foldcauchy_gen object at 0x373e890>>, <bound method foldcauchy_gen.logsf of <scipy.stats.distributions.foldcauchy_gen object at 0x373e890>>])
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/virtualenv/python2.6/lib/python2.6/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/travis/build/scipy/scipy/build/testenv/lib/python2.6/site-packages/scipy/stats/tests/test_continuous_basic.py", line 454, in check_named_args
npt.assert_equal(distfn.moment(3, *a, **k),
File "/home/travis/build/scipy/scipy/build/testenv/lib/python2.6/site-packages/scipy/stats/distributions.py", line 1702, in moment
val = _moment_from_stats(n, mu, mu2, g1, g2, self._munp, args)
File "/home/travis/build/scipy/scipy/build/testenv/lib/python2.6/site-packages/scipy/stats/distributions.py", line 387, in _moment_from_stats
mu3 = g1*(mu2**1.5) # 3rd central moment
OverflowError: (34, 'Numerical result out of range')

# Fixed code
def _stats(self, a):
    sv = special.errprint(0)
    fac = asarray(special.zeta(a, 1))
    mu = special.zeta(a - 1.0, 1) / fac
    mu2p = special.zeta(a - 2.0, 1) / fac
    var = mu2p - mu * mu
    mu3p = special.zeta(a - 3.0, 1) / fac
    mu3 = mu3p - 3 * mu * mu2p + 2 * mu**3
    g1 = mu3 / asarray(np.power(var, 1.5))

    mu4p = special.zeta(a - 4.0, 1) / fac
    sv = special.errprint(sv)
    mu4 = mu4p - 4 * mu3p * mu + 6 * mu2p * mu * mu - 3 * mu**4
    g2 = mu4 / asarray(var**2) - 3.0
    return mu, var, g1, g2