scipy.integrate.quad precisión en números grandes

Intento calcular tal integral (en realidad, cdf de distribución exponencial con su pdf) a través descipy.integrate.quad():

import numpy as np
from scipy.integrate import quad

def g(x):
    return .5 * np.exp(-.5 * x)

print quad(g, a=0., b=np.inf)
print quad(g, a=0., b=10**6)
print quad(g, a=0., b=10**5)
print quad(g, a=0., b=10**4)

Y el resultado es el siguiente:

(1.0, 3.5807346295637055e-11)
(0.0, 0.0)
(3.881683817604194e-22, 7.717972744764185e-22)
(1.0, 1.6059202674761255e-14)

Todos los intentos de utilizar un gran límite superior de integración producen una respuesta incorrecta a través del uso denp.inf resuelve el problema

Caso similar se discute enproblema scipy # 5428 en GitHub.

¿Qué debo hacer para evitar este error al integrar otras funciones de densidad?

Respuestas a la pregunta(2)

Su respuesta a la pregunta