 private let asciiUpperA = UInt8(ascii: "A")
 private let asciiLowerB = UInt8(ascii: "b")
 private let asciiLowerE = UInt8(ascii: "e")
+private let asciiUpperE = UInt8(ascii: "E")
 private let asciiLowerF = UInt8(ascii: "f")
 private let asciiUpperI = UInt8(ascii: "I")
 private let asciiLowerL = UInt8(ascii: "l")

                case asciiZero...asciiNine: // 0...9
                    // leading '0' forbidden unless it is the only digit
                    throw JSONDecodingError.leadingZero
                case asciiPeriod, asciiLowerE: // . e
                    // Slow path: JSON numbers can be written in floating-point notation
                    p = start
                    if let d = try parseBareDouble(p: &p, end: end) {

        }

        // exp = e [ minus / plus ] 1*DIGIT
        if c == asciiLowerE || c == asciiUpperE {
            p = p + 1
            if p == end {
                // "e" must be followed by +,-, or digit
