Players in the Game = 12 
      Auction Type = First Price Sealed Bid with reserved price 0.5 
      Signal Type = Uniform Independent Private Values [0,1] 
      Each Bidder plays 11 matches. 
      Bidders per Match = 2 
      Iterations per Match = 10000000 


      Matrix Display: 
      Profit of ROW while playing against COLUMN. 
      Max Points per Match: 100.0 

      Total Points % of Max Possible Points ( 1100.00) 
      ------------- --------------------------------- 
      ssetty :    59.34 5.39%
      wenjiej :   55.24 5.02%
      json :      42.22 3.84%
      mjd :       26.23 2.38%
      amalyshe :  22.43 2.04%
      ssaengsu :  18.21 1.66%
      ltien :     11.86 1.08%
      eforsyth :   9.63 0.88%
      mkleiman :   7.23 0.66%
      monorato :  -7.82 -0.71%
      chenz :    -16.57 -1.51%
      alanj :    -Inf -Inf%

      amalyshe   - W W W W W W W W W W W 
      ssaengsu   L - W L L W W W L W W L 
      ltien      L L - L L L W W L W W L 
      ssetty     L W W - W W W W W W W W 
      wenjiej    L W W L - W W W W W W W 
      eforsyth   L L W L L - W W L W W L 
      monorato   L L L L L L - L L W W L 
      mkleiman   L L L L L L W - L L W L 
      mjd        L W W L L W W W - W W L 
      chenz      L L L L L L L W L - W L 
      alanj      L L L L L L L L L L - L 
      json       L W W L L W W W W W W - 

Wins of each Bidder: 
      Total Wins Winning Percentage (of 11 games) 
      ------------- --------------------------------- 
      amalyshe : 11 100.00% 
      ssetty : 10 90.91% 
      wenjiej : 9 81.82% 
      json : 8 72.73% 
      mjd : 7 63.64% 
      ssaengsu : 6 54.55% 
      eforsyth : 5 45.45% 
      ltien : 4 36.36% 
      monorato : 2 18.18% 
      mkleiman : 2 18.18% 
      chenz : 2 18.18% 
      alanj : 0 0.00% 

Bidding Functions:

{	printf(" json     "); }
double Bidder_A::getBid(double V) const
{	if(V<0.5) return (0.);
        else return (V - 0.15*V ); }

{	printf(" alanj    "); }
double Bidder_B::getBid(double V) const
{	return ((0.5*V*V + 0.125)/V); }

{	printf(" chenz    "); }
double Bidder_C::getBid(double V) const
{	if(V<0.5) return (0.);
        if(V<0.75) return (sqrt(V));
        return(V*V); }

{	printf(" mjd      "); }
double Bidder_D::getBid(double V) const
{	if(V>=0.5) return (11.*V/12.); 
        else return(0.); }

{	printf(" mkleiman "); }
double Bidder_E::getBid(double V) const
{	if(0.76*V<0.5) return (0.5); 
         else return (0.76*V); }         

{	printf(" monorato "); }
double Bidder_F::getBid(double V) const
{       if(V<2./3.) return (0.5001); 
         else return (0.75*V); }

{	printf(" eforsyth "); }
double Bidder_G::getBid(double V) const
{       if(V>0.8) {return (0.6*V);}
        if((0.8*V)<0.5) {return(0.5);}
        return(0.8*V); }

{	printf(" wenjiej  "); }
double Bidder_H::getBid(double V) const
{	if(V<0.5) return(0.);
        else return(0.75*V); }

{	printf(" ssetty   "); }
double Bidder_I::getBid(double V) const
{	if(V*2.0/3.0 <= 0.5) return (V - (0.5-2.0*V/3.0) ); 
         else return(2.0*V/3.0); } 

{	printf(" ltien    "); }
double Bidder_J::getBid(double V) const
{	if(0.6*V<0.5)return (0.5); 
          else return(0.6*V); }

{	printf(" ssaengsu "); }
double Bidder_K::getBid(double V) const
{       if(V>0.9)  return(V-(((double)rand())/RAND_MAX)/8.);
        if(V>0.8)  return(V-(((double)rand())/RAND_MAX)/12.); 
        if(V>0.7)  return(V-(((double)rand())/RAND_MAX)/14.); 
        if(V>0.6)  return(V-(((double)rand())/RAND_MAX)/15.); 
        if(V>0.5)  return(0.5); 
                   return(0.0); }

{	printf(" amalyshe "); }
double Bidder_L::getBid(double V) const
{	return ( 0.5*pow( (V-0.5)*2, 3./2. ) + 0.5); }