code: def vectorized_gc_distance(
      latitudes, longitudes, latitudes_gt, longitudes_gt
  ):
      R = 6371
      factor_rad = 0.01745329252
      longitudes = factor_rad * longitudes
      longitudes_gt = factor_rad * longitudes_gt
      latitudes = factor_rad * latitudes
      latitudes_gt = factor_rad * latitudes_gt
      delta_long = longitudes_gt - longitudes
      delta_lat = latitudes_gt - latitudes
      subterm0 = torch.sin(delta_lat / 2) ** 2
      subterm1 = torch.cos(latitudes) * torch.cos(latitudes_gt)
      subterm2 = torch.sin(delta_long / 2) ** 2
      subterm1 = subterm1 * subterm2
      a = subterm0 + subterm1
      c = 2 * torch.asin(torch.sqrt(a))
      gcd = R * c
      return gcd
  
imports: import logging
  import os
  import sys
  from argparse import Namespace
  from typing import Any, List
  import pandas
  import torch
  from hydra.experimental import compose, initialize_config_module
  from iopath.common.file_io import g_pathmgr
  from vissl.config import AttrDict
  from vissl.data.dataset_catalog import get_data_files
  from vissl.hooks import default_hook_generator
  from vissl.utils.checkpoint import get_checkpoint_folder
  from vissl.utils.distributed_launcher import launch_distributed
  from vissl.utils.env import set_env_vars
  from vissl.utils.hydra_config import convert_to_attrdict, is_hydra_available, print_cfg
  from vissl.utils.io import load_file, save_file
  from vissl.utils.logger import setup_logging, shutdown_logging
label_desc: Use image node_id 1 for calling a global function with example usage: vectorized_gc_distance(latitudes, longitudes, latitudes_gt, longitudes_gt) and returns: gcd