((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))))))
