CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{
	int a1,b1,c1,d1,d,a,b,c,m,n,n1,n2,n3;
	cin>> n>>n1>>n2>>n3;
	if(n1>n2){
		a=n1;
		n1=n2;
		n2=a;
	}
	if(n2>n3){
		b=n2;
		n2=n3;
		n3=b;
	}
	if (n1>n3){
		c=n1;
		n1=n3;
		n3=c;
	}
	if(n1>n2){
		d=n1;
		n1=n2;
		n2=d;
	}


	repeat(n-3){
		cin >>m;
		if(n1>m){n3=m;}
		else if(n2>m){n3=m;}
		else if(n3>m){n3=m;}
	
	}
	if(n1>n2){
		a1=n1;
		n1=n2;
		n2=a1;
	}
	if(n2>n3){
		b1=n2;
		n2=n3;
		n3=b1;
	}
	if(n1>n3){
		c1=n1;
		n1=n3;
		n3=c1;}
	if(n1>n2){d1=n1;
		n1=n2;
		n2=d1;}


	cout << n1 <<" "<< n2 <<" "<< n3;
}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{double x1,x2,xm; cin>>x1>>x2;
              if(-100<=x1 &&  x2<=100)
	     {while(x1 <  x2) { xm = (x1+x2)/2;
		               if ((x1>=0 && xm>=0) || (x1<=0 && xm<=0)){x1 = xm;}
		               else x2 = xm;}}cout<<x1;}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{
	double x1,x2;
	cin>>x1>>x2;
        {
		if(x1<1.0 && x2>1.0) cout<<" 1.000";
		if(x1<2.0 && x2>2.0) cout<<" 2.000";
		if(x1<3.0 && x2>3.0) cout<<" 3.000";
	}
}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program
{


double x1, x2;

cin>>x1>>x2;

while(x2-x1 >= 0.000000001)
{
	double xm;
	xm = (x1+x2)/2.0 ;

	if((x1*x1*x1 - 6*x1*x1 + 11* x1 -6>0 && xm*xm*xm - 6*xm*xm + 11*xm -6>0) ||( x1*x1*x1 - 6*x1*x1 + 11*x1 -6 <0 && xm*xm*xm -6*xm*xm +11*xm -6 <0))
		x1 = xm;
	else
		x2 = xm;
}

cout<<fixed;

cout.precision(3);

cout<<x1<<endl;
}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include <simplecpp>
main_program{
	double x,y;
	cin>>x;
	y=pow(x,3)-6*pow(x,2)+11*x-6;
	while(abs((pow(x,3)-6*pow(x,2)+11*x-6)-y)<0.0001){
		x-=(pow(x,3)-6*pow(x,2)+11*x-6)/(3*pow(x,2)-12*x+11);
	}
	cout<<x;
	}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
