Numerical Recipes: The Art of Scientific Computing | Synapse