program _gb2evaluator version 12.0 args lnf beta sigma p q tempvar a eps top bottom qui gen double `a' = 1/`sigma' qui gen double `eps' = ln($ML_y1 ) - `beta' qui gen double `top' = ln(`a') + `eps'*`a'*`p' qui gen double `bottom' = lngamma(`p') + lngamma(`q') - lngamma(`p' + `q') + (`p'+`q')*ln(1 + exp(`a'*`eps')) qui replace `lnf' = `top' - `bottom' - ln($ML_y1 ) end