capture program drop nlLinearForgotTempname program nlLinearForgotTempname version 9 syntax varlist(min=2) if, at(name) local y: word 1 of `varlist' local x: word 2 of `varlist' tempname b0 b1 scalar `b0' = `at'[1,1] scalar `b1' = `at'[1,2] /* This next line is the problem. Note only tempname for b0, b1. */ scalar `b2' = `at'[1,3] replace `y' = `b0'+`b1'*`x' `if' end