float func(float t){
	return (t-1)*(t-2)*(t-3);
}
main_program{
	float x1,x2;
	cin>>x1>>x2;
	if(x2>x1){
		if (func(x2)>0 && func(x1)<0 && x1<1){
			cout << fixed;
			cout.precision(3);
			cout<<1.000<<endl;
		}
		if (func(x2)<0 && func(x1)>0){
			cout << fixed;
                        cout.precision(3);
                        cout<<2.000<<endl;
		}
		if (func(x2)>0 && func(x1)<0 && x1>1){
			cout << fixed;
                        cout.precision(3);
                        cout<<3.000<<endl;
	}
		if (func(x2)<0 && func(x1)<0 && x1<1 && x2>2){
		        cout << fixed;
                        cout.precision(3);
                        cout<<1.000<<" and "<<2.000<<endl;
		}
		if (func(x2)>0 && func(x1)<0 && x1<1 && x2>3){
			cout << fixed;
                        cout.precision(3);
                        cout<<1.000<<" and "<<2.000<<" and "<<3.000<<endl;
		}
		if (func(x1)>0 && func(x2)>0 && x1<2 && x2>3){
			cout << fixed;
                        cout.precision(3);
                        cout<<2.000<<" and "<<3.000<<endl;
		}
	}
}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
double funcx(double x){
	return (x*x*x - 6*x*x + 11*x - 6);
}
main_program{
	double x1,x2,xm;
	cin>>x1>>x2;
	xm=(x1+x2)/2;
	double delta=0.0000001;
	while(x2-x1>delta){
		if (funcx(x1)*funcx(xm)>=0){
			x1=xm;
			xm=(x1+x2)/2;
		}
		else if (funcx(x2)*funcx(xm)>=0){
			x2=xm;
			xm=(x1+x2)/2;
		}
	}
	cout<<fixed;
	cout.precision(3);
	cout<<xm;
}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include <simplecpp>
main_program{

   float r1 = 1.000, r2 = 2.000, r3 =3.000;
   float x1, x2;
   cin >> x1 >> x2;
   if(r1>x1 && r1<x2)
   {

           cout << r1;
   }
   else if (r2>x1 && r2 <x2)
   {

      cout << r2;



   }
   else if (r3>x1 && r3<x2)
{


 cout << r3;

}


}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{
double x1,x2;
cin>>x1>>x2;
if (x1<=1 && x2>1 && x2<2)
cout<< "1.000"<< endl;
if (x1<=1 && x2==1)
cout << "1.000"<<endl;
if (x1<=2&& x1>1 && x2>2 && x2<3)
cout<< "2.000"<<endl;
if (x1<=2&& x2==2)
cout<< "2.000"<<endl;
if ( x1>2 && x1<=3 && x2>=3)
cout<< "3.000"<<endl;}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
int_main {
int n;
cout<<"enter any number"<<endl;
cin>>"n">> endl;
int x,y;
cout<<"enter positive inegers"<<endl;
cin>>x,y">>endl;

    if(x%=0) {
 cout<<"x is lcm of n"<<;
 }

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
double f(double x)
{
	double ans= x*x*x-6*x*x+11*x-6;
	return ans;
}
main_program
{
	double x1,x2;
	cin>>x1>>x2;
	double epsilon = 1.0E-5;
	double xm;
	while(abs(x1-x2)>epsilon)
	{
		xm= (x1+x2)/2.0;
		if(f(xm)*f(x1)>0)
			x1=xm;
		else
			x2=xm;
	}
	cout<<fixed;
	cout.precision(3);
	cout<<x1<<endl;
}

Grading criterion: Overall program correctness
Rating A: Program is correct
Rating B: Minor problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong header files)
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{

}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{
	int a=1,b=2,c=3,x1,x2;
cin>>x1>>x2;
if(a>x1 && a<x2){
	cout<<a<<endl;}
else{cout<<" "<<endl;}
if(b>x1 && b<x2){
        cout<<b<<endl;}
else{cout<<" "<<endl;}
if(c>x1 && c<x2){
        cout<<c<<endl;}
else{cout<<" "<<endl;}
}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{
	double x1 , x2, xM ;
	cin>>x1>>x2;

	if(x1>=-100 && x2<=100 && x2>x1){
	repeat(10000){
		xM=( x1+ x2)/2.0;
		double p = xM*xM*xM - 6*xM*xM + 11*xM - 6 ;
		double q = x1*x1*x1 - 6*x1*x1 + 11*x1 -6 ;
		double r = x2*x2*x2 - 6*x2*x2 + 11*x2 - 6;

		if((p>0 && q>0) || (p<0 && q<0))
			x1=xM;

		else if ((p>0 && r>0) || (p<0 && r<0))
			x2=xM;

	}
        cout<<fixed;
	cout.precision(3);
	cout<<xM;
}

else
cout<<"Invalid input";

}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{
	double x1,x2;
	cin>>x1>>x2;
	if (x1>=-100 && x2<=100 && x2>x1){
	        if(x1<1 && x2>1 && x2<2) cout<<"1.000"<<endl;
		if(x1>1 && x1<2 && x2>2 && x2<3) cout<<"2.000"<<endl;
		if(x1>2 && x1<3 && x2>3) cout<<"3.000"<<endl;
		if(x1<1 && x2>2 && x2<3) cout<<"1.000"<<"and"<<"2.000"<<endl;
                if(x1<1 && x2>3) cout<<"1.000"<<","<<"2.000"<<"and"<<"3.000";
               
	}
}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
float f(float x){
	return (pow(x,3)-(6*pow(x,2))+ 11*x -6);
}
main_program{
	float x1, x2, xm;
	cin>>x1>>x2;
repeat(1000){
		xm=(x1+x2)/2.00;
		if(f(xm)>0) x1=xm;
		else if(f(xm)<0) x2=xm;
		else { break;
		 }}
		cout<<xm<<endl;
	
}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include <simplecpp>
main_program{
   float x1,x2;
	cin >> x1 >> x2;
       float sum = 1;
      
       if(x1<=0){
	if(x2<2)  { cout  << sum<< endl;
	}
       }
      
       if(x1>0){
	       if(x2<2){
		      
		       cout << sum << endl;}
	       if (   x2>2 && x2<3){
		      
		      sum=sum+1; cout << sum <<endl;}
	       if (x2>3) {
		      
		      sum = sum+2; cout  << sum  << endl;}
       }

       
}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{double x1,x2;
	float xm;
	cin>>x1>>x2;
	
	while(x2-x1>=0.0001){xm=(x1+x2)/2;
		if((pow(x1,3)-6*pow(x1,2)+11*x1-6>=0 && pow(xm,3)-6*pow(xm,2)+11*xm-6>=0) ||( pow(x1,3)-6*pow(x1,2)+11*x1-6<=0 && pow(xm,3)-6*pow(xm,2)+11*xm-6<=0)){x1=xm;}
		else if((pow(x2,3)-6*pow(x2,2)+11*x2-6>=0 && pow(xm,3)-6*pow(xm,2)+11*xm-6>=0) ||( pow(x2,3)-6*pow(x2,2)+11*x2-6<=0 && pow(xm,3)-6*pow(xm,2)+11*xm-6<=0))x2=xm;	
	}
	cout<<fixed;
	cout.precision(3);
	cout<<x1<<endl;
}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include <simplecpp>
main_program{
	float x1,x2;
	cin>>x1>>x2;
	if (x1<x2){
	if (x1<1 && x2<2) cout<<1.000<<endl;
	if (x1>1 && x2<3) cout<<2.000<<endl;
	if (x1>2 && x2<3 && x2>3) cout<<3.000<<endl;
	}
}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include<simplecpp>
main_program{
	double xl,xr;
	cin>>xl>>xr;
	double xm,epsilon=0.000001;
	bool xl_is_positive;
xl_is_positive=(pow(xl,3)-6*pow(xl,2)+11*xl-6)>0;
while((xr-xl)>epsilon){
	xm=(xr+xl)/2;
	bool xm_is_positive=(pow(xm,3)-6*pow(xm,2)+11*xm-6)>0;
	if(xm_is_positive==xl_is_positive)
	{xl=xm;}
	else
	{xr=xm;}
}
cout<<xm<<endl;
}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include <simplecpp>

bool sign_check(double a){
	if ((pow(a, 3) - 6 * pow(a, 2) + 11 * a - 6) >= 0) return true;
	else return false;
}

main_program{
	double x1, x2, xM;
	cin >> x1 >> x2;
	if (x1 <= 2 && x2 >= 2){
		repeat(500){
			xM = (x1 + x2)/2;
			if (sign_check(xM)) x1 = xM;
			else x2 = xM;
		}
	}
	else{
		repeat(500){
			xM = (x1 + x2)/2;
			if (sign_check(xM)) x2 = xM;
			else x1 = xM;
		}
	}
	cout << fixed;
	cout.precision(3);
	cout << xM;
}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: The problem statement is to find the root of the equation f(x) = x3 - 6x2 + 11x - 6 between x1 and x2 using the bisection method. The input is two high-precision floating-point values of type double representing x1 and x2 respectively. The output is the root of the equation correct up to 3 decimal places. The constraints are that -100 <= x1, x2 <= 100, and x1 < x2. The program should not print any general messages, but only the root of the equation correct up to 3 decimal places.

Student submission:
#include <simplecpp>
main_program {
	float x1, x2;
}

Grading criterion: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B