I have this sort of C function -- that is being called a zillion times:
void foo ()
{
    if (/*condition*/)
    {
    }
    else if(/*another_condition*/)
    {
    }
    else if (/*another_condition_2*/)
    {
    } 
          /*And so on, I have 4 of them, but we can generalize it*/
    else
    {
    }
 }
I have a good test-case that calls this function, causing certain if-branches to be called more than the others.
My goal is to figure the best way to arrange the if statements to minimize the branching.
The only way I can think of is to do write to a file for every if condition branched to, thereby creating a histogram. This seems to be a tedious way. Is there a better way, better tools?
I am building it on AS3 Linux, using gcc 3.4; using oprofile (opcontrol) for profiling.
 
     
     
     
     
     
     
     
     
     
    