LongDouble is needed