1. A method comprising: selecting a set of a plurality of fragments; automatically deriving by a hardware processor, a culling program including a second set of a plurality of instructions selected from a pixel shader program including a first set of culling instructions, said first and second sets being different and said second set including less instructions than said first set and said second set derived by modifying instructions in said first set of instructions to use interval arithmetic; rasterizing a primitive by executing the culling program for the set of fragments to generate an output; and based on the output of culling program, selecting a first shader program to execute on said fragments, said first shader program selected from a set of shader programs including said pixel shader program.