def METHOD_NAME(root):
    extensions = [".exe", ".pyd", ".dll"]
    all_libs = set()
    needed = set()
    for base, dirs, files in os.walk(root):
        for f in files:
            lib = f.lower()
            path = os.path.join(base, f)
            ext_lower = os.path.splitext(f)[-1].lower()
            if ext_lower in extensions:
                if ext_lower == ".exe":
                    # we use .exe as dependency root
                    needed.add(lib)
                all_libs.add(f.lower())
                for lib in get_dependencies(path):
                    all_libs.add(lib)
                    needed.add(lib)
                    if not find_lib(root, lib):
                        print("MISSING:", path, lib)
    for namespace, version, lib in get_required_by_typelibs():
        all_libs.add(lib)
        needed.add(lib)
        if not find_lib(root, lib):
            print("MISSING:", namespace, version, lib)
    to_delete = []
    for not_depended_on in (all_libs - needed):
        path = get_lib_path(root, not_depended_on)
        if path:
            to_delete.append(path)
    return to_delete