let find_available kinstr =
  if From_parameters.ForceDeps.get () then begin
    try
      Callwise_Dependencies.find kinstr
    with Not_found ->
      From_parameters.fatal "internal error 457 : From.find_available called on non-Call statement, or called too early."
  end
  else begin
    match kinstr with
    | Kstmt ({skind = Instr(Call (_,funcexp,_,_))}) ->
        let _, called_functions =
          !Value.expr_to_kernel_function
            ~with_alarms:CilE.warn_none_mode
            kinstr ~deps:None funcexp
        in
        let treat_kf _kf acc =
          let kf_froms = (assert false)
          in
          match acc with
            None -> Some kf_froms
          | Some froms ->
              Some (Function_Froms.join kf_froms froms)
        in
        let froms =
          Kernel_function.Set.fold treat_kf called_functions None
        in
        begin
          match froms with
            None -> assert false (* TODO: do something *)
          | Some f -> f
        end
    | _ ->
        From_parameters.fatal "internal error 458 : From.find_available called on non-Call statement."
  end