import struct


def decode_float(value): # [int, int] -> float
    """Decode a float from MODBus format as in secn 2.11.1 of the techspec"""
    # Yes, the words _are_ supposed to be swapped over
    return struct.unpack('>f', struct.pack('>HH', value[1], value[0]))[0]