We show how affine arithmetic can be used to improve both the performance and the robustness of genetic programming for problems such as symbolic regression and time series prediction. Affine arithmetic is used to estimate conservative bounds on the output range of expressions during evolution, which allows us to discard trees with potentially infinite bounds, as well as those whose output range lies outside the desired range implied by the training dataset. Benchmark experiments are performed on 15 symbolic regression problems as well as 2 well-known time series problems. Comparison with a baseline genetic programming system shows a reduced number of ﬁtness evaluations during t raining and improved generalization on test data, completely eliminating extreme errors. We also apply this technique to the problem of forecasting wind speed on a real world dataset, and the use of affine arithmetic compares favorably with baseline genetic programming, feedforward neural networks and support vector machines.