question: public static double nextDown ( final double start ) { if ( start > Double . NEGATIVE_INFINITY ) { if ( start == 0.0 ) { return - Double . MIN_VALUE ; } final long bits = Double . doubleToRawLongBits ( start ) ; return Double . longBitsToDouble ( bits + ( bits > 0 ? - 1 : 1 ) ) ; } else if ( start == Double . NEGATIVE_INFINITY ) { return Double . NEGATIVE_INFINITY ; } else { return start ; } }
target:  Semantically equivalent to nextAfter(start,Double.NEGATIVE_INFINITY).