gl intermediate language prototype