nameExpr is f
decl is f: function
    accepting unspecified arguments
  returning 
    nothing 
  with body 
    CompoundStmt
      Declaration of f: char 
      Declaration of f: double 
              Expression Statement:
          Cast of:
            Name: f

          to:
            signed int 

      Declaration of f: short signed int 
              Expression Statement:
          Cast of:
            Name: f

          to:
            signed int 

              Expression Statement:
          Cast of:
            Name: f

          to:
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 


              Expression Statement:
          Cast of:
            Tuple:
                              Name: f

                              Name: f

                              Name: f


          to:
            long signed int 
            long double 
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 



newExpr is Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 


decl is f: char 
newExpr is Variable Expression: f: char 

decl is f: double 
newExpr is Variable Expression: f: double 

alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: char 
(types:
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: double 
(types:
    lvalue double 
)
Environment: 

there are 3 alternatives before elimination
there are 3 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 4 ): Cast of:
  Variable Expression: f: char 

to:
  signed int 
(types:
    signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 1 ): Cast of:
  Cast of:
    Variable Expression: f: char 

  to:
    signed int 

to:
  nothing
(types:
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
nameExpr is f
decl is f: function
    accepting unspecified arguments
  returning 
    nothing 
  with body 
    CompoundStmt
      Declaration of f: char 
      Declaration of f: double 
              Expression Statement:
          Cast of:
            Variable Expression: f: char 

          to:
            signed int 
          with environment:
            Types:
            Non-types:

      Declaration of f: short signed int 
              Expression Statement:
          Cast of:
            Name: f

          to:
            signed int 

              Expression Statement:
          Cast of:
            Name: f

          to:
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 


              Expression Statement:
          Cast of:
            Tuple:
                              Name: f

                              Name: f

                              Name: f


          to:
            long signed int 
            long double 
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 



newExpr is Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 


decl is f: char 
newExpr is Variable Expression: f: char 

decl is f: double 
newExpr is Variable Expression: f: double 

decl is f: short signed int 
newExpr is Variable Expression: f: short signed int 

alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: char 
(types:
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: double 
(types:
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
(types:
    lvalue short signed int 
)
Environment: 

there are 4 alternatives before elimination
there are 4 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 2 ): Cast of:
  Variable Expression: f: short signed int 

to:
  signed int 
(types:
    signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 1 ): Cast of:
  Cast of:
    Variable Expression: f: short signed int 

  to:
    signed int 

to:
  nothing
(types:
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
nameExpr is f
decl is f: function
    accepting unspecified arguments
  returning 
    nothing 
  with body 
    CompoundStmt
      Declaration of f: char 
      Declaration of f: double 
              Expression Statement:
          Cast of:
            Variable Expression: f: char 

          to:
            signed int 
          with environment:
            Types:
            Non-types:

      Declaration of f: short signed int 
              Expression Statement:
          Cast of:
            Variable Expression: f: short signed int 

          to:
            signed int 
          with environment:
            Types:
            Non-types:

              Expression Statement:
          Cast of:
            Name: f

          to:
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 


              Expression Statement:
          Cast of:
            Tuple:
                              Name: f

                              Name: f

                              Name: f


          to:
            long signed int 
            long double 
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 



newExpr is Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 


decl is f: char 
newExpr is Variable Expression: f: char 

decl is f: double 
newExpr is Variable Expression: f: double 

decl is f: short signed int 
newExpr is Variable Expression: f: short signed int 

alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: char 
(types:
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: double 
(types:
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
(types:
    lvalue short signed int 
)
Environment: 

there are 4 alternatives before elimination
there are 4 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Cast of:
  Variable Expression: f: function
        accepting unspecified arguments
      returning 
        nothing 


to:
  pointer to function
        accepting unspecified arguments
      returning 
        nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 1 ): Cast of:
  Cast of:
    Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


  to:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 


to:
  nothing
(types:
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
nameExpr is f
decl is f: function
    accepting unspecified arguments
  returning 
    nothing 
  with body 
    CompoundStmt
      Declaration of f: char 
      Declaration of f: double 
              Expression Statement:
          Cast of:
            Variable Expression: f: char 

          to:
            signed int 
          with environment:
            Types:
            Non-types:

      Declaration of f: short signed int 
              Expression Statement:
          Cast of:
            Variable Expression: f: short signed int 

          to:
            signed int 
          with environment:
            Types:
            Non-types:

              Expression Statement:
          Cast of:
            Variable Expression: f: function
                  accepting unspecified arguments
                returning 
                  nothing 


          to:
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 

          with environment:
            Types:
            Non-types:

              Expression Statement:
          Cast of:
            Tuple:
                              Name: f

                              Name: f

                              Name: f


          to:
            long signed int 
            long double 
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 



newExpr is Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 


decl is f: char 
newExpr is Variable Expression: f: char 

decl is f: double 
newExpr is Variable Expression: f: double 

decl is f: short signed int 
newExpr is Variable Expression: f: short signed int 

alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: char 
(types:
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: double 
(types:
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
(types:
    lvalue short signed int 
)
Environment: 

there are 4 alternatives before elimination
there are 4 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
(types:
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: double 
(types:
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: char 
(types:
    lvalue char 
)
Environment: 

nameExpr is f
decl is f: function
    accepting unspecified arguments
  returning 
    nothing 
  with body 
    CompoundStmt
      Declaration of f: char 
      Declaration of f: double 
              Expression Statement:
          Cast of:
            Variable Expression: f: char 

          to:
            signed int 
          with environment:
            Types:
            Non-types:

      Declaration of f: short signed int 
              Expression Statement:
          Cast of:
            Variable Expression: f: short signed int 

          to:
            signed int 
          with environment:
            Types:
            Non-types:

              Expression Statement:
          Cast of:
            Variable Expression: f: function
                  accepting unspecified arguments
                returning 
                  nothing 


          to:
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 

          with environment:
            Types:
            Non-types:

              Expression Statement:
          Cast of:
            Tuple:
                              Name: f

                              Name: f

                              Name: f


          to:
            long signed int 
            long double 
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 



newExpr is Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 


decl is f: char 
newExpr is Variable Expression: f: char 

decl is f: double 
newExpr is Variable Expression: f: double 

decl is f: short signed int 
newExpr is Variable Expression: f: short signed int 

alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: char 
(types:
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: double 
(types:
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
(types:
    lvalue short signed int 
)
Environment: 

there are 4 alternatives before elimination
there are 4 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
(types:
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: double 
(types:
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: char 
(types:
    lvalue char 
)
Environment: 

nameExpr is f
decl is f: function
    accepting unspecified arguments
  returning 
    nothing 
  with body 
    CompoundStmt
      Declaration of f: char 
      Declaration of f: double 
              Expression Statement:
          Cast of:
            Variable Expression: f: char 

          to:
            signed int 
          with environment:
            Types:
            Non-types:

      Declaration of f: short signed int 
              Expression Statement:
          Cast of:
            Variable Expression: f: short signed int 

          to:
            signed int 
          with environment:
            Types:
            Non-types:

              Expression Statement:
          Cast of:
            Variable Expression: f: function
                  accepting unspecified arguments
                returning 
                  nothing 


          to:
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 

          with environment:
            Types:
            Non-types:

              Expression Statement:
          Cast of:
            Tuple:
                              Name: f

                              Name: f

                              Name: f


          to:
            long signed int 
            long double 
            pointer to function
                  accepting unspecified arguments
                returning 
                  nothing 



newExpr is Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 


decl is f: char 
newExpr is Variable Expression: f: char 

decl is f: double 
newExpr is Variable Expression: f: double 

decl is f: short signed int 
newExpr is Variable Expression: f: short signed int 

alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: char 
(types:
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: double 
(types:
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
(types:
    lvalue short signed int 
)
Environment: 

there are 4 alternatives before elimination
there are 4 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Variable Expression: f: function
      accepting unspecified arguments
    returning 
      nothing 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
(types:
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: double 
(types:
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: f: char 
(types:
    lvalue char 
)
Environment: 

alternatives before prune:
Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue short signed int 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue char 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: short signed int 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue short signed int 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: short signed int 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue short signed int 
    lvalue short signed int 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: short signed int 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue double 
    lvalue short signed int 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: short signed int 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue char 
    lvalue short signed int 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: double 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: double 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue short signed int 
    lvalue double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: double 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue double 
    lvalue double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: double 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue char 
    lvalue double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: char 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue char 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: char 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue short signed int 
    lvalue char 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: char 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue double 
    lvalue char 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: char 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


(types:
    lvalue char 
    lvalue char 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: short signed int 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: short signed int 

(types:
    lvalue short signed int 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: short signed int 

(types:
    lvalue double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: short signed int 

(types:
    lvalue char 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: short signed int 

      Variable Expression: f: short signed int 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue short signed int 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: short signed int 

      Variable Expression: f: short signed int 

(types:
    lvalue short signed int 
    lvalue short signed int 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: short signed int 

      Variable Expression: f: short signed int 

(types:
    lvalue double 
    lvalue short signed int 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: short signed int 

      Variable Expression: f: short signed int 

(types:
    lvalue char 
    lvalue short signed int 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: double 

      Variable Expression: f: short signed int 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue double 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: double 

      Variable Expression: f: short signed int 

(types:
    lvalue short signed int 
    lvalue double 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: double 

      Variable Expression: f: short signed int 

(types:
    lvalue double 
    lvalue double 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: double 

      Variable Expression: f: short signed int 

(types:
    lvalue char 
    lvalue double 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: char 

      Variable Expression: f: short signed int 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue char 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: char 

      Variable Expression: f: short signed int 

(types:
    lvalue short signed int 
    lvalue char 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: char 

      Variable Expression: f: short signed int 

(types:
    lvalue double 
    lvalue char 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: char 

      Variable Expression: f: short signed int 

(types:
    lvalue char 
    lvalue char 
    lvalue short signed int 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: double 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: double 

(types:
    lvalue short signed int 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: double 

(types:
    lvalue double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: double 

(types:
    lvalue char 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: short signed int 

      Variable Expression: f: double 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue short signed int 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: short signed int 

      Variable Expression: f: double 

(types:
    lvalue short signed int 
    lvalue short signed int 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: short signed int 

      Variable Expression: f: double 

(types:
    lvalue double 
    lvalue short signed int 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: short signed int 

      Variable Expression: f: double 

(types:
    lvalue char 
    lvalue short signed int 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: double 

      Variable Expression: f: double 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue double 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: double 

      Variable Expression: f: double 

(types:
    lvalue short signed int 
    lvalue double 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: double 

      Variable Expression: f: double 

(types:
    lvalue double 
    lvalue double 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: double 

      Variable Expression: f: double 

(types:
    lvalue char 
    lvalue double 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: char 

      Variable Expression: f: double 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue char 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: char 

      Variable Expression: f: double 

(types:
    lvalue short signed int 
    lvalue char 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: char 

      Variable Expression: f: double 

(types:
    lvalue double 
    lvalue char 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: char 

      Variable Expression: f: double 

(types:
    lvalue char 
    lvalue char 
    lvalue double 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: char 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: char 

(types:
    lvalue short signed int 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: char 

(types:
    lvalue double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: char 

(types:
    lvalue char 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: short signed int 

      Variable Expression: f: char 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue short signed int 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: short signed int 

      Variable Expression: f: char 

(types:
    lvalue short signed int 
    lvalue short signed int 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: short signed int 

      Variable Expression: f: char 

(types:
    lvalue double 
    lvalue short signed int 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: short signed int 

      Variable Expression: f: char 

(types:
    lvalue char 
    lvalue short signed int 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: double 

      Variable Expression: f: char 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue double 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: double 

      Variable Expression: f: char 

(types:
    lvalue short signed int 
    lvalue double 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: double 

      Variable Expression: f: char 

(types:
    lvalue double 
    lvalue double 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: double 

      Variable Expression: f: char 

(types:
    lvalue char 
    lvalue double 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: function
          accepting unspecified arguments
        returning 
          nothing 


      Variable Expression: f: char 

      Variable Expression: f: char 

(types:
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

    lvalue char 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: short signed int 

      Variable Expression: f: char 

      Variable Expression: f: char 

(types:
    lvalue short signed int 
    lvalue char 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: double 

      Variable Expression: f: char 

      Variable Expression: f: char 

(types:
    lvalue double 
    lvalue char 
    lvalue char 
)
Environment: 

Cost ( 0, 0, 0 ): Tuple:
      Variable Expression: f: char 

      Variable Expression: f: char 

      Variable Expression: f: char 

(types:
    lvalue char 
    lvalue char 
    lvalue char 
)
Environment: 

there are 64 alternatives before elimination
there are 64 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 4 ): Cast of:
  Tuple:
          Variable Expression: f: short signed int 

          Variable Expression: f: double 

          Variable Expression: f: function
            accepting unspecified arguments
          returning 
            nothing 



to:
  long signed int 
  long double 
  pointer to function
        accepting unspecified arguments
      returning 
        nothing 

(types:
    long signed int 
    long double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 

)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 3 ): Cast of:
  Cast of:
    Tuple:
              Variable Expression: f: short signed int 

              Variable Expression: f: double 

              Variable Expression: f: function
              accepting unspecified arguments
            returning 
              nothing 



  to:
    long signed int 
    long double 
    pointer to function
          accepting unspecified arguments
        returning 
          nothing 


to:
  nothing
(types:
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
char __f__c;
void __f__F__(){
    char __f__c;
    double __f__d;
    ((int )__f__c);
    short __f__s;
    ((int )__f__s);
    ((void (*)())__f__F__);
    ((long int ));
}
