((declare (out) float a) (declare (out) float b)
 (function sub
  (signature float (parameters)
   ((declare (temporary) bool execute_flag)
    (assign (x) (var_ref execute_flag) (constant bool (1)))
    (declare (temporary) float return_value)
    (declare (temporary) bool return_flag)
    (assign (x) (var_ref return_flag) (constant bool (0)))
    (loop () () () ()
     ((assign (x) (var_ref a) (constant float (1.000000)))
      (assign (x) (var_ref return_value) (constant float (2.000000)))
      (assign (x) (var_ref return_flag) (constant bool (1)))
      break))
    (if (var_ref return_flag) ()
     ((assign (x) (var_ref b) (constant float (3.000000)))
      (assign (x) (var_ref return_value) (constant float (4.000000)))
      (assign (x) (var_ref return_flag) (constant bool (1)))
      (assign (x) (var_ref execute_flag) (constant bool (0)))))
    (return (var_ref return_value))))))
