docs: def __do_case_5_work(d_w, d_u, case_1, case_2, case_3, dfs_data):
      """Encapsulates the work that will be done for case 5 of __embed_frond,
      since it gets used in more than one place."""
      # --We should only ever see u-cases 1 and 2
      if case_3:
          # --We should never get here
          return False
  
      comp_d_w = abs(d_w)
  
      #if case_1:
      # --Add the frond to the left side
      __insert_frond_LF(d_w, d_u, dfs_data)
  
      # --Add uw to Lm
      m = dfs_data['FG']['m']
      Lm = L(m, dfs_data)
      if comp_d_w < Lm['u']:
          Lm['u'] = d_w
      if d_u > Lm['v']:
          Lm['v'] = d_u
  
      # --Case 2 requires a bit of extra work
      if case_2:
          Lm['u'] = d_w
          x_m1 = fn_x(m-1, dfs_data)
          while comp_d_w < x_m1:
              merge_Fm(dfs_data)
              m = dfs_data['FG']['m']
              x_m1 = fn_x(m-1, dfs_data)
      #else:
          #print "Case 5 work, u-case 1"
  
      return True