text: #include <assert.h>
  #include <string.h>
  #include "binson_parser.h"
  
  /*
  {
    "000": [
      12336,
      48,
      "0",
      1.8123001616029725E-307,
      5063812098663919664,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295372486833334E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369370071456E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      3.5295369653413445E30,
      1.91336582284549E11,
      12336,
      48,
      3472328296227680304
    ]
  }
  */
  int main(void)
  {
      uint8_t binson_bytes[1561] = "\x40\x14\x03\x30\x30\x30\x42\x11\x30\x30\x10\x30\x14\x01\x30\x46\x30\x30\x30\x30\x30\x4a\x40\x00\x13\x30\x30\x30\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x64\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x43\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x46\x42\x11\x30\x30\x10\x30\x13\x30\x30\x30\x30\x30\x30\x30\x30\x43\x41";
      binson_parser p;
      double dval; (void) dval;
      int64_t intval; (void) intval;
      bool boolval; (void) boolval;
      bbuf *rawval; (void) rawval;
      assert(binson_parser_init(&p, binson_bytes, sizeof(binson_bytes)));
      assert(binson_parser_verify(&p));
      assert(p.error_flags == BINSON_ID_OK);
      assert(binson_parser_go_into_object(&p));
      assert(p.error_flags == BINSON_ID_OK);
      assert(binson_parser_field_ensure_with_length(&p, "\x30\x30\x30", 3, BINSON_TYPE_ARRAY));
      assert(p.error_flags == BINSON_ID_OK);
      assert(binson_parser_go_into_array(&p));
      assert(p.error_flags == BINSON_ID_OK);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_INTEGER));
      assert(p.error_flags == BINSON_ID_OK);
      intval = binson_parser_get_integer(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(intval == 12336);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_INTEGER));
      assert(p.error_flags == BINSON_ID_OK);
      intval = binson_parser_get_integer(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(intval == 48);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_STRING));
      assert(p.error_flags == BINSON_ID_OK);
      rawval = binson_parser_get_string_bbuf(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(memcmp(rawval->bptr, "\x30", rawval->bsize) == 0);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 1.8123001616029725E-307);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_INTEGER));
      assert(p.error_flags == BINSON_ID_OK);
      intval = binson_parser_get_integer(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(intval == 5063812098663919664);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295372486833334E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369370071456E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 3.5295369653413445E30);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_DOUBLE));
      assert(p.error_flags == BINSON_ID_OK);
      dval = binson_parser_get_double(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(dval == 1.91336582284549E11);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_INTEGER));
      assert(p.error_flags == BINSON_ID_OK);
      intval = binson_parser_get_integer(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(intval == 12336);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_INTEGER));
      assert(p.error_flags == BINSON_ID_OK);
      intval = binson_parser_get_integer(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(intval == 48);
      assert(binson_parser_next_ensure(&p, BINSON_TYPE_INTEGER));
      assert(p.error_flags == BINSON_ID_OK);
      intval = binson_parser_get_integer(&p);
      assert(p.error_flags == BINSON_ID_OK);
      assert(intval == 3472328296227680304);
      assert(binson_parser_leave_array(&p));
      assert(p.error_flags == BINSON_ID_OK);
      assert(!binson_parser_next(&p));
      assert(binson_parser_leave_object(&p));
      assert(p.error_flags == BINSON_ID_OK);
      return 0;
  }
  
  