void abort() { };
                                                                                                                                    


                                                                           
                                                         
  
                                                                                                            
                                                     
                                                                                                               
                                                                                                       

                        
                                                                                                                                                       
                  
 
                                                            
 

/*@ 
    requires ((1 <= cond)) && (cond != 0);
    ensures ((1 <= cond)) && (1);
@*/
void __VERIFIER_assert(int cond)
{
  if (!cond)
  {
    ERROR:
    {
      /*@ assert(0); */;
      abort();
    }

  }
  else
  {
  }
  return;
}

void func_to_recursive_line_20_to_25_0(unsigned int *k, unsigned int *j, unsigned int *i)
{
  if ((*k) < 0x0fffffff)
  {
    {
      *i = (*i) + 1;
      *j = (*j) + 2;
      *k = (*k) + 3;
      __VERIFIER_assert((*k) == ((*i) + (*j)));
    }
    func_to_recursive_line_20_to_25_0(k, j, i);
  }
  else
  {
  }
}

int main()
{
  unsigned int i = 0;
  unsigned int j = 0;
  unsigned int k = 0;
  func_to_recursive_line_20_to_25_0(&k, &j, &i);
}