// Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o speedtest1/main_windows_amd64.go -trace-translation-units testdata/sqlite-src-3410200/test/speedtest1.c -Itestdata/sqlite-amalgamation-3410200 -l modernc.org/sqlite/lib -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.

package main

import (
	"math"
	"reflect"
	"sync/atomic"
	"unsafe"

	"modernc.org/libc"
	"modernc.org/libc/sys/types"
	"modernc.org/sqlite/lib"
)

var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
var _ *libc.TLS
var _ types.Size_t

func main() { libc.Start(main1) }

const (
	BUFSIZ                                                 = 512
	CHAR_BIT                                               = 8
	CHAR_MAX                                               = 127
	CHAR_MIN                                               = -128
	EOF                                                    = -1
	EXIT_FAILURE                                           = 1
	EXIT_SUCCESS                                           = 0
	FILENAME_MAX                                           = 260
	FOPEN_MAX                                              = 20
	FTS5_TOKENIZE_AUX                                      = 0x0008
	FTS5_TOKENIZE_DOCUMENT                                 = 0x0004
	FTS5_TOKENIZE_PREFIX                                   = 0x0002
	FTS5_TOKENIZE_QUERY                                    = 0x0001
	FTS5_TOKEN_COLOCATED                                   = 0x0001
	FULLY_WITHIN                                           = 2
	F_OK                                                   = 0
	HAVE_USLEEP                                            = 1
	INT_MAX                                                = 2147483647
	INT_MIN                                                = -2147483648
	LLONG_MAX                                              = 9223372036854775807
	LLONG_MIN                                              = -9223372036854775808
	LONG_LONG_MAX                                          = 9223372036854775807
	LONG_LONG_MIN                                          = -9223372036854775808
	LONG_MAX                                               = 2147483647
	LONG_MIN                                               = -2147483648
	MB_LEN_MAX                                             = 5
	MINGW_DDK_H                                            = 0
	MINGW_HAS_DDK_H                                        = 1
	MINGW_HAS_SECURE_API                                   = 1
	MINGW_SDK_INIT                                         = 0
	NAMEWIDTH                                              = 60
	NDEBUG                                                 = 1
	NONAMELESSSTRUCT                                       = 1
	NONAMELESSUNION                                        = 1
	NOT_WITHIN                                             = 0
	PARTLY_WITHIN                                          = 1
	PATH_MAX                                               = 260
	RAND_MAX                                               = 0x7fff
	R_OK                                                   = 4
	SCHAR_MAX                                              = 127
	SCHAR_MIN                                              = -128
	SEEK_CUR                                               = 1
	SEEK_END                                               = 2
	SEEK_SET                                               = 0
	SHRT_MAX                                               = 32767
	SHRT_MIN                                               = -32768
	SIZE_MAX                                               = 18446744073709551615
	SQLITE3_H                                              = 0
	SQLITE3_TEXT                                           = 3
	SQLITE_ABORT                                           = 4
	SQLITE_ABORT_ROLLBACK                                  = 516
	SQLITE_ACCESS_EXISTS                                   = 0
	SQLITE_ACCESS_READ                                     = 2
	SQLITE_ACCESS_READWRITE                                = 1
	SQLITE_ALTER_TABLE                                     = 26
	SQLITE_ANALYZE                                         = 28
	SQLITE_ANY                                             = 5
	SQLITE_API                                             = 0
	SQLITE_APICALL                                         = 0
	SQLITE_ATTACH                                          = 24
	SQLITE_AUTH                                            = 23
	SQLITE_AUTH_USER                                       = 279
	SQLITE_BLOB                                            = 4
	SQLITE_BUSY                                            = 5
	SQLITE_BUSY_RECOVERY                                   = 261
	SQLITE_BUSY_SNAPSHOT                                   = 517
	SQLITE_BUSY_TIMEOUT                                    = 773
	SQLITE_CALLBACK                                        = 0
	SQLITE_CANTOPEN                                        = 14
	SQLITE_CANTOPEN_CONVPATH                               = 1038
	SQLITE_CANTOPEN_DIRTYWAL                               = 1294
	SQLITE_CANTOPEN_FULLPATH                               = 782
	SQLITE_CANTOPEN_ISDIR                                  = 526
	SQLITE_CANTOPEN_NOTEMPDIR                              = 270
	SQLITE_CANTOPEN_SYMLINK                                = 1550
	SQLITE_CDECL                                           = 0
	SQLITE_CHANGESETAPPLY_INVERT                           = 0x0002
	SQLITE_CHANGESETAPPLY_NOSAVEPOINT                      = 0x0001
	SQLITE_CHANGESETSTART_INVERT                           = 0x0002
	SQLITE_CHANGESET_ABORT                                 = 2
	SQLITE_CHANGESET_CONFLICT                              = 3
	SQLITE_CHANGESET_CONSTRAINT                            = 4
	SQLITE_CHANGESET_DATA                                  = 1
	SQLITE_CHANGESET_FOREIGN_KEY                           = 5
	SQLITE_CHANGESET_NOTFOUND                              = 2
	SQLITE_CHANGESET_OMIT                                  = 0
	SQLITE_CHANGESET_REPLACE                               = 1
	SQLITE_CHECKPOINT_FULL                                 = 1
	SQLITE_CHECKPOINT_PASSIVE                              = 0
	SQLITE_CHECKPOINT_RESTART                              = 2
	SQLITE_CHECKPOINT_TRUNCATE                             = 3
	SQLITE_CONFIG_COVERING_INDEX_SCAN                      = 20
	SQLITE_CONFIG_GETMALLOC                                = 5
	SQLITE_CONFIG_GETMUTEX                                 = 11
	SQLITE_CONFIG_GETPCACHE                                = 15
	SQLITE_CONFIG_GETPCACHE2                               = 19
	SQLITE_CONFIG_HEAP                                     = 8
	SQLITE_CONFIG_LOG                                      = 16
	SQLITE_CONFIG_LOOKASIDE                                = 13
	SQLITE_CONFIG_MALLOC                                   = 4
	SQLITE_CONFIG_MEMDB_MAXSIZE                            = 29
	SQLITE_CONFIG_MEMSTATUS                                = 9
	SQLITE_CONFIG_MMAP_SIZE                                = 22
	SQLITE_CONFIG_MULTITHREAD                              = 2
	SQLITE_CONFIG_MUTEX                                    = 10
	SQLITE_CONFIG_PAGECACHE                                = 7
	SQLITE_CONFIG_PCACHE                                   = 14
	SQLITE_CONFIG_PCACHE2                                  = 18
	SQLITE_CONFIG_PCACHE_HDRSZ                             = 24
	SQLITE_CONFIG_PMASZ                                    = 25
	SQLITE_CONFIG_SCRATCH                                  = 6
	SQLITE_CONFIG_SERIALIZED                               = 3
	SQLITE_CONFIG_SINGLETHREAD                             = 1
	SQLITE_CONFIG_SMALL_MALLOC                             = 27
	SQLITE_CONFIG_SORTERREF_SIZE                           = 28
	SQLITE_CONFIG_SQLLOG                                   = 21
	SQLITE_CONFIG_STMTJRNL_SPILL                           = 26
	SQLITE_CONFIG_URI                                      = 17
	SQLITE_CONFIG_WIN32_HEAPSIZE                           = 23
	SQLITE_CONSTRAINT                                      = 19
	SQLITE_CONSTRAINT_CHECK                                = 275
	SQLITE_CONSTRAINT_COMMITHOOK                           = 531
	SQLITE_CONSTRAINT_DATATYPE                             = 3091
	SQLITE_CONSTRAINT_FOREIGNKEY                           = 787
	SQLITE_CONSTRAINT_FUNCTION                             = 1043
	SQLITE_CONSTRAINT_NOTNULL                              = 1299
	SQLITE_CONSTRAINT_PINNED                               = 2835
	SQLITE_CONSTRAINT_PRIMARYKEY                           = 1555
	SQLITE_CONSTRAINT_ROWID                                = 2579
	SQLITE_CONSTRAINT_TRIGGER                              = 1811
	SQLITE_CONSTRAINT_UNIQUE                               = 2067
	SQLITE_CONSTRAINT_VTAB                                 = 2323
	SQLITE_COPY                                            = 0
	SQLITE_CORE                                            = 1
	SQLITE_CORRUPT                                         = 11
	SQLITE_CORRUPT_INDEX                                   = 779
	SQLITE_CORRUPT_SEQUENCE                                = 523
	SQLITE_CORRUPT_VTAB                                    = 267
	SQLITE_CREATE_INDEX                                    = 1
	SQLITE_CREATE_TABLE                                    = 2
	SQLITE_CREATE_TEMP_INDEX                               = 3
	SQLITE_CREATE_TEMP_TABLE                               = 4
	SQLITE_CREATE_TEMP_TRIGGER                             = 5
	SQLITE_CREATE_TEMP_VIEW                                = 6
	SQLITE_CREATE_TRIGGER                                  = 7
	SQLITE_CREATE_VIEW                                     = 8
	SQLITE_CREATE_VTABLE                                   = 29
	SQLITE_DBCONFIG_DEFENSIVE                              = 1010
	SQLITE_DBCONFIG_DQS_DDL                                = 1014
	SQLITE_DBCONFIG_DQS_DML                                = 1013
	SQLITE_DBCONFIG_ENABLE_FKEY                            = 1002
	SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER                  = 1004
	SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION                  = 1005
	SQLITE_DBCONFIG_ENABLE_QPSG                            = 1007
	SQLITE_DBCONFIG_ENABLE_TRIGGER                         = 1003
	SQLITE_DBCONFIG_ENABLE_VIEW                            = 1015
	SQLITE_DBCONFIG_LEGACY_ALTER_TABLE                     = 1012
	SQLITE_DBCONFIG_LEGACY_FILE_FORMAT                     = 1016
	SQLITE_DBCONFIG_LOOKASIDE                              = 1001
	SQLITE_DBCONFIG_MAINDBNAME                             = 1000
	SQLITE_DBCONFIG_MAX                                    = 1017
	SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE                       = 1006
	SQLITE_DBCONFIG_RESET_DATABASE                         = 1009
	SQLITE_DBCONFIG_TRIGGER_EQP                            = 1008
	SQLITE_DBCONFIG_TRUSTED_SCHEMA                         = 1017
	SQLITE_DBCONFIG_WRITABLE_SCHEMA                        = 1011
	SQLITE_DBSTATUS_CACHE_HIT                              = 7
	SQLITE_DBSTATUS_CACHE_MISS                             = 8
	SQLITE_DBSTATUS_CACHE_SPILL                            = 12
	SQLITE_DBSTATUS_CACHE_USED                             = 1
	SQLITE_DBSTATUS_CACHE_USED_SHARED                      = 11
	SQLITE_DBSTATUS_CACHE_WRITE                            = 9
	SQLITE_DBSTATUS_DEFERRED_FKS                           = 10
	SQLITE_DBSTATUS_LOOKASIDE_HIT                          = 4
	SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL                    = 6
	SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE                    = 5
	SQLITE_DBSTATUS_LOOKASIDE_USED                         = 0
	SQLITE_DBSTATUS_MAX                                    = 12
	SQLITE_DBSTATUS_SCHEMA_USED                            = 2
	SQLITE_DBSTATUS_STMT_USED                              = 3
	SQLITE_DEFAULT_MEMSTATUS                               = 0
	SQLITE_DELETE                                          = 9
	SQLITE_DENY                                            = 1
	SQLITE_DEPRECATED                                      = 0
	SQLITE_DESERIALIZE_FREEONCLOSE                         = 1
	SQLITE_DESERIALIZE_READONLY                            = 4
	SQLITE_DESERIALIZE_RESIZEABLE                          = 2
	SQLITE_DETACH                                          = 25
	SQLITE_DETERMINISTIC                                   = 0x000000800
	SQLITE_DIRECTONLY                                      = 0x000080000
	SQLITE_DONE                                            = 101
	SQLITE_DROP_INDEX                                      = 10
	SQLITE_DROP_TABLE                                      = 11
	SQLITE_DROP_TEMP_INDEX                                 = 12
	SQLITE_DROP_TEMP_TABLE                                 = 13
	SQLITE_DROP_TEMP_TRIGGER                               = 14
	SQLITE_DROP_TEMP_VIEW                                  = 15
	SQLITE_DROP_TRIGGER                                    = 16
	SQLITE_DROP_VIEW                                       = 17
	SQLITE_DROP_VTABLE                                     = 30
	SQLITE_EMPTY                                           = 16
	SQLITE_ENABLE_COLUMN_METADATA                          = 1
	SQLITE_ENABLE_DBSTAT_VTAB                              = 1
	SQLITE_ENABLE_FTS5                                     = 1
	SQLITE_ENABLE_GEOPOLY                                  = 1
	SQLITE_ENABLE_MATH_FUNCTIONS                           = 1
	SQLITE_ENABLE_MEMORY_MANAGEMENT                        = 1
	SQLITE_ENABLE_OFFSET_SQL_FUNC                          = 1
	SQLITE_ENABLE_PREUPDATE_HOOK                           = 1
	SQLITE_ENABLE_RBU                                      = 1
	SQLITE_ENABLE_RTREE                                    = 1
	SQLITE_ENABLE_SESSION                                  = 1
	SQLITE_ENABLE_SNAPSHOT                                 = 1
	SQLITE_ENABLE_STAT4                                    = 1
	SQLITE_ENABLE_UNLOCK_NOTIFY                            = 1
	SQLITE_ERROR                                           = 1
	SQLITE_ERROR_MISSING_COLLSEQ                           = 257
	SQLITE_ERROR_RETRY                                     = 513
	SQLITE_ERROR_SNAPSHOT                                  = 769
	SQLITE_EXPERIMENTAL                                    = 0
	SQLITE_FAIL                                            = 3
	SQLITE_FCNTL_BEGIN_ATOMIC_WRITE                        = 31
	SQLITE_FCNTL_BUSYHANDLER                               = 15
	SQLITE_FCNTL_CHUNK_SIZE                                = 6
	SQLITE_FCNTL_CKPT_DONE                                 = 37
	SQLITE_FCNTL_CKPT_START                                = 39
	SQLITE_FCNTL_CKSM_FILE                                 = 41
	SQLITE_FCNTL_COMMIT_ATOMIC_WRITE                       = 32
	SQLITE_FCNTL_COMMIT_PHASETWO                           = 22
	SQLITE_FCNTL_DATA_VERSION                              = 35
	SQLITE_FCNTL_EXTERNAL_READER                           = 40
	SQLITE_FCNTL_FILE_POINTER                              = 7
	SQLITE_FCNTL_GET_LOCKPROXYFILE                         = 2
	SQLITE_FCNTL_HAS_MOVED                                 = 20
	SQLITE_FCNTL_JOURNAL_POINTER                           = 28
	SQLITE_FCNTL_LAST_ERRNO                                = 4
	SQLITE_FCNTL_LOCKSTATE                                 = 1
	SQLITE_FCNTL_LOCK_TIMEOUT                              = 34
	SQLITE_FCNTL_MMAP_SIZE                                 = 18
	SQLITE_FCNTL_OVERWRITE                                 = 11
	SQLITE_FCNTL_PDB                                       = 30
	SQLITE_FCNTL_PERSIST_WAL                               = 10
	SQLITE_FCNTL_POWERSAFE_OVERWRITE                       = 13
	SQLITE_FCNTL_PRAGMA                                    = 14
	SQLITE_FCNTL_RBU                                       = 26
	SQLITE_FCNTL_RESERVE_BYTES                             = 38
	SQLITE_FCNTL_RESET_CACHE                               = 42
	SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE                     = 33
	SQLITE_FCNTL_SET_LOCKPROXYFILE                         = 3
	SQLITE_FCNTL_SIZE_HINT                                 = 5
	SQLITE_FCNTL_SIZE_LIMIT                                = 36
	SQLITE_FCNTL_SYNC                                      = 21
	SQLITE_FCNTL_SYNC_OMITTED                              = 8
	SQLITE_FCNTL_TEMPFILENAME                              = 16
	SQLITE_FCNTL_TRACE                                     = 19
	SQLITE_FCNTL_VFSNAME                                   = 12
	SQLITE_FCNTL_VFS_POINTER                               = 27
	SQLITE_FCNTL_WAL_BLOCK                                 = 24
	SQLITE_FCNTL_WIN32_AV_RETRY                            = 9
	SQLITE_FCNTL_WIN32_GET_HANDLE                          = 29
	SQLITE_FCNTL_WIN32_SET_HANDLE                          = 23
	SQLITE_FCNTL_ZIPVFS                                    = 25
	SQLITE_FLOAT                                           = 2
	SQLITE_FORMAT                                          = 24
	SQLITE_FULL                                            = 13
	SQLITE_FUNCTION                                        = 31
	SQLITE_GET_LOCKPROXYFILE                               = 2
	SQLITE_IGNORE                                          = 2
	SQLITE_INDEX_CONSTRAINT_EQ                             = 2
	SQLITE_INDEX_CONSTRAINT_FUNCTION                       = 150
	SQLITE_INDEX_CONSTRAINT_GE                             = 32
	SQLITE_INDEX_CONSTRAINT_GLOB                           = 66
	SQLITE_INDEX_CONSTRAINT_GT                             = 4
	SQLITE_INDEX_CONSTRAINT_IS                             = 72
	SQLITE_INDEX_CONSTRAINT_ISNOT                          = 69
	SQLITE_INDEX_CONSTRAINT_ISNOTNULL                      = 70
	SQLITE_INDEX_CONSTRAINT_ISNULL                         = 71
	SQLITE_INDEX_CONSTRAINT_LE                             = 8
	SQLITE_INDEX_CONSTRAINT_LIKE                           = 65
	SQLITE_INDEX_CONSTRAINT_LIMIT                          = 73
	SQLITE_INDEX_CONSTRAINT_LT                             = 16
	SQLITE_INDEX_CONSTRAINT_MATCH                          = 64
	SQLITE_INDEX_CONSTRAINT_NE                             = 68
	SQLITE_INDEX_CONSTRAINT_OFFSET                         = 74
	SQLITE_INDEX_CONSTRAINT_REGEXP                         = 67
	SQLITE_INDEX_SCAN_UNIQUE                               = 1
	SQLITE_INNOCUOUS                                       = 0x000200000
	SQLITE_INSERT                                          = 18
	SQLITE_INTEGER                                         = 1
	SQLITE_INTERNAL                                        = 2
	SQLITE_INTERRUPT                                       = 9
	SQLITE_IOCAP_ATOMIC                                    = 0x00000001
	SQLITE_IOCAP_ATOMIC16K                                 = 0x00000040
	SQLITE_IOCAP_ATOMIC1K                                  = 0x00000004
	SQLITE_IOCAP_ATOMIC2K                                  = 0x00000008
	SQLITE_IOCAP_ATOMIC32K                                 = 0x00000080
	SQLITE_IOCAP_ATOMIC4K                                  = 0x00000010
	SQLITE_IOCAP_ATOMIC512                                 = 0x00000002
	SQLITE_IOCAP_ATOMIC64K                                 = 0x00000100
	SQLITE_IOCAP_ATOMIC8K                                  = 0x00000020
	SQLITE_IOCAP_BATCH_ATOMIC                              = 0x00004000
	SQLITE_IOCAP_IMMUTABLE                                 = 0x00002000
	SQLITE_IOCAP_POWERSAFE_OVERWRITE                       = 0x00001000
	SQLITE_IOCAP_SAFE_APPEND                               = 0x00000200
	SQLITE_IOCAP_SEQUENTIAL                                = 0x00000400
	SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN                     = 0x00000800
	SQLITE_IOERR                                           = 10
	SQLITE_IOERR_ACCESS                                    = 3338
	SQLITE_IOERR_AUTH                                      = 7178
	SQLITE_IOERR_BEGIN_ATOMIC                              = 7434
	SQLITE_IOERR_BLOCKED                                   = 2826
	SQLITE_IOERR_CHECKRESERVEDLOCK                         = 3594
	SQLITE_IOERR_CLOSE                                     = 4106
	SQLITE_IOERR_COMMIT_ATOMIC                             = 7690
	SQLITE_IOERR_CONVPATH                                  = 6666
	SQLITE_IOERR_CORRUPTFS                                 = 8458
	SQLITE_IOERR_DATA                                      = 8202
	SQLITE_IOERR_DELETE                                    = 2570
	SQLITE_IOERR_DELETE_NOENT                              = 5898
	SQLITE_IOERR_DIR_CLOSE                                 = 4362
	SQLITE_IOERR_DIR_FSYNC                                 = 1290
	SQLITE_IOERR_FSTAT                                     = 1802
	SQLITE_IOERR_FSYNC                                     = 1034
	SQLITE_IOERR_GETTEMPPATH                               = 6410
	SQLITE_IOERR_LOCK                                      = 3850
	SQLITE_IOERR_MMAP                                      = 6154
	SQLITE_IOERR_NOMEM                                     = 3082
	SQLITE_IOERR_RDLOCK                                    = 2314
	SQLITE_IOERR_READ                                      = 266
	SQLITE_IOERR_ROLLBACK_ATOMIC                           = 7946
	SQLITE_IOERR_SEEK                                      = 5642
	SQLITE_IOERR_SHMLOCK                                   = 5130
	SQLITE_IOERR_SHMMAP                                    = 5386
	SQLITE_IOERR_SHMOPEN                                   = 4618
	SQLITE_IOERR_SHMSIZE                                   = 4874
	SQLITE_IOERR_SHORT_READ                                = 522
	SQLITE_IOERR_TRUNCATE                                  = 1546
	SQLITE_IOERR_UNLOCK                                    = 2058
	SQLITE_IOERR_VNODE                                     = 6922
	SQLITE_IOERR_WRITE                                     = 778
	SQLITE_LAST_ERRNO                                      = 4
	SQLITE_LIKE_DOESNT_MATCH_BLOBS                         = 1
	SQLITE_LIMIT_ATTACHED                                  = 7
	SQLITE_LIMIT_COLUMN                                    = 2
	SQLITE_LIMIT_COMPOUND_SELECT                           = 4
	SQLITE_LIMIT_EXPR_DEPTH                                = 3
	SQLITE_LIMIT_FUNCTION_ARG                              = 6
	SQLITE_LIMIT_LENGTH                                    = 0
	SQLITE_LIMIT_LIKE_PATTERN_LENGTH                       = 8
	SQLITE_LIMIT_SQL_LENGTH                                = 1
	SQLITE_LIMIT_TRIGGER_DEPTH                             = 10
	SQLITE_LIMIT_VARIABLE_NUMBER                           = 9
	SQLITE_LIMIT_VDBE_OP                                   = 5
	SQLITE_LIMIT_WORKER_THREADS                            = 11
	SQLITE_LOCKED                                          = 6
	SQLITE_LOCKED_SHAREDCACHE                              = 262
	SQLITE_LOCKED_VTAB                                     = 518
	SQLITE_LOCK_EXCLUSIVE                                  = 4
	SQLITE_LOCK_NONE                                       = 0
	SQLITE_LOCK_PENDING                                    = 3
	SQLITE_LOCK_RESERVED                                   = 2
	SQLITE_LOCK_SHARED                                     = 1
	SQLITE_MISMATCH                                        = 20
	SQLITE_MISUSE                                          = 21
	SQLITE_MUTEX_APPDEF                                    = 1
	SQLITE_MUTEX_FAST                                      = 0
	SQLITE_MUTEX_NOOP                                      = 1
	SQLITE_MUTEX_RECURSIVE                                 = 1
	SQLITE_MUTEX_STATIC_APP1                               = 8
	SQLITE_MUTEX_STATIC_APP2                               = 9
	SQLITE_MUTEX_STATIC_APP3                               = 10
	SQLITE_MUTEX_STATIC_LRU                                = 6
	SQLITE_MUTEX_STATIC_LRU2                               = 7
	SQLITE_MUTEX_STATIC_MAIN                               = 2
	SQLITE_MUTEX_STATIC_MASTER                             = 2
	SQLITE_MUTEX_STATIC_MEM                                = 3
	SQLITE_MUTEX_STATIC_MEM2                               = 4
	SQLITE_MUTEX_STATIC_OPEN                               = 4
	SQLITE_MUTEX_STATIC_PMEM                               = 7
	SQLITE_MUTEX_STATIC_PRNG                               = 5
	SQLITE_MUTEX_STATIC_VFS1                               = 11
	SQLITE_MUTEX_STATIC_VFS2                               = 12
	SQLITE_MUTEX_STATIC_VFS3                               = 13
	SQLITE_NOLFS                                           = 22
	SQLITE_NOMEM                                           = 7
	SQLITE_NOTADB                                          = 26
	SQLITE_NOTFOUND                                        = 12
	SQLITE_NOTICE                                          = 27
	SQLITE_NOTICE_RBU                                      = 795
	SQLITE_NOTICE_RECOVER_ROLLBACK                         = 539
	SQLITE_NOTICE_RECOVER_WAL                              = 283
	SQLITE_NULL                                            = 5
	SQLITE_OK                                              = 0
	SQLITE_OK_LOAD_PERMANENTLY                             = 256
	SQLITE_OK_SYMLINK                                      = 512
	SQLITE_OPEN_AUTOPROXY                                  = 0x00000020
	SQLITE_OPEN_CREATE                                     = 0x00000004
	SQLITE_OPEN_DELETEONCLOSE                              = 0x00000008
	SQLITE_OPEN_EXCLUSIVE                                  = 0x00000010
	SQLITE_OPEN_EXRESCODE                                  = 0x02000000
	SQLITE_OPEN_FULLMUTEX                                  = 0x00010000
	SQLITE_OPEN_MAIN_DB                                    = 0x00000100
	SQLITE_OPEN_MAIN_JOURNAL                               = 0x00000800
	SQLITE_OPEN_MASTER_JOURNAL                             = 0x00004000
	SQLITE_OPEN_MEMORY                                     = 0x00000080
	SQLITE_OPEN_NOFOLLOW                                   = 0x01000000
	SQLITE_OPEN_NOMUTEX                                    = 0x00008000
	SQLITE_OPEN_PRIVATECACHE                               = 0x00040000
	SQLITE_OPEN_READONLY                                   = 0x00000001
	SQLITE_OPEN_READWRITE                                  = 0x00000002
	SQLITE_OPEN_SHAREDCACHE                                = 0x00020000
	SQLITE_OPEN_SUBJOURNAL                                 = 0x00002000
	SQLITE_OPEN_SUPER_JOURNAL                              = 0x00004000
	SQLITE_OPEN_TEMP_DB                                    = 0x00000200
	SQLITE_OPEN_TEMP_JOURNAL                               = 0x00001000
	SQLITE_OPEN_TRANSIENT_DB                               = 0x00000400
	SQLITE_OPEN_URI                                        = 0x00000040
	SQLITE_OPEN_WAL                                        = 0x00080000
	SQLITE_OS_WIN                                          = 1
	SQLITE_PERM                                            = 3
	SQLITE_PRAGMA                                          = 19
	SQLITE_PREPARE_NORMALIZE                               = 0x02
	SQLITE_PREPARE_NO_VTAB                                 = 0x04
	SQLITE_PREPARE_PERSISTENT                              = 0x01
	SQLITE_PROTOCOL                                        = 15
	SQLITE_RANGE                                           = 25
	SQLITE_READ                                            = 20
	SQLITE_READONLY                                        = 8
	SQLITE_READONLY_CANTINIT                               = 1288
	SQLITE_READONLY_CANTLOCK                               = 520
	SQLITE_READONLY_DBMOVED                                = 1032
	SQLITE_READONLY_DIRECTORY                              = 1544
	SQLITE_READONLY_RECOVERY                               = 264
	SQLITE_READONLY_ROLLBACK                               = 776
	SQLITE_RECURSIVE                                       = 33
	SQLITE_REINDEX                                         = 27
	SQLITE_REPLACE                                         = 5
	SQLITE_ROLLBACK                                        = 1
	SQLITE_ROW                                             = 100
	SQLITE_SAVEPOINT                                       = 32
	SQLITE_SCANSTAT_COMPLEX                                = 0x0001
	SQLITE_SCANSTAT_EST                                    = 2
	SQLITE_SCANSTAT_EXPLAIN                                = 4
	SQLITE_SCANSTAT_NAME                                   = 3
	SQLITE_SCANSTAT_NCYCLE                                 = 7
	SQLITE_SCANSTAT_NLOOP                                  = 0
	SQLITE_SCANSTAT_NVISIT                                 = 1
	SQLITE_SCANSTAT_PARENTID                               = 6
	SQLITE_SCANSTAT_SELECTID                               = 5
	SQLITE_SCHEMA                                          = 17
	SQLITE_SELECT                                          = 21
	SQLITE_SERIALIZE_NOCOPY                                = 0x001
	SQLITE_SESSION_CONFIG_STRMSIZE                         = 1
	SQLITE_SESSION_OBJCONFIG_SIZE                          = 1
	SQLITE_SET_LOCKPROXYFILE                               = 3
	SQLITE_SHM_EXCLUSIVE                                   = 8
	SQLITE_SHM_LOCK                                        = 2
	SQLITE_SHM_NLOCK                                       = 8
	SQLITE_SHM_SHARED                                      = 4
	SQLITE_SHM_UNLOCK                                      = 1
	SQLITE_SOUNDEX                                         = 1
	SQLITE_SOURCE_ID                                       = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
	SQLITE_STATUS_MALLOC_COUNT                             = 9
	SQLITE_STATUS_MALLOC_SIZE                              = 5
	SQLITE_STATUS_MEMORY_USED                              = 0
	SQLITE_STATUS_PAGECACHE_OVERFLOW                       = 2
	SQLITE_STATUS_PAGECACHE_SIZE                           = 7
	SQLITE_STATUS_PAGECACHE_USED                           = 1
	SQLITE_STATUS_PARSER_STACK                             = 6
	SQLITE_STATUS_SCRATCH_OVERFLOW                         = 4
	SQLITE_STATUS_SCRATCH_SIZE                             = 8
	SQLITE_STATUS_SCRATCH_USED                             = 3
	SQLITE_STDCALL                                         = 0
	SQLITE_STMTSTATUS_AUTOINDEX                            = 3
	SQLITE_STMTSTATUS_FILTER_HIT                           = 8
	SQLITE_STMTSTATUS_FILTER_MISS                          = 7
	SQLITE_STMTSTATUS_FULLSCAN_STEP                        = 1
	SQLITE_STMTSTATUS_MEMUSED                              = 99
	SQLITE_STMTSTATUS_REPREPARE                            = 5
	SQLITE_STMTSTATUS_RUN                                  = 6
	SQLITE_STMTSTATUS_SORT                                 = 2
	SQLITE_STMTSTATUS_VM_STEP                              = 4
	SQLITE_SUBTYPE                                         = 0x000100000
	SQLITE_SYNC_DATAONLY                                   = 0x00010
	SQLITE_SYNC_FULL                                       = 0x00003
	SQLITE_SYNC_NORMAL                                     = 0x00002
	SQLITE_SYSAPI                                          = 0
	SQLITE_TESTCTRL_ALWAYS                                 = 13
	SQLITE_TESTCTRL_ASSERT                                 = 12
	SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS                    = 10
	SQLITE_TESTCTRL_BITVEC_TEST                            = 8
	SQLITE_TESTCTRL_BYTEORDER                              = 22
	SQLITE_TESTCTRL_EXPLAIN_STMT                           = 19
	SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS                    = 29
	SQLITE_TESTCTRL_FAULT_INSTALL                          = 9
	SQLITE_TESTCTRL_FIRST                                  = 5
	SQLITE_TESTCTRL_IMPOSTER                               = 25
	SQLITE_TESTCTRL_INTERNAL_FUNCTIONS                     = 17
	SQLITE_TESTCTRL_ISINIT                                 = 23
	SQLITE_TESTCTRL_ISKEYWORD                              = 16
	SQLITE_TESTCTRL_LAST                                   = 33
	SQLITE_TESTCTRL_LOCALTIME_FAULT                        = 18
	SQLITE_TESTCTRL_LOGEST                                 = 33
	SQLITE_TESTCTRL_NEVER_CORRUPT                          = 20
	SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD                   = 19
	SQLITE_TESTCTRL_OPTIMIZATIONS                          = 15
	SQLITE_TESTCTRL_PARSER_COVERAGE                        = 26
	SQLITE_TESTCTRL_PENDING_BYTE                           = 11
	SQLITE_TESTCTRL_PRNG_RESET                             = 7
	SQLITE_TESTCTRL_PRNG_RESTORE                           = 6
	SQLITE_TESTCTRL_PRNG_SAVE                              = 5
	SQLITE_TESTCTRL_PRNG_SEED                              = 28
	SQLITE_TESTCTRL_RESERVE                                = 14
	SQLITE_TESTCTRL_RESULT_INTREAL                         = 27
	SQLITE_TESTCTRL_SCRATCHMALLOC                          = 17
	SQLITE_TESTCTRL_SEEK_COUNT                             = 30
	SQLITE_TESTCTRL_SORTER_MMAP                            = 24
	SQLITE_TESTCTRL_TRACEFLAGS                             = 31
	SQLITE_TESTCTRL_TUNE                                   = 32
	SQLITE_TESTCTRL_VDBE_COVERAGE                          = 21
	SQLITE_TEXT                                            = 3
	SQLITE_THREADSAFE                                      = 1
	SQLITE_TOOBIG                                          = 18
	SQLITE_TRACE_CLOSE                                     = 0x08
	SQLITE_TRACE_PROFILE                                   = 0x02
	SQLITE_TRACE_ROW                                       = 0x04
	SQLITE_TRACE_STMT                                      = 0x01
	SQLITE_TRANSACTION                                     = 22
	SQLITE_TXN_NONE                                        = 0
	SQLITE_TXN_READ                                        = 1
	SQLITE_TXN_WRITE                                       = 2
	SQLITE_UPDATE                                          = 23
	SQLITE_UTF16                                           = 4
	SQLITE_UTF16BE                                         = 3
	SQLITE_UTF16LE                                         = 2
	SQLITE_UTF16_ALIGNED                                   = 8
	SQLITE_UTF8                                            = 1
	SQLITE_VERSION                                         = "3.41.2"
	SQLITE_VERSION_NUMBER                                  = 3041002
	SQLITE_VTAB_CONSTRAINT_SUPPORT                         = 1
	SQLITE_VTAB_DIRECTONLY                                 = 3
	SQLITE_VTAB_INNOCUOUS                                  = 2
	SQLITE_WARNING                                         = 28
	SQLITE_WARNING_AUTOINDEX                               = 284
	SQLITE_WIN32_DATA_DIRECTORY_TYPE                       = 1
	SQLITE_WIN32_TEMP_DIRECTORY_TYPE                       = 2
	SSIZE_MAX                                              = 9223372036854775807
	STDERR_FILENO                                          = 2
	STDIN_FILENO                                           = 0
	STDOUT_FILENO                                          = 1
	SYS_OPEN                                               = 20
	TMP_MAX                                                = 32767
	TMP_MAX_S                                              = 32767
	UCHAR_MAX                                              = 255
	UINT_MAX                                               = 4294967295
	ULLONG_MAX                                             = 18446744073709551615
	ULONG_LONG_MAX                                         = 18446744073709551615
	ULONG_MAX                                              = 4294967295
	UNALIGNED                                              = 0
	USE___UUIDOF                                           = 1
	USHRT_MAX                                              = 65535
	WIN32                                                  = 1
	WIN64                                                  = 1
	WINNT                                                  = 1
	W_OK                                                   = 2
	X_OK                                                   = 1
	X_AGLOBAL                                              = 0
	X_ALLOCA_S_HEAP_MARKER                                 = 0xDDDD
	X_ALLOCA_S_MARKER_SIZE                                 = 16
	X_ALLOCA_S_STACK_MARKER                                = 0xCCCC
	X_ALLOCA_S_THRESHOLD                                   = 1024
	X_ALPHA                                                = 259
	X_ANONYMOUS_STRUCT                                     = 0
	X_ANONYMOUS_UNION                                      = 0
	X_ANSI_STDARG_H_                                       = 0
	X_ARGMAX                                               = 100
	X_A_ARCH                                               = 0x20
	X_A_HIDDEN                                             = 0x02
	X_A_NORMAL                                             = 0x00
	X_A_RDONLY                                             = 0x01
	X_A_SUBDIR                                             = 0x10
	X_A_SYSTEM                                             = 0x04
	X_BLANK                                                = 0x40
	X_CALL_REPORTFAULT                                     = 0x2
	X_CONST_RETURN                                         = 0
	X_CONTROL                                              = 0x20
	X_CRTNOALIAS                                           = 0
	X_CRTRESTRICT                                          = 0
	X_CRT_ABS_DEFINED                                      = 0
	X_CRT_ALGO_DEFINED                                     = 0
	X_CRT_ALLOCATION_DEFINED                               = 0
	X_CRT_ALTERNATIVE_IMPORTED                             = 0
	X_CRT_ATOF_DEFINED                                     = 0
	X_CRT_CTYPEDATA_DEFINED                                = 0
	X_CRT_DIRECTORY_DEFINED                                = 0
	X_CRT_DOUBLE_DEC                                       = 0
	X_CRT_ERRNO_DEFINED                                    = 0
	X_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS                    = 4
	X_CRT_INTERNAL_LOCAL_SCANF_OPTIONS                     = 2
	X_CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY      = 0x0008
	X_CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS     = 0x0010
	X_CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION = 0x0001
	X_CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS           = 0x0004
	X_CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR       = 0x0002
	X_CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY       = 0x0004
	X_CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS            = 0x0002
	X_CRT_INTERNAL_SCANF_SECURECRT                         = 0x0001
	X_CRT_MANAGED_HEAP_DEPRECATE                           = 0
	X_CRT_MEMORY_DEFINED                                   = 0
	X_CRT_PACKING                                          = 8
	X_CRT_PERROR_DEFINED                                   = 0
	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES                 = 0
	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY          = 0
	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES               = 0
	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT         = 0
	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY        = 0
	X_CRT_SWAB_DEFINED                                     = 0
	X_CRT_SYSTEM_DEFINED                                   = 0
	X_CRT_TERMINATE_DEFINED                                = 0
	X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP                    = 0
	X_CRT_WCTYPEDATA_DEFINED                               = 0
	X_CRT_WPERROR_DEFINED                                  = 0
	X_CRT_WSYSTEM_DEFINED                                  = 0
	X_CTYPE_DEFINED                                        = 0
	X_CVTBUFSIZE                                           = 349
	X_DIGIT                                                = 0x4
	X_DIV_T_DEFINED                                        = 0
	X_DLL                                                  = 0
	X_ERRCODE_DEFINED                                      = 0
	X_FILE_DEFINED                                         = 0
	X_FILE_OFFSET_BITS                                     = 64
	X_FILE_OFFSET_BITS_SET_FSEEKO                          = 0
	X_FILE_OFFSET_BITS_SET_FTELLO                          = 0
	X_FILE_OFFSET_BITS_SET_LSEEK                           = 0
	X_FILE_OFFSET_BITS_SET_OFFT                            = 0
	X_FINDDATA_T_DEFINED                                   = 0
	X_FPOS_T_DEFINED                                       = 0
	X_FREEA_INLINE                                         = 0
	X_FREEENTRY                                            = 0
	X_FSIZE_T_DEFINED                                      = 0
	X_FTS5_H                                               = 0
	X_GCC_LIMITS_H_                                        = 0
	X_HEAPBADBEGIN                                         = -3
	X_HEAPBADNODE                                          = -4
	X_HEAPBADPTR                                           = -6
	X_HEAPEMPTY                                            = -1
	X_HEAPEND                                              = -5
	X_HEAPINFO_DEFINED                                     = 0
	X_HEAPOK                                               = -2
	X_HEAP_MAXREQ                                          = 0xFFFFFFFFFFFFFFE0
	X_HEX                                                  = 0x80
	X_I16_MAX                                              = 32767
	X_I16_MIN                                              = -32768
	X_I32_MAX                                              = 2147483647
	X_I32_MIN                                              = -2147483648
	X_I64_MAX                                              = 9223372036854775807
	X_I64_MIN                                              = -9223372036854775808
	X_I8_MAX                                               = 127
	X_I8_MIN                                               = -128
	X_INC_CORECRT                                          = 0
	X_INC_CORECRT_WSTDLIB                                  = 0
	X_INC_CRTDEFS                                          = 0
	X_INC_CRTDEFS_MACRO                                    = 0
	X_INC_CTYPE                                            = 0
	X_INC_LIMITS                                           = 0
	X_INC_MINGW_SECAPI                                     = 0
	X_INC_STDARG                                           = 0
	X_INC_STDIO                                            = 0
	X_INC_STDIO_S                                          = 0
	X_INC_STDLIB                                           = 0
	X_INC_STDLIB_S                                         = 0
	X_INC_STRING                                           = 0
	X_INC_STRING_S                                         = 0
	X_INC_SWPRINTF_INL                                     = 0
	X_INC_VADEFS                                           = 0
	X_INC__MINGW_H                                         = 0
	X_INT128_DEFINED                                       = 0
	X_INTEGRAL_MAX_BITS                                    = 64
	X_INTPTR_T_DEFINED                                     = 0
	X_IOB_ENTRIES                                          = 20
	X_IOEOF                                                = 0x0010
	X_IOERR                                                = 0x0020
	X_IOFBF                                                = 0x0000
	X_IOLBF                                                = 0x0040
	X_IOMYBUF                                              = 0x0008
	X_IONBF                                                = 0x0004
	X_IOREAD                                               = 0x0001
	X_IORW                                                 = 0x0080
	X_IOSTRG                                               = 0x0040
	X_IOWRT                                                = 0x0002
	X_IO_H_                                                = 0
	X_LEADBYTE                                             = 0x8000
	X_LIMITS_H___                                          = 0
	X_LOWER                                                = 0x2
	X_MALLOC_H_                                            = 0
	X_MAX_DIR                                              = 256
	X_MAX_DRIVE                                            = 3
	X_MAX_ENV                                              = 32767
	X_MAX_EXT                                              = 256
	X_MAX_FNAME                                            = 256
	X_MAX_PATH                                             = 260
	X_MAX_WAIT_MALLOC_CRT                                  = 60000
	X_MM_MALLOC_H_INCLUDED                                 = 0
	X_MSC_VER                                              = 1900
	X_MT                                                   = 0
	X_M_AMD64                                              = 100
	X_M_X64                                                = 100
	X_NFILE                                                = 512
	X_NLSCMPERROR                                          = 2147483647
	X_NLSCMP_DEFINED                                       = 0
	X_NSTREAM_                                             = 512
	X_OFF64_T_DEFINED                                      = 0
	X_OFF_T_                                               = 0
	X_OFF_T_DEFINED                                        = 0
	X_OLD_P_OVERLAY                                        = 2
	X_ONEXIT_T_DEFINED                                     = 0
	X_OUT_TO_DEFAULT                                       = 0
	X_OUT_TO_MSGBOX                                        = 2
	X_OUT_TO_STDERR                                        = 1
	X_PGLOBAL                                              = 0
	X_PTRDIFF_T_                                           = 0
	X_PTRDIFF_T_DEFINED                                    = 0
	X_PUNCT                                                = 0x10
	X_P_DETACH                                             = 4
	X_P_NOWAIT                                             = 1
	X_P_NOWAITO                                            = 3
	X_P_OVERLAY                                            = 2
	X_P_WAIT                                               = 0
	X_P_tmpdir                                             = "\\"
	X_QSORT_S_DEFINED                                      = 0
	X_REPORT_ERRMODE                                       = 3
	X_RSIZE_T_DEFINED                                      = 0
	X_SECURECRT_FILL_BUFFER_PATTERN                        = 0xFD
	X_SIZE_T_DEFINED                                       = 0
	X_SPACE                                                = 0x8
	X_SPAWNV_DEFINED                                       = 0
	X_SQLITE3RTREE_H_                                      = 0
	X_SSIZE_T_DEFINED                                      = 0
	X_STDARG_H                                             = 0
	X_STDIO_CONFIG_DEFINED                                 = 0
	X_STDIO_DEFINED                                        = 0
	X_STDIO_S_DEFINED                                      = 0
	X_STDSTREAM_DEFINED                                    = 0
	X_SYS_OPEN                                             = 20
	X_TAGLC_ID_DEFINED                                     = 0
	X_THREADLOCALEINFO                                     = 0
	X_TIME32_T_DEFINED                                     = 0
	X_TIME64_T_DEFINED                                     = 0
	X_TIME_T_DEFINED                                       = 0
	X_TWO_DIGIT_EXPONENT                                   = 0x1
	X_UI16_MAX                                             = 0xffff
	X_UI32_MAX                                             = 0xffffffff
	X_UI64_MAX                                             = 0xffffffffffffffff
	X_UI8_MAX                                              = 0xff
	X_UINTPTR_T_DEFINED                                    = 0
	X_UPPER                                                = 0x1
	X_USEDENTRY                                            = 1
	X_VA_LIST                                              = 0
	X_VA_LIST_                                             = 0
	X_VA_LIST_DEFINED                                      = 0
	X_VA_LIST_T_H                                          = 0
	X_W64                                                  = 0
	X_WAIT_CHILD                                           = 0
	X_WAIT_GRANDCHILD                                      = 1
	X_WCHAR_T_DEFINED                                      = 0
	X_WCTYPE_DEFINED                                       = 0
	X_WCTYPE_INLINE_DEFINED                                = 0
	X_WCTYPE_T_DEFINED                                     = 0
	X_WConst_return                                        = 0
	X_WFINDDATA_T_DEFINED                                  = 0
	X_WIN32                                                = 1
	X_WIN32_WINNT                                          = 0x502
	X_WIN64                                                = 1
	X_WINT_T                                               = 0
	X_WIO_DEFINED                                          = 0
	X_WRITE_ABORT_MSG                                      = 0x1
	X_WSPAWN_DEFINED                                       = 0
	X_WSTDIO_DEFINED                                       = 0
	X_WSTDIO_S_DEFINED                                     = 0
	X_WSTDLIBP_DEFINED                                     = 0
	X_WSTDLIB_DEFINED                                      = 0
	X_WSTRING_DEFINED                                      = 0
	X_WSTRING_S_DEFINED                                    = 0
)

type ptrdiff_t = int64

type size_t = uint64

type wchar_t = uint16

type va_list = uintptr

var zHelp = *(*[2525]int8)(unsafe.Pointer(ts))

type sqlite_int64 = int64
type sqlite_uint64 = uint64
type sqlite3_int64 = sqlite_int64
type sqlite3_uint64 = sqlite_uint64

type sqlite3_callback = uintptr

type sqlite3_file1 = struct{ pMethods uintptr }

type sqlite3_file = sqlite3_file1
type sqlite3_io_methods1 = struct {
	iVersion               int32
	_                      [4]byte
	xClose                 uintptr
	xRead                  uintptr
	xWrite                 uintptr
	xTruncate              uintptr
	xSync                  uintptr
	xFileSize              uintptr
	xLock                  uintptr
	xUnlock                uintptr
	xCheckReservedLock     uintptr
	xFileControl           uintptr
	xSectorSize            uintptr
	xDeviceCharacteristics uintptr
	xShmMap                uintptr
	xShmLock               uintptr
	xShmBarrier            uintptr
	xShmUnmap              uintptr
	xFetch                 uintptr
	xUnfetch               uintptr
}

type sqlite3_io_methods = sqlite3_io_methods1

type sqlite3_filename = uintptr

type sqlite3_vfs1 = struct {
	iVersion          int32
	szOsFile          int32
	mxPathname        int32
	_                 [4]byte
	pNext             uintptr
	zName             uintptr
	pAppData          uintptr
	xOpen             uintptr
	xDelete           uintptr
	xAccess           uintptr
	xFullPathname     uintptr
	xDlOpen           uintptr
	xDlError          uintptr
	xDlSym            uintptr
	xDlClose          uintptr
	xRandomness       uintptr
	xSleep            uintptr
	xCurrentTime      uintptr
	xGetLastError     uintptr
	xCurrentTimeInt64 uintptr
	xSetSystemCall    uintptr
	xGetSystemCall    uintptr
	xNextSystemCall   uintptr
}

type sqlite3_vfs = sqlite3_vfs1
type sqlite3_syscall_ptr = uintptr

type sqlite3_mem_methods1 = struct {
	xMalloc   uintptr
	xFree     uintptr
	xRealloc  uintptr
	xSize     uintptr
	xRoundup  uintptr
	xInit     uintptr
	xShutdown uintptr
	pAppData  uintptr
}

type sqlite3_mem_methods = sqlite3_mem_methods1

type sqlite3_destructor_type = uintptr

type sqlite3_vtab1 = struct {
	pModule uintptr
	nRef    int32
	_       [4]byte
	zErrMsg uintptr
}

type sqlite3_vtab = sqlite3_vtab1
type sqlite3_index_info1 = struct {
	nConstraint      int32
	_                [4]byte
	aConstraint      uintptr
	nOrderBy         int32
	_                [4]byte
	aOrderBy         uintptr
	aConstraintUsage uintptr
	idxNum           int32
	_                [4]byte
	idxStr           uintptr
	needToFreeIdxStr int32
	orderByConsumed  int32
	estimatedCost    float64
	estimatedRows    sqlite3_int64
	idxFlags         int32
	_                [4]byte
	colUsed          sqlite3_uint64
}

type sqlite3_index_info = sqlite3_index_info1
type sqlite3_vtab_cursor1 = struct{ pVtab uintptr }

type sqlite3_vtab_cursor = sqlite3_vtab_cursor1
type sqlite3_module1 = struct {
	iVersion      int32
	_             [4]byte
	xCreate       uintptr
	xConnect      uintptr
	xBestIndex    uintptr
	xDisconnect   uintptr
	xDestroy      uintptr
	xOpen         uintptr
	xClose        uintptr
	xFilter       uintptr
	xNext         uintptr
	xEof          uintptr
	xColumn       uintptr
	xRowid        uintptr
	xUpdate       uintptr
	xBegin        uintptr
	xSync         uintptr
	xCommit       uintptr
	xRollback     uintptr
	xFindFunction uintptr
	xRename       uintptr
	xSavepoint    uintptr
	xRelease      uintptr
	xRollbackTo   uintptr
	xShadowName   uintptr
}

type sqlite3_module = sqlite3_module1

type sqlite3_index_constraint = struct {
	iColumn     int32
	op          uint8
	usable      uint8
	_           [2]byte
	iTermOffset int32
}

type sqlite3_index_orderby = struct {
	iColumn int32
	desc    uint8
	_       [3]byte
}

type sqlite3_index_constraint_usage = struct {
	argvIndex int32
	omit      uint8
	_         [3]byte
}

type sqlite3_mutex_methods1 = struct {
	xMutexInit    uintptr
	xMutexEnd     uintptr
	xMutexAlloc   uintptr
	xMutexFree    uintptr
	xMutexEnter   uintptr
	xMutexTry     uintptr
	xMutexLeave   uintptr
	xMutexHeld    uintptr
	xMutexNotheld uintptr
}

type sqlite3_mutex_methods = sqlite3_mutex_methods1

type sqlite3_pcache_page1 = struct {
	pBuf   uintptr
	pExtra uintptr
}

type sqlite3_pcache_page = sqlite3_pcache_page1

type sqlite3_pcache_methods21 = struct {
	iVersion   int32
	_          [4]byte
	pArg       uintptr
	xInit      uintptr
	xShutdown  uintptr
	xCreate    uintptr
	xCachesize uintptr
	xPagecount uintptr
	xFetch     uintptr
	xUnpin     uintptr
	xRekey     uintptr
	xTruncate  uintptr
	xDestroy   uintptr
	xShrink    uintptr
}

type sqlite3_pcache_methods2 = sqlite3_pcache_methods21

type sqlite3_pcache_methods1 = struct {
	pArg       uintptr
	xInit      uintptr
	xShutdown  uintptr
	xCreate    uintptr
	xCachesize uintptr
	xPagecount uintptr
	xFetch     uintptr
	xUnpin     uintptr
	xRekey     uintptr
	xTruncate  uintptr
	xDestroy   uintptr
}

type sqlite3_pcache_methods = sqlite3_pcache_methods1

type sqlite3_snapshot1 = struct{ hidden [48]uint8 }

type sqlite3_snapshot = sqlite3_snapshot1

type sqlite3_rtree_geometry1 = struct {
	pContext uintptr
	nParam   int32
	_        [4]byte
	aParam   uintptr
	pUser    uintptr
	xDelUser uintptr
}

type sqlite3_rtree_geometry = sqlite3_rtree_geometry1
type sqlite3_rtree_query_info1 = struct {
	pContext      uintptr
	nParam        int32
	_             [4]byte
	aParam        uintptr
	pUser         uintptr
	xDelUser      uintptr
	aCoord        uintptr
	anQueue       uintptr
	nCoord        int32
	iLevel        int32
	mxLevel       int32
	_             [4]byte
	iRowid        sqlite3_int64
	rParentScore  sqlite3_rtree_dbl
	eParentWithin int32
	eWithin       int32
	rScore        sqlite3_rtree_dbl
	apSqlParam    uintptr
}

type sqlite3_rtree_query_info = sqlite3_rtree_query_info1

type sqlite3_rtree_dbl = float64

type Fts5ExtensionApi1 = struct {
	iVersion           int32
	_                  [4]byte
	xUserData          uintptr
	xColumnCount       uintptr
	xRowCount          uintptr
	xColumnTotalSize   uintptr
	xTokenize          uintptr
	xPhraseCount       uintptr
	xPhraseSize        uintptr
	xInstCount         uintptr
	xInst              uintptr
	xRowid             uintptr
	xColumnText        uintptr
	xColumnSize        uintptr
	xQueryPhrase       uintptr
	xSetAuxdata        uintptr
	xGetAuxdata        uintptr
	xPhraseFirst       uintptr
	xPhraseNext        uintptr
	xPhraseFirstColumn uintptr
	xPhraseNextColumn  uintptr
}

type Fts5ExtensionApi = Fts5ExtensionApi1
type Fts5PhraseIter1 = struct {
	a uintptr
	b uintptr
}

type Fts5PhraseIter = Fts5PhraseIter1

type fts5_extension_function = uintptr
type fts5_tokenizer1 = struct {
	xCreate   uintptr
	xDelete   uintptr
	xTokenize uintptr
}

type fts5_tokenizer = fts5_tokenizer1

type fts5_api1 = struct {
	iVersion         int32
	_                [4]byte
	xCreateTokenizer uintptr
	xFindTokenizer   uintptr
	xCreateFunction  uintptr
}

type fts5_api = fts5_api1

type ssize_t = int64

type rsize_t = size_t

type intptr_t = int64

type uintptr_t = uint64

type wint_t = uint16
type wctype_t = uint16

type errno_t = int32

type time_t = int64

type threadlocaleinfostruct = struct {
	refcount      int32
	lc_codepage   uint32
	lc_collate_cp uint32
	lc_handle     [6]uint32
	lc_id         [6]LC_ID
	lc_category   [6]struct {
		locale    uintptr
		wlocale   uintptr
		refcount  uintptr
		wrefcount uintptr
	}
	lc_clike            int32
	mb_cur_max          int32
	lconv_intl_refcount uintptr
	lconv_num_refcount  uintptr
	lconv_mon_refcount  uintptr
	lconv               uintptr
	ctype1_refcount     uintptr
	ctype1              uintptr
	pctype              uintptr
	pclmap              uintptr
	pcumap              uintptr
	lc_time_curr        uintptr
}

type pthreadlocinfo = uintptr
type pthreadmbcinfo = uintptr

type localeinfo_struct = struct {
	locinfo pthreadlocinfo
	mbcinfo pthreadmbcinfo
}

type _locale_tstruct = localeinfo_struct
type _locale_t = uintptr

type tagLC_ID = struct {
	wLanguage uint16
	wCountry  uint16
	wCodePage uint16
}

type LC_ID = tagLC_ID
type LPLC_ID = uintptr

type threadlocinfo = threadlocaleinfostruct

type _iobuf = struct {
	_ptr      uintptr
	_cnt      int32
	_         [4]byte
	_base     uintptr
	_flag     int32
	_file     int32
	_charbuf  int32
	_bufsiz   int32
	_tmpfname uintptr
}

type FILE = _iobuf

type _off_t = int32
type off32_t = int32

type _off64_t = int64
type off64_t = int64

type off_t = off64_t

type fpos_t = int64

func fprintf(tls *libc.TLS, __stream uintptr, __format uintptr, va uintptr) int32 {
	var __retval int32
	var __local_argv uintptr
	__local_argv = va
	__retval = libc.X__mingw_vfprintf(tls, __stream, __format, __local_argv)
	_ = __local_argv
	return __retval
}

func printf(tls *libc.TLS, __format uintptr, va uintptr) int32 {
	var __retval int32
	var __local_argv uintptr
	__local_argv = va
	__retval = libc.X__mingw_vfprintf(tls, libc.X__acrt_iob_func(tls, uint32(1)), __format, __local_argv)
	_ = __local_argv
	return __retval
}

func vfprintf(tls *libc.TLS, __stream uintptr, __format uintptr, __local_argv uintptr) int32 {
	return libc.X__mingw_vfprintf(tls, __stream, __format, __local_argv)
}

func vsnwprintf(tls *libc.TLS, __stream uintptr, __n size_t, __format uintptr, __local_argv uintptr) int32 {
	return libc.X__mingw_vsnwprintf(tls, __stream, __n, __format, __local_argv)
}

func vswprintf(tls *libc.TLS, __stream uintptr, __count size_t, __format uintptr, __local_argv uintptr) int32 {
	return vsnwprintf(tls, __stream, __count, __format, __local_argv)
}

type _onexit_t = uintptr

type _div_t = struct {
	quot int32
	rem  int32
}

type div_t = _div_t

type _ldiv_t = struct {
	quot int32
	rem  int32
}

type ldiv_t = _ldiv_t

type _LDOUBLE = struct{ ld [10]uint8 }

type _CRT_DOUBLE = struct{ x float64 }

type _CRT_FLOAT = struct{ f float32 }

type _LONGDOUBLE = struct{ x float64 }

type _LDBL12 = struct{ ld12 [12]uint8 }

type _purecall_handler = uintptr

type _invalid_parameter_handler = uintptr

type lldiv_t = struct {
	quot int64
	rem  int64
}

type _heapinfo = struct {
	_pentry  uintptr
	_size    size_t
	_useflag int32
	_        [4]byte
}

type _HEAPINFO = _heapinfo
type _fsize_t = uint32

type _finddata32_t = struct {
	attrib      uint32
	time_create int32
	time_access int32
	time_write  int32
	size        _fsize_t
	name        [260]int8
}

type _finddata32i64_t = struct {
	attrib      uint32
	time_create int32
	time_access int32
	time_write  int32
	size        int64
	name        [260]int8
	_           [4]byte
}

type _finddata64i32_t = struct {
	attrib      uint32
	_           [4]byte
	time_create int64
	time_access int64
	time_write  int64
	size        _fsize_t
	name        [260]int8
}

type __finddata64_t = struct {
	attrib      uint32
	_           [4]byte
	time_create int64
	time_access int64
	time_write  int64
	size        int64
	name        [260]int8
	_           [4]byte
}

type _wfinddata32_t = struct {
	attrib      uint32
	time_create int32
	time_access int32
	time_write  int32
	size        _fsize_t
	name        [260]wchar_t
}

type _wfinddata32i64_t = struct {
	attrib      uint32
	time_create int32
	time_access int32
	time_write  int32
	size        int64
	name        [260]wchar_t
}

type _wfinddata64i32_t = struct {
	attrib      uint32
	_           [4]byte
	time_create int64
	time_access int64
	time_write  int64
	size        _fsize_t
	name        [260]wchar_t
	_           [4]byte
}

type _wfinddata64_t = struct {
	attrib      uint32
	_           [4]byte
	time_create int64
	time_access int64
	time_write  int64
	size        int64
	name        [260]wchar_t
}

type u64 = sqlite3_uint64

type HashContext1 = struct {
	isInit uint8
	i      uint8
	j      uint8
	s      [256]uint8
	r      [32]uint8
}

type HashContext = HashContext1

type Global = struct {
	db                uintptr
	pStmt             uintptr
	iStart            sqlite3_int64
	iTotal            sqlite3_int64
	bWithoutRowid     int32
	bReprepare        int32
	bSqlOnly          int32
	bExplain          int32
	bVerify           int32
	bMemShrink        int32
	eTemp             int32
	szTest            int32
	nRepeat           int32
	doCheckpoint      int32
	nReserve          int32
	doBigTransactions int32
	zWR               uintptr
	zNN               uintptr
	zPK               uintptr
	x                 uint32
	y                 uint32
	nResByte          u64
	nResult           int32
	zResult           [3000]int8
	_                 [4]byte
	pScript           uintptr
	hashFile          uintptr
	hash              HashContext
	_                 [5]byte
}

var g Global

func isTemp(tls *libc.TLS, N int32) uintptr {
	if g.eTemp >= N {
		return ts + 2525
	}
	return ts + 2531
}

func fatal_error(tls *libc.TLS, zMsg uintptr, va uintptr) {
	var ap va_list
	_ = ap
	ap = va
	vfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), zMsg, ap)
	_ = ap
	libc.Xexit(tls, 1)
}

func HashInit(tls *libc.TLS) {
	var k uint32
	g.hash.i = uint8(0)
	g.hash.j = uint8(0)
	for k = uint32(0); k < uint32(256); k++ {
		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(k))) = uint8(k)
	}
}

func HashUpdate(tls *libc.TLS, aData uintptr, nData uint32) {
	var t uint8
	var i uint8 = g.hash.i
	var j uint8 = g.hash.j
	var k uint32
	if g.hashFile != 0 {
		libc.Xfwrite(tls, aData, uint64(1), uint64(nData), g.hashFile)
	}
	for k = uint32(0); k < nData; k++ {
		j = uint8(int32(j) + (int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(i)))) + int32(*(*uint8)(unsafe.Pointer(aData + uintptr(k))))))
		t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(j)))
		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(j))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(i)))
		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(i))) = t
		i++
	}
	g.hash.i = i
	g.hash.j = j
}

func HashFinal(tls *libc.TLS) {
	var k uint32
	var t uint8
	var i uint8
	var j uint8
	i = g.hash.i
	j = g.hash.j
	for k = uint32(0); k < uint32(32); k++ {
		i++
		t = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(i)))
		j = uint8(int32(j) + int32(t))
		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(i))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(j)))
		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(j))) = t
		t = uint8(int32(t) + int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(i)))))
		*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 259 + uintptr(k))) = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 3 + uintptr(t)))
	}
}

func hexDigitValue(tls *libc.TLS, c int8) int32 {
	if int32(c) >= '0' && int32(c) <= '9' {
		return int32(c) - '0'
	}
	if int32(c) >= 'a' && int32(c) <= 'f' {
		return int32(c) - 'a' + 10
	}
	if int32(c) >= 'A' && int32(c) <= 'F' {
		return int32(c) - 'A' + 10
	}
	return -1
}

func integerValue(tls *libc.TLS, zArg uintptr) int32 {
	var v sqlite3_int64 = int64(0)
	var i int32
	var isNeg int32 = 0
	if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' {
		isNeg = 1
		zArg++
	} else if int32(*(*int8)(unsafe.Pointer(zArg))) == '+' {
		zArg++
	}
	if int32(*(*int8)(unsafe.Pointer(zArg))) == '0' && int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 'x' {
		var x int32
		zArg += uintptr(2)
		for libc.AssignInt32(&x, hexDigitValue(tls, *(*int8)(unsafe.Pointer(zArg)))) >= 0 {
			v = v<<4 + sqlite3_int64(x)
			zArg++
		}
	} else {
		for libc.Xisdigit(tls, int32(*(*int8)(unsafe.Pointer(zArg)))) != 0 {
			v = v*int64(10) + sqlite3_int64(*(*int8)(unsafe.Pointer(zArg))) - int64('0')
			zArg++
		}
	}
	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aMult))/uint64(unsafe.Sizeof(struct {
		zSuffix uintptr
		iMult   int32
		_       [4]byte
	}{})); i++ {
		if sqlite3.Xsqlite3_stricmp(tls, aMult[i].zSuffix, zArg) == 0 {
			v = v * sqlite3_int64(aMult[i].iMult)
			break
		}
	}
	if v > int64(0x7fffffff) {
		fatal_error(tls, ts+2532, 0)
	}
	return func() int32 {
		if isNeg != 0 {
			return int32(-v)
		}
		return int32(v)
	}()
}

var aMult = [9]struct {
	zSuffix uintptr
	iMult   int32
	_       [4]byte
}{
	{zSuffix: ts + 2569, iMult: 1024},
	{zSuffix: ts + 2573, iMult: 1024 * 1024},
	{zSuffix: ts + 2577, iMult: 1024 * 1024 * 1024},
	{zSuffix: ts + 2581, iMult: 1000},
	{zSuffix: ts + 2584, iMult: 1000000},
	{zSuffix: ts + 2587, iMult: 1000000000},
	{zSuffix: ts + 2590, iMult: 1000},
	{zSuffix: ts + 2592, iMult: 1000000},
	{zSuffix: ts + 2594, iMult: 1000000000},
}

func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 {
	bp := tls.Alloc(16)
	defer tls.Free(16)

	if clockVfs == uintptr(0) {
		clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
	}
	if (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2 && (*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0) {
		(*struct {
			f func(*libc.TLS, uintptr, uintptr) int32
		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp)
	} else {
		(*struct {
			f func(*libc.TLS, uintptr, uintptr) int32
		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8)
		*(*sqlite3_int64)(unsafe.Pointer(bp)) = libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8)) * 86400000.0)
	}
	return *(*sqlite3_int64)(unsafe.Pointer(bp))
}

var clockVfs uintptr = uintptr(0)

func speedtest1_random(tls *libc.TLS) uint32 {
	g.x = g.x>>1 ^ (uint32(1)+^(g.x&uint32(1)))&0xd0000001
	g.y = g.y*uint32(1103515245) + uint32(12345)
	return g.x ^ g.y
}

func swizzle(tls *libc.TLS, in uint32, limit uint32) uint32 {
	var out uint32 = uint32(0)
	for limit != 0 {
		out = out<<1 | in&uint32(1)
		in >>= 1
		limit >>= 1
	}
	return out
}

func roundup_allones(tls *libc.TLS, limit uint32) uint32 {
	var m uint32 = uint32(1)
	for m < limit {
		m = m<<1 + uint32(1)
	}
	return m
}

func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) int32 {
	bp := tls.Alloc(24)
	defer tls.Free(24)

	var i int32 = 0

	if n >= uint32(1000000000) {
		i = i + speedtest1_numbername(tls, n/uint32(1000000000), zOut+uintptr(i), nOut-i)
		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2596, 0)
		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
		n = n % uint32(1000000000)
	}
	if n >= uint32(1000000) {
		if i != 0 && i < nOut-1 {
			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
		}
		i = i + speedtest1_numbername(tls, n/uint32(1000000), zOut+uintptr(i), nOut-i)
		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2605, 0)
		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
		n = n % uint32(1000000)
	}
	if n >= uint32(1000) {
		if i != 0 && i < nOut-1 {
			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
		}
		i = i + speedtest1_numbername(tls, n/uint32(1000), zOut+uintptr(i), nOut-i)
		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2614, 0)
		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
		n = n % uint32(1000)
	}
	if n >= uint32(100) {
		if i != 0 && i < nOut-1 {
			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
		}
		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2624, libc.VaList(bp, ones[n/uint32(100)]))
		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
		n = n % uint32(100)
	}
	if n >= uint32(20) {
		if i != 0 && i < nOut-1 {
			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
		}
		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2635, libc.VaList(bp+8, tens[n/uint32(10)]))
		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
		n = n % uint32(10)
	}
	if n > uint32(0) {
		if i != 0 && i < nOut-1 {
			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ')
		}
		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2635, libc.VaList(bp+16, ones[n]))
		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
	}
	if i == 0 {
		sqlite3.Xsqlite3_snprintf(tls, nOut-i, zOut+uintptr(i), ts+2638, 0)
		i = i + int32(libc.Xstrlen(tls, zOut+uintptr(i)))
	}
	return i
}

var ones = [20]uintptr{ts + 2638, ts + 2643, ts + 2647, ts + 2651, ts + 2657, ts + 2662,
	ts + 2667, ts + 2671, ts + 2677, ts + 2683, ts + 2688, ts + 2692, ts + 2699,
	ts + 2706, ts + 2715, ts + 2724, ts + 2732, ts + 2740,
	ts + 2750, ts + 2759}
var tens = [10]uintptr{ts + 2531, ts + 2688, ts + 2768, ts + 2775, ts + 2782,
	ts + 2788, ts + 2794, ts + 2800, ts + 2808, ts + 2815}

var zDots = *(*[72]int8)(unsafe.Pointer(ts + 2822))
var iTestNumber int32 = 0

func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) {
	bp := tls.Alloc(88)
	defer tls.Free(88)

	var n int32 = int32(libc.Xstrlen(tls, zTestName))
	var zName uintptr
	var ap va_list
	_ = ap
	iTestNumber = iTestNum
	ap = va
	zName = sqlite3.Xsqlite3_vmprintf(tls, zTestName, ap)
	_ = ap
	n = int32(libc.Xstrlen(tls, zName))
	if n > NAMEWIDTH {
		*(*int8)(unsafe.Pointer(zName + 60)) = int8(0)
		n = NAMEWIDTH
	}
	if g.pScript != 0 {
		fprintf(tls, g.pScript, ts+2894, libc.VaList(bp, iTestNumber, n, zName))
	}
	if g.bSqlOnly != 0 {
		printf(tls, ts+2917, libc.VaList(bp+24, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots))))
	} else {
		printf(tls, ts+2937, libc.VaList(bp+56, iTestNum, zName, NAMEWIDTH-n, uintptr(unsafe.Pointer(&zDots))))
		libc.Xfflush(tls, libc.X__acrt_iob_func(tls, uint32(1)))
	}
	sqlite3.Xsqlite3_free(tls, zName)
	g.nResult = 0
	g.iStart = speedtest1_timestamp(tls)
	g.x = 0xad131d0b
	g.y = uint32(0x44f9eac8)
}

func speedtest1_end_test(tls *libc.TLS) {
	bp := tls.Alloc(24)
	defer tls.Free(24)

	var iElapseTime sqlite3_int64 = speedtest1_timestamp(tls) - g.iStart
	if g.doCheckpoint != 0 {
		speedtest1_exec(tls, ts+2951, 0)
	}

	if g.pScript != 0 {
		fprintf(tls, g.pScript, ts+2974, libc.VaList(bp, iTestNumber))
	}
	if !(g.bSqlOnly != 0) {
		*(*sqlite3_int64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 24)) += iElapseTime
		printf(tls, ts+2990, libc.VaList(bp+8, int32(iElapseTime/int64(1000)), int32(iElapseTime%int64(1000))))
	}
	if g.pStmt != 0 {
		sqlite3.Xsqlite3_finalize(tls, g.pStmt)
		g.pStmt = uintptr(0)
	}
	iTestNumber = 0
}

func speedtest1_final(tls *libc.TLS) {
	bp := tls.Alloc(48)
	defer tls.Free(48)

	if !(g.bSqlOnly != 0) {
		printf(tls, ts+3001, libc.VaList(bp, NAMEWIDTH-5, uintptr(unsafe.Pointer(&zDots)),
			int32(g.iTotal/int64(1000)), int32(g.iTotal%int64(1000))))
	}
	if g.bVerify != 0 {
		var i int32
		printf(tls, ts+3029, libc.VaList(bp+32, g.nResByte))
		HashUpdate(tls, ts+3054, uint32(1))
		HashFinal(tls)
		for i = 0; i < 24; i++ {
			printf(tls, ts+3056, libc.VaList(bp+40, int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 3144 + 259 + uintptr(i))))))
		}
		if g.hashFile != 0 && g.hashFile != libc.X__acrt_iob_func(tls, uint32(1)) {
			libc.Xfclose(tls, g.hashFile)
		}
		printf(tls, ts+3054, 0)
	}
}

func printSql(tls *libc.TLS, zSql uintptr) {
	bp := tls.Alloc(32)
	defer tls.Free(32)

	var n int32 = int32(libc.Xstrlen(tls, zSql))
	for n > 0 && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))))) != 0) {
		n--
	}
	if g.bExplain != 0 {
		printf(tls, ts+3061, 0)
	}
	printf(tls, ts+3070, libc.VaList(bp, n, zSql))
	if g.bExplain != 0 &&
		(sqlite3.Xsqlite3_strglob(tls, ts+3077, zSql) == 0 ||
			sqlite3.Xsqlite3_strglob(tls, ts+3086, zSql) == 0 ||
			sqlite3.Xsqlite3_strglob(tls, ts+3093, zSql) == 0) {
		printf(tls, ts+3070, libc.VaList(bp+16, n, zSql))
	}
}

func speedtest1_shrink_memory(tls *libc.TLS) {
	if g.bMemShrink != 0 {
		sqlite3.Xsqlite3_db_release_memory(tls, g.db)
	}
}

func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) {
	bp := tls.Alloc(40)
	defer tls.Free(40)

	var ap va_list
	_ = ap
	var zSql uintptr
	ap = va
	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
	_ = ap
	if g.bSqlOnly != 0 {
		printSql(tls, zSql)
	} else {
		*(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0)
		var rc int32
		if g.pScript != 0 {
			fprintf(tls, g.pScript, ts+3101, libc.VaList(bp, zSql))
		}
		rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+32)
		if *(*uintptr)(unsafe.Pointer(bp + 32)) != 0 {
			fatal_error(tls, ts+3106, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 32)), zSql))
		}
		if rc != SQLITE_OK {
			fatal_error(tls, ts+3124, libc.VaList(bp+24, sqlite3.Xsqlite3_errmsg(tls, g.db)))
		}
	}
	sqlite3.Xsqlite3_free(tls, zSql)
	speedtest1_shrink_memory(tls)
}

func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr {
	bp := tls.Alloc(32)
	defer tls.Free(32)

	var ap va_list
	_ = ap
	var zSql uintptr

	var zResult uintptr = uintptr(0)
	ap = va
	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
	_ = ap
	if g.bSqlOnly != 0 {
		printSql(tls, zSql)
	} else {
		var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+24, uintptr(0))
		if rc != 0 {
			fatal_error(tls, ts+3140, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
		}
		if g.pScript != 0 {
			var z uintptr = sqlite3.Xsqlite3_expanded_sql(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
			fprintf(tls, g.pScript, ts+3155, libc.VaList(bp+8, z))
			sqlite3.Xsqlite3_free(tls, z)
		}
		if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) == SQLITE_ROW {
			var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)
			if z != 0 {
				zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2635, libc.VaList(bp+16, z))
			}
		}
		sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
	}
	sqlite3.Xsqlite3_free(tls, zSql)
	speedtest1_shrink_memory(tls)
	return zResult
}

func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) {
	bp := tls.Alloc(8)
	defer tls.Free(8)

	var ap va_list
	_ = ap
	var zSql uintptr
	ap = va
	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
	_ = ap
	if g.bSqlOnly != 0 {
		printSql(tls, zSql)
	} else {
		var rc int32
		if g.pStmt != 0 {
			sqlite3.Xsqlite3_finalize(tls, g.pStmt)
		}
		rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, uintptr(unsafe.Pointer(&g))+8, uintptr(0))
		if rc != 0 {
			fatal_error(tls, ts+3140, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
		}
	}
	sqlite3.Xsqlite3_free(tls, zSql)
}

func speedtest1_run(tls *libc.TLS) {
	bp := tls.Alloc(24)
	defer tls.Free(24)

	var i int32
	var n int32
	var len int32
	if g.bSqlOnly != 0 {
		return
	}

	g.nResult = 0
	if g.pScript != 0 {
		var z uintptr = sqlite3.Xsqlite3_expanded_sql(tls, g.pStmt)
		fprintf(tls, g.pScript, ts+3155, libc.VaList(bp, z))
		sqlite3.Xsqlite3_free(tls, z)
	}
	for sqlite3.Xsqlite3_step(tls, g.pStmt) == SQLITE_ROW {
		n = sqlite3.Xsqlite3_column_count(tls, g.pStmt)
		for i = 0; i < n; i++ {
			var z uintptr = sqlite3.Xsqlite3_column_text(tls, g.pStmt, i)
			if z == uintptr(0) {
				z = ts + 3159
			}
			len = int32(libc.Xstrlen(tls, z))
			if g.bVerify != 0 {
				var eType int32 = sqlite3.Xsqlite3_column_type(tls, g.pStmt, i)

				*(*uint8)(unsafe.Pointer(bp + 8)) = uint8('\n')
				*(*uint8)(unsafe.Pointer(bp + 8 + 1)) = uint8(*(*int8)(unsafe.Pointer(ts + 3163 + uintptr(eType))))
				if g.nResByte != 0 {
					HashUpdate(tls, bp+8, uint32(2))
				} else {
					HashUpdate(tls, bp+8+uintptr(1), uint32(1))
				}
				if eType == SQLITE_FLOAT {
					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += uint64(2)
				} else if eType == SQLITE_BLOB {
					var nBlob int32 = sqlite3.Xsqlite3_column_bytes(tls, g.pStmt, i)
					var iBlob int32

					var aBlob uintptr = sqlite3.Xsqlite3_column_blob(tls, g.pStmt, i)
					for iBlob = 0; iBlob < nBlob; iBlob++ {
						*(*uint8)(unsafe.Pointer(bp + 10)) = uint8(*(*int8)(unsafe.Pointer(ts + 3170 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))>>4))))
						*(*uint8)(unsafe.Pointer(bp + 10 + 1)) = uint8(*(*int8)(unsafe.Pointer(ts + 3170 + uintptr(int32(*(*uint8)(unsafe.Pointer(aBlob + uintptr(iBlob))))&15))))
						HashUpdate(tls, bp+10, uint32(2))
					}
					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(nBlob*2 + 2)
				} else {
					HashUpdate(tls, z, uint32(len))
					*(*u64)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += u64(len + 2)
				}
			}
			if uint64(g.nResult+len) < uint64(unsafe.Sizeof([3000]int8{}))-uint64(2) {
				if g.nResult > 0 {
					*(*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 124 + uintptr(libc.PostIncInt32(&g.nResult, 1)))) = int8(' ')
				}
				libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+124+uintptr(g.nResult), z, uint64(len+1))
				*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 120)) += len
			}
		}
	}
	if g.bReprepare != 0 {
		sqlite3.Xsqlite3_prepare_v2(tls, g.db, sqlite3.Xsqlite3_sql(tls, g.pStmt), -1, bp+16, uintptr(0))
		sqlite3.Xsqlite3_finalize(tls, g.pStmt)
		g.pStmt = *(*uintptr)(unsafe.Pointer(bp + 16))
	} else {
		sqlite3.Xsqlite3_reset(tls, g.pStmt)
	}
	speedtest1_shrink_memory(tls)
}

func traceCallback(tls *libc.TLS, NotUsed uintptr, zSql uintptr) {
	bp := tls.Alloc(16)
	defer tls.Free(16)

	var n int32 = int32(libc.Xstrlen(tls, zSql))
	for n > 0 && (int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';' || libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))))) != 0) {
		n--
	}
	fprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+3070, libc.VaList(bp, n, zSql))
}

func randomFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) {
	sqlite3.Xsqlite3_result_int64(tls, context, sqlite3_int64(speedtest1_random(tls)))
}

func est_square_root(tls *libc.TLS, x int32) int32 {
	var y0 int32 = x / 2
	var y1 int32
	var n int32
	for n = 0; y0 > 0 && n < 10; n++ {
		y1 = (y0 + x/y0) / 2
		if y1 == y0 {
			break
		}
		y0 = y1
	}
	return y0
}

func testset_main(tls *libc.TLS) {
	bp := tls.Alloc(2568)
	defer tls.Free(2568)

	var i int32
	var n int32
	var sz int32
	var maxb int32
	var x1 uint32 = uint32(0)
	var x2 uint32 = uint32(0)
	var len int32 = 0

	sz = libc.AssignInt32(&n, g.szTest*500)
	*(*int8)(unsafe.Pointer(bp + 568)) = int8(0)
	maxb = int32(roundup_allones(tls, uint32(sz)))
	speedtest1_begin_test(tls, 100, ts+3187, libc.VaList(bp, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_exec(tls, ts+3229,
		libc.VaList(bp+8, isTemp(tls, 9), g.zNN, g.zNN, g.zNN))
	speedtest1_prepare(tls, ts+3287, libc.VaList(bp+40, n))
	for i = 1; i <= n; i++ {
		x1 = swizzle(tls, uint32(i), uint32(maxb))
		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = sz
	speedtest1_begin_test(tls, 110, ts+3340, libc.VaList(bp+48, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_exec(tls,
		ts+3377,
		libc.VaList(bp+56, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
	speedtest1_prepare(tls, ts+3440, libc.VaList(bp+104, n))
	for i = 1; i <= n; i++ {
		x1 = swizzle(tls, uint32(i), uint32(maxb))
		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, i)
		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 2, sqlite3_int64(x1))
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = sz
	speedtest1_begin_test(tls, 120, ts+3485, libc.VaList(bp+112, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_exec(tls,
		ts+3524,
		libc.VaList(bp+120, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
	speedtest1_prepare(tls, ts+3587, libc.VaList(bp+168, n))
	for i = 1; i <= n; i++ {
		x1 = swizzle(tls, uint32(i), uint32(maxb))
		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
		sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1))
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = 25
	speedtest1_begin_test(tls, 130, ts+3632, libc.VaList(bp+176, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+3671, libc.VaList(bp+184, n))
	for i = 1; i <= n; i++ {
		if (i-1)%g.nRepeat == 0 {
			x1 = speedtest1_random(tls) % uint32(maxb)
			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
		}
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = 10
	speedtest1_begin_test(tls, 140, ts+3776, libc.VaList(bp+192, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+3804, libc.VaList(bp+200, n))
	for i = 1; i <= n; i++ {
		if (i-1)%g.nRepeat == 0 {
			x1 = speedtest1_random(tls) % uint32(maxb)
			*(*int8)(unsafe.Pointer(bp + 568)) = int8('%')
			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(2)))
			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%')
			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0)
		}
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = 10
	speedtest1_begin_test(tls, 142, ts+3899, libc.VaList(bp+208, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+3932, libc.VaList(bp+216, n))
	for i = 1; i <= n; i++ {
		if (i-1)%g.nRepeat == 0 {
			x1 = speedtest1_random(tls) % uint32(maxb)
			*(*int8)(unsafe.Pointer(bp + 568)) = int8('%')
			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(2)))
			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%')
			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0)
		}
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = 10
	speedtest1_begin_test(tls, 145, ts+3996, libc.VaList(bp+224, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+4039, libc.VaList(bp+232, n))
	for i = 1; i <= n; i++ {
		if (i-1)%g.nRepeat == 0 {
			x1 = speedtest1_random(tls) % uint32(maxb)
			*(*int8)(unsafe.Pointer(bp + 568)) = int8('%')
			len = speedtest1_numbername(tls, uint32(i), bp+568+uintptr(1), int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(2)))
			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len))) = int8('%')
			*(*int8)(unsafe.Pointer(bp + 568 + uintptr(len+1))) = int8(0)
		}
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len+1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 150, ts+4112, 0)
	speedtest1_exec(tls, ts+4136, 0)
	speedtest1_exec(tls, ts+4143, 0)
	speedtest1_exec(tls, ts+4177, 0)
	speedtest1_exec(tls, ts+4204, 0)
	speedtest1_exec(tls, ts+4238, 0)
	speedtest1_exec(tls, ts+4270, 0)
	speedtest1_exec(tls, ts+4300, 0)
	speedtest1_end_test(tls)

	n = sz / 5
	speedtest1_begin_test(tls, 160, ts+4308, libc.VaList(bp+240, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+4345, libc.VaList(bp+248, n))
	for i = 1; i <= n; i++ {
		if (i-1)%g.nRepeat == 0 {
			x1 = speedtest1_random(tls) % uint32(maxb)
			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
		}
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = sz / 5
	speedtest1_begin_test(tls, 161, ts+4450, libc.VaList(bp+256, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+4482, libc.VaList(bp+264, n))
	for i = 1; i <= n; i++ {
		if (i-1)%g.nRepeat == 0 {
			x1 = speedtest1_random(tls) % uint32(maxb)
			x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
		}
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = sz / 5
	speedtest1_begin_test(tls, 170, ts+4587, libc.VaList(bp+272, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+4621, libc.VaList(bp+280, n))
	for i = 1; i <= n; i++ {
		if (i-1)%g.nRepeat == 0 {
			x1 = swizzle(tls, uint32(i), uint32(maxb))
			len = speedtest1_numbername(tls, x1, bp+568, int32(uint64(unsafe.Sizeof([2000]int8{}))-uint64(1)))
		}
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, len, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = sz
	speedtest1_begin_test(tls, 180, ts+4733, libc.VaList(bp+288, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_exec(tls,
		ts+4763,
		libc.VaList(bp+296, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR))
	speedtest1_exec(tls, ts+4834, 0)
	speedtest1_exec(tls, ts+4860, 0)
	speedtest1_exec(tls, ts+4886, 0)
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = sz
	speedtest1_begin_test(tls, 190, ts+4918, libc.VaList(bp+344, n))
	speedtest1_exec(tls, ts+4946, 0)
	speedtest1_exec(tls, ts+4962, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 200, ts+4995, 0)
	speedtest1_exec(tls, ts+4995, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 210, ts+5002, 0)
	speedtest1_exec(tls, ts+5036, 0)
	speedtest1_exec(tls, ts+5080, 0)
	speedtest1_end_test(tls)

	n = sz / 5
	speedtest1_begin_test(tls, 230, ts+5102, libc.VaList(bp+352, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+5139, libc.VaList(bp+360, n))
	for i = 1; i <= n; i++ {
		x1 = speedtest1_random(tls) % uint32(maxb)
		x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = sz
	speedtest1_begin_test(tls, 240, ts+5198, libc.VaList(bp+368, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+5228, libc.VaList(bp+376, n))
	for i = 1; i <= n; i++ {
		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 250, ts+5272, libc.VaList(bp+384, sz))
	speedtest1_exec(tls, ts+5313, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 260, ts+5333, 0)
	speedtest1_exec(tls, ts+5080, 0)
	speedtest1_end_test(tls)

	n = sz / 5
	speedtest1_begin_test(tls, 270, ts+5366, libc.VaList(bp+392, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+5403, libc.VaList(bp+400, n))
	for i = 1; i <= n; i++ {
		x1 = speedtest1_random(tls)%uint32(maxb) + uint32(1)
		x2 = speedtest1_random(tls)%uint32(10) + uint32(sz/5000) + x1
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = sz
	speedtest1_begin_test(tls, 280, ts+5457, libc.VaList(bp+408, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+5487, libc.VaList(bp+416, n))
	for i = 1; i <= n; i++ {
		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 290, ts+5526, libc.VaList(bp+424, sz))
	speedtest1_exec(tls, ts+5565, 0)
	speedtest1_exec(tls, ts+5609, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 300, ts+5653, libc.VaList(bp+432, sz))
	speedtest1_exec(tls, ts+4946, 0)
	speedtest1_exec(tls,
		ts+5694, 0)
	speedtest1_exec(tls,
		ts+5759, 0)
	speedtest1_end_test(tls)

	n = sz / 5
	speedtest1_begin_test(tls, 310, ts+5824, libc.VaList(bp+440, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls,
		ts+5843, 0)
	for i = 1; i <= n; i++ {
		x1 = speedtest1_random(tls)%uint32(sz) + uint32(1)
		x2 = speedtest1_random(tls)%uint32(10) + x1 + uint32(4)
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(x2))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 320, ts+5957, libc.VaList(bp+448, n))
	speedtest1_prepare(tls,
		ts+5980, 0)
	sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, est_square_root(tls, g.szTest)*50)
	speedtest1_run(tls)
	speedtest1_end_test(tls)

	sz = libc.AssignInt32(&n, g.szTest*700)
	*(*int8)(unsafe.Pointer(bp + 568)) = int8(0)
	maxb = int32(roundup_allones(tls, uint32(sz/3)))
	speedtest1_begin_test(tls, 400, ts+6098, libc.VaList(bp+456, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_exec(tls, ts+6123,
		libc.VaList(bp+464, isTemp(tls, 9), g.zNN))
	speedtest1_prepare(tls, ts+6171, libc.VaList(bp+480, n))
	for i = 1; i <= n; i++ {
		x1 = swizzle(tls, uint32(i), uint32(maxb))
		speedtest1_numbername(tls, uint32(i), bp+568, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1)))
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+568, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)
	speedtest1_begin_test(tls, 410, ts+6215, libc.VaList(bp+488, n))
	if g.doBigTransactions != 0 {
		speedtest1_exec(tls, ts+3223, 0)
	}
	speedtest1_prepare(tls, ts+6236, libc.VaList(bp+496, n))
	for i = 1; i <= n; i++ {
		x1 = swizzle(tls, uint32(i), uint32(maxb))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1)))
		speedtest1_run(tls)
	}
	if g.doBigTransactions != 0 {
		speedtest1_exec(tls, ts+3333, 0)
	}
	speedtest1_end_test(tls)

	sz = libc.AssignInt32(&n, g.szTest*700)
	*(*int8)(unsafe.Pointer(bp + 568)) = int8(0)
	maxb = int32(roundup_allones(tls, uint32(sz/3)))
	speedtest1_begin_test(tls, 500, ts+6278, libc.VaList(bp+504, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_exec(tls, ts+6300,
		libc.VaList(bp+512, isTemp(tls, 9), g.zNN,
			func() uintptr {
				if sqlite3.Xsqlite3_libversion_number(tls) >= 3008002 {
					return ts + 6347
				}
				return ts + 2531
			}()))
	speedtest1_prepare(tls, ts+6361, libc.VaList(bp+536, n))
	for i = 1; i <= n; i++ {
		x1 = swizzle(tls, uint32(i), uint32(maxb))
		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i)
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)
	speedtest1_begin_test(tls, 510, ts+6405, libc.VaList(bp+544, n))
	if g.doBigTransactions != 0 {
		speedtest1_exec(tls, ts+3223, 0)
	}
	speedtest1_prepare(tls, ts+6429, libc.VaList(bp+552, n))
	for i = 1; i <= n; i++ {
		x1 = swizzle(tls, uint32(i), uint32(maxb))
		speedtest1_numbername(tls, x1, bp+568, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568, -1, uintptr(0))
		speedtest1_run(tls)
	}
	if g.doBigTransactions != 0 {
		speedtest1_exec(tls, ts+3333, 0)
	}
	speedtest1_end_test(tls)
	speedtest1_begin_test(tls, 520, ts+6471, libc.VaList(bp+560, n))
	speedtest1_exec(tls, ts+6490, 0)
	speedtest1_exec(tls, ts+6517, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 980, ts+6544, 0)
	speedtest1_exec(tls, ts+6544, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 990, ts+6567, 0)
	speedtest1_exec(tls, ts+6567, 0)
	speedtest1_end_test(tls)
}

func testset_cte(tls *libc.TLS) {
	bp := tls.Alloc(32)
	defer tls.Free(32)

	var zPuz uintptr
	var rSpacing float64
	var nElem int32

	if g.szTest < 25 {
		zPuz = azPuzzle[0]
	} else if g.szTest < 70 {
		zPuz = azPuzzle[1]
	} else {
		zPuz = azPuzzle[2]
	}
	speedtest1_begin_test(tls, 100, ts+6575, 0)
	speedtest1_prepare(tls,
		ts+6606, 0)
	sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0))
	speedtest1_run(tls)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 200, ts+7410, 0)
	speedtest1_prepare(tls,
		ts+7438, 0)
	sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, zPuz, -1, uintptr(0))
	speedtest1_run(tls)
	speedtest1_end_test(tls)

	rSpacing = 5.0 / float64(g.szTest)
	speedtest1_begin_test(tls, 300, ts+8250, libc.VaList(bp, rSpacing))
	speedtest1_prepare(tls,
		ts+8281, 0)
	sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 1, rSpacing*.05)
	sqlite3.Xsqlite3_bind_double(tls, g.pStmt, 2, rSpacing)
	speedtest1_run(tls)
	speedtest1_end_test(tls)

	nElem = 10000 * g.szTest
	speedtest1_begin_test(tls, 400, ts+8877, libc.VaList(bp+8, nElem))
	speedtest1_prepare(tls,
		ts+8914,
		libc.VaList(bp+16, nElem, nElem))
	speedtest1_run(tls)
	speedtest1_end_test(tls)
}

var azPuzzle = [3]uintptr{
	ts + 9145,
	ts + 9227,
	ts + 9309,
}

func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) {
	bp := tls.Alloc(24)
	defer tls.Free(24)

	var x int32 = int32(speedtest1_random(tls))
	var y int32 = int32(speedtest1_random(tls))
	var z int32
	z = y % 10
	if z < 0 {
		z = -z
	}
	y = y / 10
	sqlite3.Xsqlite3_snprintf(tls, 100, zFP, ts+9391, libc.VaList(bp, y, z, x%200))
}

func testset_fp(tls *libc.TLS) {
	bp := tls.Alloc(272)
	defer tls.Free(272)

	var n int32
	var i int32

	n = g.szTest * 5000
	speedtest1_begin_test(tls, 100, ts+9400, libc.VaList(bp, n*2))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_exec(tls, ts+9431,
		libc.VaList(bp+8, isTemp(tls, 1), g.zNN, g.zNN))
	speedtest1_prepare(tls, ts+9472, libc.VaList(bp+32, n))
	for i = 1; i <= n; i++ {
		speedtest1_random_ascii_fp(tls, bp+72)
		speedtest1_random_ascii_fp(tls, bp+172)
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	n = g.szTest/25 + 2
	speedtest1_begin_test(tls, 110, ts+9514, libc.VaList(bp+40, n))
	speedtest1_prepare(tls, ts+9531, 0)
	for i = 1; i <= n; i++ {
		speedtest1_random_ascii_fp(tls, bp+72)
		speedtest1_random_ascii_fp(tls, bp+172)
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 120, ts+9579, 0)
	speedtest1_exec(tls, ts+4136, 0)
	speedtest1_exec(tls, ts+9604, 0)
	speedtest1_exec(tls, ts+9631, 0)
	speedtest1_exec(tls, ts+9658, 0)
	speedtest1_exec(tls, ts+4300, 0)
	speedtest1_end_test(tls)

	n = g.szTest/3 + 2
	speedtest1_begin_test(tls, 130, ts+9688, libc.VaList(bp+48, n))
	speedtest1_prepare(tls, ts+9531, 0)
	for i = 1; i <= n; i++ {
		speedtest1_random_ascii_fp(tls, bp+72)
		speedtest1_random_ascii_fp(tls, bp+172)
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72, -1, uintptr(0))
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)

	n = g.szTest * 5000
	speedtest1_begin_test(tls, 140, ts+9713, libc.VaList(bp+56, n))
	speedtest1_exec(tls, ts+9733, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 150, ts+9776, libc.VaList(bp+64, n*4))
	speedtest1_exec(tls,
		ts+9794, 0)
	speedtest1_end_test(tls)
}

func twoCoords(tls *libc.TLS, p1 int32, p2 int32, mx uint32, pX0 uintptr, pX1 uintptr) {
	var d uint32
	var x0 uint32
	var x1 uint32
	var span uint32

	span = mx/uint32(100) + uint32(1)
	if speedtest1_random(tls)%uint32(3) == uint32(0) {
		span = span * uint32(p1)
	}
	if speedtest1_random(tls)%uint32(p2) == uint32(0) {
		span = mx / uint32(2)
	}
	d = speedtest1_random(tls)%span + uint32(1)
	x0 = speedtest1_random(tls)%(mx-d) + uint32(1)
	x1 = x0 + d
	*(*uint32)(unsafe.Pointer(pX0)) = x0
	*(*uint32)(unsafe.Pointer(pX1)) = x1
}

func xsliceGeometryCallback(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 {
	*(*int32)(unsafe.Pointer(pRes)) = libc.Bool32(*(*float64)(unsafe.Pointer(aCoord + 3*8)) >= *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).aParam)) && *(*float64)(unsafe.Pointer(aCoord + 2*8)) <= *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).aParam + 1*8)))
	return SQLITE_OK
}

func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) {
	bp := tls.Alloc(224)
	defer tls.Free(224)

	var i uint32
	var n uint32
	var mxCoord uint32

	var iStep uint32
	var mxRowid uint32
	var aCheck uintptr = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(int32(0)))*uint64(g.szTest)*uint64(500)))

	mxCoord = uint32(15000)
	mxRowid = libc.AssignUint32(&n, uint32(g.szTest*500))
	speedtest1_begin_test(tls, 100, ts+9889, libc.VaList(bp, n))
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_exec(tls, ts+9915, 0)
	speedtest1_prepare(tls,
		ts+9974, 0)
	for i = uint32(1); i <= n; i++ {
		twoCoords(tls, p1, p2, mxCoord, bp+200, bp+204)
		twoCoords(tls, p1, p2, mxCoord, bp+208, bp+212)
		twoCoords(tls, p1, p2, mxCoord, bp+216, bp+220)
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 200))))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 204))))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 208))))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 212))))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 216))))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 220))))
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 101, ts+10040, 0)
	speedtest1_exec(tls, ts+10075, 0)
	speedtest1_exec(tls, ts+10133, 0)
	speedtest1_end_test(tls)

	n = uint32(g.szTest * 200)
	speedtest1_begin_test(tls, 110, ts+10166, libc.VaList(bp+8, n))
	speedtest1_prepare(tls, ts+10209, 0)
	iStep = mxCoord / n
	for i = uint32(0); i < n; i++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
		speedtest1_run(tls)
		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
	}
	speedtest1_end_test(tls)

	if g.bVerify != 0 {
		n = uint32(g.szTest * 200)
		speedtest1_begin_test(tls, 111, ts+10258, 0)
		speedtest1_prepare(tls, ts+10305, 0)
		iStep = mxCoord / n
		for i = uint32(0); i < n; i++ {
			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
			speedtest1_run(tls)
			if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
				fatal_error(tls, ts+10353,
					libc.VaList(bp+16, i, i*iStep, (i+uint32(1))*iStep, *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)))
			}
		}
		speedtest1_end_test(tls)
	}

	n = uint32(g.szTest * 200)
	speedtest1_begin_test(tls, 120, ts+10395, libc.VaList(bp+56, n))
	speedtest1_prepare(tls, ts+10436, 0)
	iStep = mxCoord / n
	for i = uint32(0); i < n; i++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
		speedtest1_run(tls)
		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
	}
	speedtest1_end_test(tls)

	if g.bVerify != 0 {
		n = uint32(g.szTest * 200)
		speedtest1_begin_test(tls, 121, ts+10485, 0)
		speedtest1_prepare(tls, ts+10530, 0)
		iStep = mxCoord / n
		for i = uint32(0); i < n; i++ {
			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
			speedtest1_run(tls)
			if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
				fatal_error(tls, ts+10353,
					libc.VaList(bp+64, i, i*iStep, (i+uint32(1))*iStep, *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)))
			}
		}
		speedtest1_end_test(tls)
	}

	n = uint32(g.szTest * 200)
	speedtest1_begin_test(tls, 125, ts+10578, libc.VaList(bp+104, n))
	sqlite3.Xsqlite3_rtree_geometry_callback(tls, g.db, ts+10614, *(*uintptr)(unsafe.Pointer(&struct {
		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
	}{xsliceGeometryCallback})), uintptr(0))
	speedtest1_prepare(tls, ts+10621, 0)
	iStep = mxCoord / n
	for i = uint32(0); i < n; i++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
		speedtest1_run(tls)
		if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124) {
			fatal_error(tls, ts+10353,
				libc.VaList(bp+112, i, i*iStep, (i+uint32(1))*iStep, *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)))
		}
	}
	speedtest1_end_test(tls)

	n = uint32(g.szTest * 400)
	speedtest1_begin_test(tls, 130, ts+10675, libc.VaList(bp+152, n))
	speedtest1_prepare(tls,
		ts+10718, 0)
	iStep = mxCoord / n
	for i = uint32(0); i < n; i++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32((i+uint32(1))*iStep))
		speedtest1_run(tls)
		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
	}
	speedtest1_end_test(tls)

	n = uint32(g.szTest * 500)
	speedtest1_begin_test(tls, 140, ts+10811, libc.VaList(bp+160, n))
	speedtest1_prepare(tls, ts+10828, 0)
	for i = uint32(1); i <= n; i++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i))
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)

	n = uint32(g.szTest * 50)
	speedtest1_begin_test(tls, 150, ts+10858, libc.VaList(bp+168, n))
	speedtest1_prepare(tls, ts+10881, 0)
	for i = uint32(1); i <= n; i++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(251)%mxRowid+uint32(1)))
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)

	n = uint32(g.szTest * 5)
	speedtest1_begin_test(tls, 155, ts+10929, libc.VaList(bp+176, n))
	speedtest1_prepare(tls,
		ts+10970, 0)
	iStep = mxCoord / n
	for i = uint32(0); i < n; i++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
		speedtest1_run(tls)
		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
	}
	speedtest1_end_test(tls)

	n = uint32(g.szTest * 50)
	speedtest1_begin_test(tls, 160, ts+11032, libc.VaList(bp+184, n))
	speedtest1_prepare(tls, ts+11055, 0)
	for i = uint32(1); i <= n; i++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*uint32(257)%mxRowid+uint32(1)))
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)

	n = uint32(g.szTest * 5)
	speedtest1_begin_test(tls, 165, ts+11083, libc.VaList(bp+192, n))
	speedtest1_prepare(tls, ts+11124, 0)
	iStep = mxCoord / n
	for i = uint32(0); i < n; i++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i*iStep))
		speedtest1_run(tls)
		*(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) = libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124)
	}
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 170, ts+11166, 0)
	speedtest1_exec(tls, ts+11213, 0)
	speedtest1_end_test(tls)
}

func testset_orm(tls *libc.TLS) {
	bp := tls.Alloc(2016)
	defer tls.Free(2016)

	var i uint32
	var j uint32
	var n uint32
	var nRow uint32
	var x1 uint32
	var len uint32

	nRow = libc.AssignUint32(&n, uint32(g.szTest*250))
	speedtest1_begin_test(tls, 100, ts+11256, libc.VaList(bp, n))
	speedtest1_exec(tls,
		ts+11269, 0)
	speedtest1_prepare(tls,
		ts+15169, 0)
	for i = uint32(0); i < n; i++ {
		x1 = speedtest1_random(tls)
		speedtest1_numbername(tls, x1%uint32(1000), bp+16, int32(unsafe.Sizeof([2000]int8{})))
		len = uint32(int32(libc.Xstrlen(tls, bp+16)))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i^uint32(0xf)))
		for j = uint32(0); zType[j] != 0; j++ {
			switch int32(zType[j]) {
			case 'I':
				fallthrough
			case 'T':
				sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, int32(j+uint32(2)), int64(x1))
				break
			case 'F':
				sqlite3.Xsqlite3_bind_double(tls, g.pStmt, int32(j+uint32(2)), float64(x1))
				break
			case 'V':
				fallthrough
			case 'B':
				sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, int32(j+uint32(2)), bp+16, uint64(len),
					uintptr(0), uint8(SQLITE_UTF8))
				break
			}
		}
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+4300, 0)
	speedtest1_end_test(tls)

	n = uint32(g.szTest * 250)
	speedtest1_begin_test(tls, 110, ts+18413, libc.VaList(bp+8, n))
	speedtest1_prepare(tls,
		ts+18436, 0)
	for i = uint32(0); i < n; i++ {
		x1 = speedtest1_random(tls) % nRow
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1))
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)
}

var zType = *(*[120]int8)(unsafe.Pointer(ts + 21189))

func testset_trigger(tls *libc.TLS) {
	bp := tls.Alloc(2032)
	defer tls.Free(2032)

	var jj int32
	var ii int32

	var NROW int32 = 500 * g.szTest
	var NROW2 int32 = 100 * g.szTest

	speedtest1_exec(tls,
		ts+21309, 0)
	for jj = 1; jj <= 3; jj++ {
		speedtest1_prepare(tls, ts+21637, libc.VaList(bp, jj))
		for ii = 0; ii < NROW; ii++ {
			var x1 int32 = int32(speedtest1_random(tls) % uint32(NROW))
			speedtest1_numbername(tls, uint32(x1), bp+32, int32(unsafe.Sizeof([2000]int8{})))
			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, x1)
			sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
			speedtest1_run(tls)
		}
	}
	speedtest1_exec(tls,
		ts+21672, 0)

	speedtest1_begin_test(tls, 100, ts+21755, 0)
	speedtest1_prepare(tls,
		ts+21769, 0)
	speedtest1_run(tls)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 110, ts+21836, 0)
	speedtest1_prepare(tls,
		ts+21850, 0)
	speedtest1_run(tls)
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 120, ts+21909, 0)
	for jj = 1; jj <= 3; jj++ {
		speedtest1_prepare(tls, ts+21923, libc.VaList(bp+8, jj))
		for ii = 0; ii < NROW2; ii = ii + 3 {
			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
			speedtest1_run(tls)
		}
	}
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 130, ts+21957, 0)
	for jj = 1; jj <= 3; jj++ {
		speedtest1_prepare(tls, ts+21972, libc.VaList(bp+16, jj))
		for ii = 0; ii < NROW2; ii = ii + 3 {
			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
			speedtest1_run(tls)
		}
	}
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 140, ts+21957, 0)
	for jj = 1; jj <= 3; jj++ {
		speedtest1_prepare(tls, ts+21972, libc.VaList(bp+24, jj))
		for ii = 0; ii < NROW2; ii = ii + 3 {
			sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, ii*3)
			speedtest1_run(tls)
		}
	}
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 150, ts+22006, 0)
	speedtest1_prepare(tls,
		ts+22025, 0)
	for jj = 0; jj < NROW2; jj++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*3)
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 160, ts+22140, 0)
	speedtest1_exec(tls, ts+3223, 0)
	speedtest1_prepare(tls, ts+22161, 0)
	for jj = 0; jj < NROW2; jj++ {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
		speedtest1_run(tls)
	}
	speedtest1_exec(tls, ts+3333, 0)
	speedtest1_end_test(tls)

	speedtest1_exec(tls, ts+22196, 0)
	speedtest1_begin_test(tls, 170, ts+22244, 0)
	speedtest1_exec(tls, ts+22266, 0)
	speedtest1_end_test(tls)

	speedtest1_exec(tls,
		ts+22311, 0)

	speedtest1_begin_test(tls, 180, ts+22801, 0)
	speedtest1_prepare(tls, ts+22818, 0)
	for jj = 0; jj < NROW2; jj++ {
		speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 190, ts+22854, 0)
	speedtest1_prepare(tls, ts+22871, 0)
	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
		speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj)
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)

	speedtest1_begin_test(tls, 200, ts+22917, 0)
	speedtest1_prepare(tls, ts+22934, 0)
	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)
	speedtest1_exec(tls, ts+3333, 0)

	speedtest1_exec(tls,
		ts+22966, 0)
	speedtest1_begin_test(tls, 210, ts+23071, 0)
	speedtest1_prepare(tls, ts+22818, 0)
	for jj = 0; jj < NROW2; jj++ {
		speedtest1_numbername(tls, uint32(jj), bp+32, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj)
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)
	speedtest1_begin_test(tls, 210, ts+23090, 0)
	speedtest1_prepare(tls, ts+22871, 0)
	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
		speedtest1_numbername(tls, uint32(jj*2), bp+32, int32(unsafe.Sizeof([2000]int8{})))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
		sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32, -1, uintptr(0))
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj)
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)
	speedtest1_begin_test(tls, 220, ts+23109, 0)
	speedtest1_prepare(tls, ts+22934, 0)
	for jj = 1; jj <= NROW2*2; jj = jj + 2 {
		sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj*2)
		speedtest1_run(tls)
	}
	speedtest1_end_test(tls)
	speedtest1_exec(tls, ts+3333, 0)
}

func testset_debug1(tls *libc.TLS) {
	bp := tls.Alloc(2032)
	defer tls.Free(2032)

	var i uint32
	var n uint32
	var x1 uint32
	var x2 uint32

	n = uint32(g.szTest)
	for i = uint32(1); i <= n; i++ {
		x1 = swizzle(tls, i, n)
		x2 = swizzle(tls, x1, n)
		speedtest1_numbername(tls, x1, bp+32, int32(unsafe.Sizeof([2000]int8{})))
		printf(tls, ts+23128, libc.VaList(bp, i, x1, x2, bp+32))
	}
}

func xCompileOptions(tls *libc.TLS, pCtx uintptr, nVal int32, azVal uintptr, azCol uintptr) int32 {
	bp := tls.Alloc(8)
	defer tls.Free(8)

	printf(tls, ts+23144, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azVal))))
	return SQLITE_OK
}

func main1(tls *libc.TLS, argc int32, argv uintptr) int32 {
	bp := tls.Alloc(600)
	defer tls.Free(600)

	var doAutovac int32 = 0
	var cacheSize int32 = 0
	var doExclusive int32 = 0
	var nHeap int32 = 0
	var mnHeap int32 = 0
	var doIncrvac int32 = 0
	var zJMode uintptr = uintptr(0)
	var zKey uintptr = uintptr(0)
	var nLook int32 = -1
	var szLook int32 = 0
	var noSync int32 = 0
	var pageSize int32 = 0
	var nPCache int32 = 0
	var szPCache int32 = 0
	var doPCache int32 = 0
	var showStats int32 = 0
	var nThread int32 = 0
	var mmapSize int32 = 0
	var memDb int32 = 0
	var openFlags int32 = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE
	var zTSet uintptr = ts + 23167
	var zVfs uintptr = uintptr(0)
	var doTrace int32 = 0
	var zEncoding uintptr = uintptr(0)
	var zDbName uintptr = uintptr(0)

	var pHeap uintptr = uintptr(0)
	var pLook uintptr = uintptr(0)
	var pPCache uintptr = uintptr(0)

	var i int32
	var rc int32

	printf(tls, ts+23172,
		libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), sqlite3.Xsqlite3_sourceid(tls)))

	g.zWR = ts + 2531
	g.zNN = ts + 2531
	g.zPK = ts + 23207
	g.szTest = 100
	g.nRepeat = 1
	for i = 1; i < argc; i++ {
		var z uintptr = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
		if int32(*(*int8)(unsafe.Pointer(z))) == '-' {
			for __ccgo := true; __ccgo; __ccgo = int32(*(*int8)(unsafe.Pointer(z))) == '-' {
				z++
			}
			if libc.Xstrcmp(tls, z, ts+23214) == 0 {
				doAutovac = 1
			} else if libc.Xstrcmp(tls, z, ts+23225) == 0 {
				g.doBigTransactions = 1
			} else if libc.Xstrcmp(tls, z, ts+23242) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				cacheSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
			} else if libc.Xstrcmp(tls, z, ts+23276) == 0 {
				doExclusive = 1
			} else if libc.Xstrcmp(tls, z, ts+23286) == 0 {
				g.doCheckpoint = 1
			} else if libc.Xstrcmp(tls, z, ts+23297) == 0 {
				g.bSqlOnly = 1
				g.bExplain = 1
			} else if libc.Xstrcmp(tls, z, ts+23305) == 0 {
				if i >= argc-2 {
					fatal_error(tls, ts+23252, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				nHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
				mnHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
				i = i + 2
			} else if libc.Xstrcmp(tls, z, ts+23310) == 0 {
				doIncrvac = 1
			} else if libc.Xstrcmp(tls, z, ts+23321) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				zJMode = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
			} else if libc.Xstrcmp(tls, z, ts+23329) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				zKey = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
			} else if libc.Xstrcmp(tls, z, ts+23333) == 0 {
				if i >= argc-2 {
					fatal_error(tls, ts+23252, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				nLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
				szLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
				i = i + 2
			} else if libc.Xstrcmp(tls, z, ts+23343) == 0 {
				memDb = 1
			} else if libc.Xstrcmp(tls, z, ts+23349) == 0 {
				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MULTITHREAD, 0)
			} else if libc.Xstrcmp(tls, z, ts+23361) == 0 {
				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+56, 0))
			} else if libc.Xstrcmp(tls, z, ts+23371) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				mmapSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
			} else if libc.Xstrcmp(tls, z, ts+23376) == 0 {
				openFlags = openFlags | SQLITE_OPEN_NOMUTEX
			} else if libc.Xstrcmp(tls, z, ts+23384) == 0 {
				noSync = 1
			} else if libc.Xstrcmp(tls, z, ts+23391) == 0 {
				g.zNN = ts + 23399
			} else if libc.Xstrcmp(tls, z, ts+23408) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				i++
				if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23415) == 0 {
					g.hashFile = libc.X__acrt_iob_func(tls, uint32(1))
				} else {
					g.hashFile = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23417)
					if g.hashFile == uintptr(0) {
						fatal_error(tls, ts+23420, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
					}
				}
			} else if libc.Xstrcmp(tls, z, ts+23450) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				pageSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
			} else if libc.Xstrcmp(tls, z, ts+23459) == 0 {
				if i >= argc-2 {
					fatal_error(tls, ts+23252, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				nPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+1)*8)))
				szPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i+2)*8)))
				doPCache = 1
				i = i + 2
			} else if libc.Xstrcmp(tls, z, ts+23466) == 0 {
				g.zPK = ts + 23477
			} else if libc.Xstrcmp(tls, z, ts+23489) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				g.nRepeat = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
			} else if libc.Xstrcmp(tls, z, ts+23496) == 0 {
				g.bReprepare = 1
			} else if libc.Xstrcmp(tls, z, ts+23506) == 0 {
				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SERIALIZED, 0)
			} else if libc.Xstrcmp(tls, z, ts+23517) == 0 {
				sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SINGLETHREAD, 0)
			} else if libc.Xstrcmp(tls, z, ts+23530) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				if g.pScript != 0 {
					libc.Xfclose(tls, g.pScript)
				}
				g.pScript = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)), ts+23417)
				if g.pScript == uintptr(0) {
					fatal_error(tls, ts+23537, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
			} else if libc.Xstrcmp(tls, z, ts+23570) == 0 {
				g.bSqlOnly = 1
			} else if libc.Xstrcmp(tls, z, ts+23578) == 0 {
				g.bMemShrink = 1
			} else if libc.Xstrcmp(tls, z, ts+23592) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+128, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				g.szTest = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
			} else if libc.Xstrcmp(tls, z, ts+23597) == 0 {
				showStats = 1
			} else if libc.Xstrcmp(tls, z, ts+23603) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				i++
				if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) < '0' || int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) > '9' || int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) + 1))) != 0 {
					fatal_error(tls, ts+23608, 0)
				}
				g.eTemp = int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) - '0'
			} else if libc.Xstrcmp(tls, z, ts+23661) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				zTSet = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
			} else if libc.Xstrcmp(tls, z, ts+23669) == 0 {
				doTrace = 1
			} else if libc.Xstrcmp(tls, z, ts+23675) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				nThread = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
			} else if libc.Xstrcmp(tls, z, ts+23683) == 0 {
				zEncoding = ts + 23683
			} else if libc.Xstrcmp(tls, z, ts+23691) == 0 {
				zEncoding = ts + 23691
			} else if libc.Xstrcmp(tls, z, ts+23699) == 0 {
				g.bVerify = 1
				HashInit(tls)
			} else if libc.Xstrcmp(tls, z, ts+23706) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				zVfs = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))
			} else if libc.Xstrcmp(tls, z, ts+23710) == 0 {
				if i >= argc-1 {
					fatal_error(tls, ts+23252, libc.VaList(bp+168, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
				}
				g.nReserve = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)))
			} else if libc.Xstrcmp(tls, z, ts+23718) == 0 {
				if libc.Xstrstr(tls, g.zWR, ts+23732) != uintptr(0) {
				} else if libc.Xstrstr(tls, g.zWR, ts+23740) != uintptr(0) {
					g.zWR = ts + 23747
				} else {
					g.zWR = ts + 6347
				}
				g.zPK = ts + 23477
			} else if libc.Xstrcmp(tls, z, ts+23768) == 0 {
				if libc.Xstrstr(tls, g.zWR, ts+23740) != uintptr(0) {
				} else if libc.Xstrstr(tls, g.zWR, ts+23732) != uintptr(0) {
					g.zWR = ts + 23747
				} else {
					g.zWR = ts + 23740
				}
			} else if libc.Xstrcmp(tls, z, ts+23775) == 0 || libc.Xstrcmp(tls, z, ts+23780) == 0 {
				printf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv))))
				libc.Xexit(tls, 0)
			} else {
				fatal_error(tls, ts+23782,
					libc.VaList(bp+184, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv))))
			}
		} else if zDbName == uintptr(0) {
			zDbName = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
		} else {
			fatal_error(tls, ts+23823,
				libc.VaList(bp+200, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv))))
		}
	}
	if nHeap > 0 {
		pHeap = libc.Xmalloc(tls, uint64(nHeap))
		if pHeap == uintptr(0) {
			fatal_error(tls, ts+23866, libc.VaList(bp+216, nHeap))
		}
		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+224, pHeap, nHeap, mnHeap))
		if rc != 0 {
			fatal_error(tls, ts+23896, libc.VaList(bp+248, rc))
		}
	}
	if doPCache != 0 {
		if nPCache > 0 && szPCache > 0 {
			pPCache = libc.Xmalloc(tls, uint64(sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))
			if pPCache == uintptr(0) {
				fatal_error(tls, ts+23927,
					libc.VaList(bp+256, sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))
			}
		}
		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+264, pPCache, szPCache, nPCache))
		if rc != 0 {
			fatal_error(tls, ts+23961, libc.VaList(bp+288, rc))
		}
	}
	if nLook >= 0 {
		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+296, 0, 0))
	}
	sqlite3.Xsqlite3_initialize(tls)

	if zDbName != uintptr(0) {
		var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, zVfs)

		if pVfs != uintptr(0) {
			(*struct {
				f func(*libc.TLS, uintptr, uintptr, int32) int32
			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).xDelete})).f(tls, pVfs, zDbName, 1)
		}
		libc.Xunlink(tls, zDbName)
	}

	if sqlite3.Xsqlite3_open_v2(tls, func() uintptr {
		if memDb != 0 {
			return ts + 23994
		}
		return zDbName
	}(), uintptr(unsafe.Pointer(&g)),
		openFlags, zVfs) != 0 {
		fatal_error(tls, ts+24003, libc.VaList(bp+312, zDbName))
	}
	if nLook > 0 && szLook > 0 {
		pLook = libc.Xmalloc(tls, uint64(nLook*szLook))
		rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+320, pLook, szLook, nLook))
		if rc != 0 {
			fatal_error(tls, ts+24034, libc.VaList(bp+344, rc))
		}
	}
	if g.nReserve > 0 {
		sqlite3.Xsqlite3_file_control(tls, g.db, uintptr(0), SQLITE_FCNTL_RESERVE_BYTES, uintptr(unsafe.Pointer(&g))+72)
	}

	sqlite3.Xsqlite3_create_function(tls, g.db, ts+24070, 0, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
		f func(*libc.TLS, uintptr, int32, uintptr)
	}{randomFunc})), uintptr(0), uintptr(0))
	if doTrace != 0 {
		sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
			f func(*libc.TLS, uintptr, uintptr)
		}{traceCallback})), uintptr(0))
	}
	if memDb > 0 {
		speedtest1_exec(tls, ts+24077, 0)
	}
	if mmapSize > 0 {
		speedtest1_exec(tls, ts+24102, libc.VaList(bp+352, mmapSize))
	}
	speedtest1_exec(tls, ts+24122, libc.VaList(bp+360, nThread))
	if zKey != 0 {
		speedtest1_exec(tls, ts+24140, libc.VaList(bp+368, zKey))
	}
	if zEncoding != 0 {
		speedtest1_exec(tls, ts+24157, libc.VaList(bp+376, zEncoding))
	}
	if doAutovac != 0 {
		speedtest1_exec(tls, ts+24176, 0)
	} else if doIncrvac != 0 {
		speedtest1_exec(tls, ts+24200, 0)
	}
	if pageSize != 0 {
		speedtest1_exec(tls, ts+24231, libc.VaList(bp+384, pageSize))
	}
	if cacheSize != 0 {
		speedtest1_exec(tls, ts+24251, libc.VaList(bp+392, cacheSize))
	}
	if noSync != 0 {
		speedtest1_exec(tls, ts+24272, 0)
	}
	if doExclusive != 0 {
		speedtest1_exec(tls, ts+24295, 0)
	}
	if zJMode != 0 {
		speedtest1_exec(tls, ts+24325, libc.VaList(bp+400, zJMode))
	}

	if g.bExplain != 0 {
		printf(tls, ts+24348, 0)
	}
	for __ccgo1 := true; __ccgo1; __ccgo1 = *(*int8)(unsafe.Pointer(zTSet)) != 0 {
		var zThisTest uintptr = zTSet
		var zComma uintptr = libc.Xstrchr(tls, zThisTest, ',')
		if zComma != 0 {
			*(*int8)(unsafe.Pointer(zComma)) = int8(0)
			zTSet = zComma + uintptr(1)
		} else {
			zTSet = ts + 2531
		}
		if g.iTotal > int64(0) || zComma != uintptr(0) {
			printf(tls, ts+24367, libc.VaList(bp+408, zThisTest))
		}
		if libc.Xstrcmp(tls, zThisTest, ts+23167) == 0 {
			testset_main(tls)
		} else if libc.Xstrcmp(tls, zThisTest, ts+24394) == 0 {
			testset_debug1(tls)
		} else if libc.Xstrcmp(tls, zThisTest, ts+24401) == 0 {
			testset_orm(tls)
		} else if libc.Xstrcmp(tls, zThisTest, ts+24405) == 0 {
			testset_cte(tls)
		} else if libc.Xstrcmp(tls, zThisTest, ts+24409) == 0 {
			testset_fp(tls)
		} else if libc.Xstrcmp(tls, zThisTest, ts+24412) == 0 {
			testset_trigger(tls)
		} else if libc.Xstrcmp(tls, zThisTest, ts+24420) == 0 {
			testset_rtree(tls, 6, 147)
		} else {
			fatal_error(tls,
				ts+24426,
				libc.VaList(bp+416, zThisTest))
		}
		if *(*int8)(unsafe.Pointer(zTSet)) != 0 {
			var zSql uintptr
			var zObj uintptr
			speedtest1_begin_test(tls, 999, ts+24495, 0)
			for 1 != 0 {
				zObj = speedtest1_once(tls,
					ts+24514, 0)
				if zObj == uintptr(0) {
					break
				}
				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24584, libc.VaList(bp+424, zObj))
				speedtest1_exec(tls, zSql, 0)
				sqlite3.Xsqlite3_free(tls, zSql)
				sqlite3.Xsqlite3_free(tls, zObj)
			}
			for 1 != 0 {
				zObj = speedtest1_once(tls,
					ts+24605, 0)
				if zObj == uintptr(0) {
					break
				}
				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24584, libc.VaList(bp+432, zObj))
				speedtest1_exec(tls, zSql, 0)
				sqlite3.Xsqlite3_free(tls, zSql)
				sqlite3.Xsqlite3_free(tls, zObj)
			}
			speedtest1_end_test(tls)
		}
	}
	speedtest1_final(tls)

	if showStats != 0 {
		sqlite3.Xsqlite3_exec(tls, g.db, ts+24675, *(*uintptr)(unsafe.Pointer(&struct {
			f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
		}{xCompileOptions})), uintptr(0), uintptr(0))
	}

	if showStats != 0 {
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+592, bp+596, 0)
		printf(tls, ts+24698, libc.VaList(bp+440, *(*int32)(unsafe.Pointer(bp + 592)), *(*int32)(unsafe.Pointer(bp + 596))))
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+592, bp+596, 0)
		printf(tls, ts+24743, libc.VaList(bp+456, *(*int32)(unsafe.Pointer(bp + 596))))
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+592, bp+596, 0)
		printf(tls, ts+24779, libc.VaList(bp+464, *(*int32)(unsafe.Pointer(bp + 596))))
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+592, bp+596, 0)
		printf(tls, ts+24815, libc.VaList(bp+472, *(*int32)(unsafe.Pointer(bp + 596))))
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+592, bp+596, 0)
		printf(tls, ts+24851, libc.VaList(bp+480, *(*int32)(unsafe.Pointer(bp + 592))))
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+592, bp+596, 1)
		printf(tls, ts+24893, libc.VaList(bp+488, *(*int32)(unsafe.Pointer(bp + 592))))
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+592, bp+596, 1)
		printf(tls, ts+24929, libc.VaList(bp+496, *(*int32)(unsafe.Pointer(bp + 592))))
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+592, bp+596, 1)
		printf(tls, ts+24965, libc.VaList(bp+504, *(*int32)(unsafe.Pointer(bp + 592))))
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+592, bp+596, 0)
		printf(tls, ts+25001, libc.VaList(bp+512, *(*int32)(unsafe.Pointer(bp + 592))))
		sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+592, bp+596, 0)
		printf(tls, ts+25043, libc.VaList(bp+520, *(*int32)(unsafe.Pointer(bp + 592))))
	}

	sqlite3.Xsqlite3_close(tls, g.db)

	if showStats != 0 {
		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+592, bp+596, 0)
		printf(tls, ts+25085, libc.VaList(bp+528, *(*int32)(unsafe.Pointer(bp + 592)), *(*int32)(unsafe.Pointer(bp + 596))))
		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+592, bp+596, 0)
		printf(tls, ts+25130, libc.VaList(bp+544, *(*int32)(unsafe.Pointer(bp + 592)), *(*int32)(unsafe.Pointer(bp + 596))))
		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+592, bp+596, 0)
		printf(tls, ts+25175, libc.VaList(bp+560, *(*int32)(unsafe.Pointer(bp + 592)), *(*int32)(unsafe.Pointer(bp + 596))))
		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+592, bp+596, 0)
		printf(tls, ts+25220, libc.VaList(bp+576, *(*int32)(unsafe.Pointer(bp + 596))))
		sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+592, bp+596, 0)
		printf(tls, ts+25262, libc.VaList(bp+584, *(*int32)(unsafe.Pointer(bp + 596))))
	}

	if g.pScript != 0 {
		libc.Xfclose(tls, g.pScript)
	}

	libc.Xfree(tls, pLook)
	libc.Xfree(tls, pPCache)
	libc.Xfree(tls, pHeap)
	return 0
}

var ts1 = "Usage: %s [--options] DATABASE\nOptions:\n  --autovacuum        Enable AUTOVACUUM mode\n  --big-transactions  Add BEGIN/END around all large tests\n  --cachesize N       Set PRAGMA cache_size=N. Note: N is pages, not bytes\n  --checkpoint        Run PRAGMA wal_checkpoint after each test case\n  --exclusive         Enable locking_mode=EXCLUSIVE\n  --explain           Like --sqlonly but with added EXPLAIN keywords\n  --heap SZ MIN       Memory allocator uses SZ bytes & min allocation MIN\n  --incrvacuum        Enable incremenatal vacuum mode\n  --journal M         Set the journal_mode to M\n  --key KEY           Set the encryption key to KEY\n  --lookaside N SZ    Configure lookaside for N slots of SZ bytes each\n  --memdb             Use an in-memory database\n  --mmap SZ           MMAP the first SZ bytes of the database file\n  --multithread       Set multithreaded mode\n  --nomemstat         Disable memory statistics\n  --nomutex           Open db with SQLITE_OPEN_NOMUTEX\n  --nosync            Set PRAGMA synchronous=OFF\n  --notnull           Add NOT NULL constraints to table columns\n  --output FILE       Store SQL output in FILE\n  --pagesize N        Set the page size to N\n  --pcache N SZ       Configure N pages of pagecache each of size SZ bytes\n  --primarykey        Use PRIMARY KEY instead of UNIQUE where appropriate\n  --repeat N          Repeat each SELECT N times (default: 1)\n  --reprepare         Reprepare each statement upon every invocation\n  --reserve N         Reserve N bytes on each database page\n  --script FILE       Write an SQL script for the test into FILE\n  --serialized        Set serialized threading mode\n  --singlethread      Set single-threaded mode - disables all mutexing\n  --sqlonly           No-op.  Only show the SQL that would have been run.\n  --shrink-memory     Invoke sqlite3_db_release_memory() frequently.\n  --size N            Relative test size.  Default=100\n  --strict            Use STRICT table where appropriate\n  --stats             Show statistics at the end\n  --temp N            N from 0 to 9.  0: no temp table. 9: all temp tables\n  --testset T         Run test-set T (main, cte, rtree, orm, fp, debug)\n  --trace             Turn on SQL tracing\n  --threads N         Use up to N threads for sorting\n  --utf16be           Set text encoding to UTF-16BE\n  --utf16le           Set text encoding to UTF-16LE\n  --verify            Run additional verification steps\n  --vfs NAME          Use the given (preinstalled) VFS\n  --without-rowid     Use WITHOUT ROWID where appropriate\n\x00 TEMP\x00\x00parameter too large - max 2147483648\x00KiB\x00MiB\x00GiB\x00KB\x00MB\x00GB\x00K\x00M\x00G\x00 billion\x00 million\x00 thousand\x00%s hundred\x00%s\x00zero\x00one\x00two\x00three\x00four\x00five\x00six\x00seven\x00eight\x00nine\x00ten\x00eleven\x00twelve\x00thirteen\x00fourteen\x00fifteen\x00sixteen\x00seventeen\x00eighteen\x00nineteen\x00twenty\x00thirty\x00forty\x00fifty\x00sixty\x00seventy\x00eighty\x00ninety\x00.......................................................................\x00-- begin test %d %.*s\n\x00/* %4d - %s%.*s */\n\x00%4d - %s%.*s \x00PRAGMA wal_checkpoint;\x00-- end test %d\n\x00%4d.%03ds\n\x00       TOTAL%.*s %4d.%03ds\n\x00Verification Hash: %llu \x00\n\x00%02x\x00EXPLAIN \x00%.*s;\n\x00CREATE *\x00DROP *\x00ALTER *\x00%s;\n\x00SQL error: %s\n%s\n\x00exec error: %s\n\x00SQL error: %s\n\x00%s\n\x00nil\x00-IFTBN\x000123456789abcdef\x00%d INSERTs into table with no index\x00BEGIN\x00CREATE%s TABLE z1(a INTEGER %s, b INTEGER %s, c TEXT %s);\x00INSERT INTO z1 VALUES(?1,?2,?3); --  %d times\x00COMMIT\x00%d ordered INSERTS with one index/PK\x00CREATE%s TABLE z2(a INTEGER %s %s, b INTEGER %s, c TEXT %s) %s\x00INSERT INTO z2 VALUES(?1,?2,?3); -- %d times\x00%d unordered INSERTS with one index/PK\x00CREATE%s TABLE t3(a INTEGER %s %s, b INTEGER %s, c TEXT %s) %s\x00INSERT INTO t3 VALUES(?1,?2,?3); -- %d times\x00%d SELECTS, numeric BETWEEN, unindexed\x00SELECT count(*), avg(b), sum(length(c)), group_concat(c) FROM z1\n WHERE b BETWEEN ?1 AND ?2; -- %d times\x00%d SELECTS, LIKE, unindexed\x00SELECT count(*), avg(b), sum(length(c)), group_concat(c) FROM z1\n WHERE c LIKE ?1; -- %d times\x00%d SELECTS w/ORDER BY, unindexed\x00SELECT a, b, c FROM z1 WHERE c LIKE ?1\n ORDER BY a; -- %d times\x00%d SELECTS w/ORDER BY and LIMIT, unindexed\x00SELECT a, b, c FROM z1 WHERE c LIKE ?1\n ORDER BY a LIMIT 10; -- %d times\x00CREATE INDEX five times\x00BEGIN;\x00CREATE UNIQUE INDEX t1b ON z1(b);\x00CREATE INDEX t1c ON z1(c);\x00CREATE UNIQUE INDEX t2b ON z2(b);\x00CREATE INDEX t2c ON z2(c DESC);\x00CREATE INDEX t3bc ON t3(b,c);\x00COMMIT;\x00%d SELECTS, numeric BETWEEN, indexed\x00SELECT count(*), avg(b), sum(length(c)), group_concat(a) FROM z1\n WHERE b BETWEEN ?1 AND ?2; -- %d times\x00%d SELECTS, numeric BETWEEN, PK\x00SELECT count(*), avg(b), sum(length(c)), group_concat(a) FROM z2\n WHERE a BETWEEN ?1 AND ?2; -- %d times\x00%d SELECTS, text BETWEEN, indexed\x00SELECT count(*), avg(b), sum(length(c)), group_concat(a) FROM z1\n WHERE c BETWEEN ?1 AND (?1||'~'); -- %d times\x00%d INSERTS with three indexes\x00CREATE%s TABLE t4(\n  a INTEGER %s %s,\n  b INTEGER %s,\n  c TEXT %s\n) %s\x00CREATE INDEX t4b ON t4(b)\x00CREATE INDEX t4c ON t4(c)\x00INSERT INTO t4 SELECT * FROM z1\x00DELETE and REFILL one table\x00DELETE FROM z2;\x00INSERT INTO z2 SELECT * FROM z1;\x00VACUUM\x00ALTER TABLE ADD COLUMN, and query\x00ALTER TABLE z2 ADD COLUMN d INT DEFAULT 123\x00SELECT sum(d) FROM z2\x00%d UPDATES, numeric BETWEEN, indexed\x00UPDATE z2 SET d=b*2 WHERE b BETWEEN ?1 AND ?2; -- %d times\x00%d UPDATES of individual rows\x00UPDATE z2 SET d=b*3 WHERE a=?1; -- %d times\x00One big UPDATE of the whole %d-row table\x00UPDATE z2 SET d=b*4\x00Query added column after filling\x00%d DELETEs, numeric BETWEEN, indexed\x00DELETE FROM z2 WHERE b BETWEEN ?1 AND ?2; -- %d times\x00%d DELETEs of individual rows\x00DELETE FROM t3 WHERE a=?1; -- %d times\x00Refill two %d-row tables using REPLACE\x00REPLACE INTO z2(a,b,c) SELECT a,b,c FROM z1\x00REPLACE INTO t3(a,b,c) SELECT a,b,c FROM z1\x00Refill a %d-row table using (b&1)==(a&1)\x00INSERT INTO z2(a,b,c)\n SELECT a,b,c FROM z1  WHERE (b&1)==(a&1);\x00INSERT INTO z2(a,b,c)\n SELECT a,b,c FROM z1  WHERE (b&1)<>(a&1);\x00%d four-ways joins\x00SELECT z1.c FROM z1, z2, t3, t4\n WHERE t4.a BETWEEN ?1 AND ?2\n   AND t3.a=t4.b\n   AND z2.a=t3.b\n   AND z1.c=z2.c;\x00subquery in result set\x00SELECT sum(a), max(c),\n       avg((SELECT a FROM z2 WHERE 5+z2.b=z1.b) AND rowid<?1), max(c)\n FROM z1 WHERE rowid<?1;\x00%d REPLACE ops on an IPK\x00CREATE%s TABLE t5(a INTEGER PRIMARY KEY, b %s);\x00REPLACE INTO t5 VALUES(?1,?2); --  %d times\x00%d SELECTS on an IPK\x00SELECT b FROM t5 WHERE a=?1; --  %d times\x00%d REPLACE on TEXT PK\x00CREATE%s TABLE t6(a TEXT PRIMARY KEY, b %s)%s;\x00WITHOUT ROWID\x00REPLACE INTO t6 VALUES(?1,?2); --  %d times\x00%d SELECTS on a TEXT PK\x00SELECT b FROM t6 WHERE a=?1; --  %d times\x00%d SELECT DISTINCT\x00SELECT DISTINCT b FROM t5;\x00SELECT DISTINCT b FROM t6;\x00PRAGMA integrity_check\x00ANALYZE\x00Sudoku with recursive 'digits'\x00WITH RECURSIVE\n  input(sud) AS (VALUES(?1)),\n  digits(z,lp) AS (\n    VALUES('1', 1)\n    UNION ALL\n    SELECT CAST(lp+1 AS TEXT), lp+1 FROM digits WHERE lp<9\n  ),\n  x(s, ind) AS (\n    SELECT sud, instr(sud, '.') FROM input\n    UNION ALL\n    SELECT\n      substr(s, 1, ind-1) || z || substr(s, ind+1),\n      instr( substr(s, 1, ind-1) || z || substr(s, ind+1), '.' )\n     FROM x, digits AS z\n    WHERE ind>0\n      AND NOT EXISTS (\n            SELECT 1\n              FROM digits AS lp\n             WHERE z.z = substr(s, ((ind-1)/9)*9 + lp, 1)\n                OR z.z = substr(s, ((ind-1)%%9) + (lp-1)*9 + 1, 1)\n                OR z.z = substr(s, (((ind-1)/3) %% 3) * 3\n                        + ((ind-1)/27) * 27 + lp\n                        + ((lp-1) / 3) * 6, 1)\n         )\n  )\nSELECT s FROM x WHERE ind=0;\x00Sudoku with VALUES 'digits'\x00WITH RECURSIVE\n  input(sud) AS (VALUES(?1)),\n  digits(z,lp) AS (VALUES('1',1),('2',2),('3',3),('4',4),('5',5),\n                         ('6',6),('7',7),('8',8),('9',9)),\n  x(s, ind) AS (\n    SELECT sud, instr(sud, '.') FROM input\n    UNION ALL\n    SELECT\n      substr(s, 1, ind-1) || z || substr(s, ind+1),\n      instr( substr(s, 1, ind-1) || z || substr(s, ind+1), '.' )\n     FROM x, digits AS z\n    WHERE ind>0\n      AND NOT EXISTS (\n            SELECT 1\n              FROM digits AS lp\n             WHERE z.z = substr(s, ((ind-1)/9)*9 + lp, 1)\n                OR z.z = substr(s, ((ind-1)%%9) + (lp-1)*9 + 1, 1)\n                OR z.z = substr(s, (((ind-1)/3) %% 3) * 3\n                        + ((ind-1)/27) * 27 + lp\n                        + ((lp-1) / 3) * 6, 1)\n         )\n  )\nSELECT s FROM x WHERE ind=0;\x00Mandelbrot Set with spacing=%f\x00WITH RECURSIVE \n  xaxis(x) AS (VALUES(-2.0) UNION ALL SELECT x+?1 FROM xaxis WHERE x<1.2),\n  yaxis(y) AS (VALUES(-1.0) UNION ALL SELECT y+?2 FROM yaxis WHERE y<1.0),\n  m(iter, cx, cy, x, y) AS (\n    SELECT 0, x, y, 0.0, 0.0 FROM xaxis, yaxis\n    UNION ALL\n    SELECT iter+1, cx, cy, x*x-y*y + cx, 2.0*x*y + cy FROM m \n     WHERE (x*x + y*y) < 4.0 AND iter<28\n  ),\n  m2(iter, cx, cy) AS (\n    SELECT max(iter), cx, cy FROM m GROUP BY cx, cy\n  ),\n  a(t) AS (\n    SELECT group_concat( substr(' .+*#', 1+min(iter/7,4), 1), '') \n    FROM m2 GROUP BY cy\n  )\nSELECT group_concat(rtrim(t),x'0a') FROM a;\x00EXCEPT operator on %d-element tables\x00WITH RECURSIVE \n  z1(x) AS (VALUES(2) UNION ALL SELECT x+2 FROM z1 WHERE x<%d),\n  z2(y) AS (VALUES(3) UNION ALL SELECT y+3 FROM z2 WHERE y<%d)\nSELECT count(x), avg(x) FROM (\n  SELECT x FROM z1 EXCEPT SELECT y FROM z2 ORDER BY 1\n);\x00534...9..67.195....98....6.8...6...34..8.3..1....2...6.6....28....419..5...28..79\x0053....9..6..195....98....6.8...6...34..8.3..1....2...6.6....28....419..5....8..79\x0053.......6..195....98....6.8...6...34..8.3..1....2...6.6....28....419..5....8..79\x00%d.%de%d\x00Fill a table with %d FP values\x00CREATE%s TABLE z1(a REAL %s, b REAL %s);\x00INSERT INTO z1 VALUES(?1,?2); -- %d times\x00%d range queries\x00SELECT sum(b) FROM z1 WHERE a BETWEEN ?1 AND ?2\x00CREATE INDEX three times\x00CREATE INDEX t1a ON z1(a);\x00CREATE INDEX t1b ON z1(b);\x00CREATE INDEX t1ab ON z1(a,b);\x00%d indexed range queries\x00%d calls to round()\x00SELECT sum(round(a,2)+round(b,4)) FROM z1;\x00%d printf() calls\x00WITH c(fmt) AS (VALUES('%%g'),('%%e'),('%%!g'),('%%.20f'))SELECT sum(printf(fmt,a)) FROM z1, c\x00%d INSERTs into an r-tree\x00CREATE VIRTUAL TABLE rt1 USING rtree(id,x0,x1,y0,y1,z0,z1)\x00INSERT INTO rt1(id,x0,x1,y0,y1,z0,z1)VALUES(?1,?2,?3,?4,?5,?6,?7)\x00Copy from rtree to a regular table\x00CREATE TABLE z1(id INTEGER PRIMARY KEY,x0,x1,y0,y1,z0,z1)\x00INSERT INTO z1 SELECT * FROM rt1\x00%d one-dimensional intersect slice queries\x00SELECT count(*) FROM rt1 WHERE x0>=?1 AND x1<=?2\x00Verify result from 1-D intersect slice queries\x00SELECT count(*) FROM z1 WHERE x0>=?1 AND x1<=?2\x00Count disagree step %d: %d..%d.  %d vs %d\x00%d one-dimensional overlap slice queries\x00SELECT count(*) FROM rt1 WHERE y1>=?1 AND y0<=?2\x00Verify result from 1-D overlap slice queries\x00SELECT count(*) FROM z1 WHERE y1>=?1 AND y0<=?2\x00%d custom geometry callback queries\x00xslice\x00SELECT count(*) FROM rt1 WHERE id MATCH xslice(?1,?2)\x00%d three-dimensional intersect box queries\x00SELECT count(*) FROM rt1 WHERE x1>=?1 AND x0<=?2 AND y1>=?1 AND y0<=?2 AND z1>=?1 AND z0<=?2\x00%d rowid queries\x00SELECT * FROM rt1 WHERE id=?1\x00%d UPDATEs using rowid\x00UPDATE rt1 SET x0=x0+100, x1=x1+100 WHERE id=?1\x00%d UPDATEs using one-dimensional overlap\x00UPDATE rt1 SET x0=x0-100, x1=x1-100 WHERE y1>=?1 AND y0<=?1+5\x00%d DELETEs using rowid\x00DELETE FROM rt1 WHERE id=?1\x00%d DELETEs using one-dimensional overlap\x00DELETE FROM rt1 WHERE y1>=?1 AND y0<=?1+5\x00Restore deleted entries using INSERT OR IGNORE\x00INSERT OR IGNORE INTO rt1 SELECT * FROM z1\x00Fill %d rows\x00BEGIN;CREATE TABLE ZLOOKSLIKECOREDATA (  ZPK INTEGER PRIMARY KEY,  ZTERMFITTINGHOUSINGCOMMAND INTEGER,  ZBRIEFGOBYDODGERHEIGHT BLOB,  ZCAPABLETRIPDOORALMOND BLOB,  ZDEPOSITPAIRCOLLEGECOMET INTEGER,  ZFRAMEENTERSIMPLEMOUTH INTEGER,  ZHOPEFULGATEHOLECHALK INTEGER,  ZSLEEPYUSERGRANDBOWL TIMESTAMP,  ZDEWPEACHCAREERCELERY INTEGER,  ZHANGERLITHIUMDINNERMEET VARCHAR,  ZCLUBRELEASELIZARDADVICE VARCHAR,  ZCHARGECLICKHUMANEHIRE INTEGER,  ZFINGERDUEPIZZAOPTION TIMESTAMP,  ZFLYINGDOCTORTABLEMELODY BLOB,  ZLONGFINLEAVEIMAGEOIL TIMESTAMP,  ZFAMILYVISUALOWNERMATTER BLOB,  ZGOLDYOUNGINITIALNOSE FLOAT,  ZCAUSESALAMITERMCYAN BLOB,  ZSPREADMOTORBISCUITBACON FLOAT,  ZGIFTICEFISHGLUEHAIR INTEGER,  ZNOTICEPEARPOLICYJUICE TIMESTAMP,  ZBANKBUFFALORECOVERORBIT TIMESTAMP,  ZLONGDIETESSAYNATURE FLOAT,  ZACTIONRANGEELEGANTNEUTRON BLOB,  ZCADETBRIGHTPLANETBANK TIMESTAMP,  ZAIRFORGIVEHEADFROG BLOB,  ZSHARKJUSTFRUITMOVIE VARCHAR,  ZFARMERMORNINGMIRRORCONCERN BLOB,  ZWOODPOETRYCOBBLERBENCH VARCHAR,  ZHAFNIUMSCRIPTSALADMOTOR INTEGER,  ZPROBLEMCLUBPOPOVERJELLY FLOAT,  ZEIGHTLEADERWORKERMOST TIMESTAMP,  ZGLASSRESERVEBARIUMMEAL BLOB,  ZCLAMBITARUGULAFAJITA BLOB,  ZDECADEJOYOUSWAVEHABIT FLOAT,  ZCOMPANYSUMMERFIBERELF INTEGER,  ZTREATTESTQUILLCHARGE TIMESTAMP,  ZBROWBALANCEKEYCHOWDER FLOAT,  ZPEACHCOPPERDINNERLAKE FLOAT,  ZDRYWALLBEYONDBROWNBOWL VARCHAR,  ZBELLYCRASHITEMLACK BLOB,  ZTENNISCYCLEBILLOFFICER INTEGER,  ZMALLEQUIPTHANKSGLUE FLOAT,  ZMISSREPLYHUMANLIVING INTEGER,  ZKIWIVISUALPRIDEAPPLE VARCHAR,  ZWISHHITSKINMOTOR BLOB,  ZCALMRACCOONPROGRAMDEBIT VARCHAR,  ZSHINYASSISTLIVINGCRAB VARCHAR,  ZRESOLVEWRISTWRAPAPPLE VARCHAR,  ZAPPEALSIMPLESECONDHOUSING BLOB,  ZCORNERANCHORTAPEDIVER TIMESTAMP,  ZMEMORYREQUESTSOURCEBIG VARCHAR,  ZTRYFACTKEEPMILK TIMESTAMP,  ZDIVERPAINTLEATHEREASY INTEGER,  ZSORTMISTYQUOTECABBAGE BLOB,  ZTUNEGASBUFFALOCAPITAL BLOB,  ZFILLSTOPLAWJOYFUL FLOAT,  ZSTEELCAREFULPLATENUMBER FLOAT,  ZGIVEVIVIDDIVINEMEANING INTEGER,  ZTREATPACKFUTURECONVERT VARCHAR,  ZCALMLYGEMFINISHEFFECT INTEGER,  ZCABBAGESOCKEASEMINUTE BLOB,  ZPLANETFAMILYPUREMEMORY TIMESTAMP,  ZMERRYCRACKTRAINLEADER BLOB,  ZMINORWAYPAPERCLASSY TIMESTAMP,  ZEAGLELINEMINEMAIL VARCHAR,  ZRESORTYARDGREENLET TIMESTAMP,  ZYARDOREGANOVIVIDJEWEL TIMESTAMP,  ZPURECAKEVIVIDNEATLY FLOAT,  ZASKCONTACTMONITORFUN TIMESTAMP,  ZMOVEWHOGAMMAINCH VARCHAR,  ZLETTUCEBIRDMEETDEBATE TIMESTAMP,  ZGENENATURALHEARINGKITE VARCHAR,  ZMUFFINDRYERDRAWFORTUNE FLOAT,  ZGRAYSURVEYWIRELOVE FLOAT,  ZPLIERSPRINTASKOREGANO INTEGER,  ZTRAVELDRIVERCONTESTLILY INTEGER,  ZHUMORSPICESANDKIDNEY TIMESTAMP,  ZARSENICSAMPLEWAITMUON INTEGER,  ZLACEADDRESSGROUNDCAREFUL FLOAT,  ZBAMBOOMESSWASABIEVENING BLOB,  ZONERELEASEAVERAGENURSE INTEGER,  ZRADIANTWHENTRYCARD TIMESTAMP,  ZREWARDINSIDEMANGOINTENSE FLOAT,  ZNEATSTEWPARTIRON TIMESTAMP,  ZOUTSIDEPEAHENCOUNTICE TIMESTAMP,  ZCREAMEVENINGLIPBRANCH FLOAT,  ZWHALEMATHAVOCADOCOPPER FLOAT,  ZLIFEUSELEAFYBELL FLOAT,  ZWEALTHLINENGLEEFULDAY VARCHAR,  ZFACEINVITETALKGOLD BLOB,  ZWESTAMOUNTAFFECTHEARING INTEGER,  ZDELAYOUTCOMEHORNAGENCY INTEGER,  ZBIGTHINKCONVERTECONOMY BLOB,  ZBASEGOUDAREGULARFORGIVE TIMESTAMP,  ZPATTERNCLORINEGRANDCOLBY TIMESTAMP,  ZCYANBASEFEEDADROIT INTEGER,  ZCARRYFLOORMINNOWDRAGON TIMESTAMP,  ZIMAGEPENCILOTHERBOTTOM FLOAT,  ZXENONFLIGHTPALEAPPLE TIMESTAMP,  ZHERRINGJOKEFEATUREHOPEFUL FLOAT,  ZCAPYEARLYRIVETBRUSH FLOAT,  ZAGEREEDFROGBASKET VARCHAR,  ZUSUALBODYHALIBUTDIAMOND VARCHAR,  ZFOOTTAPWORDENTRY VARCHAR,  ZDISHKEEPBLESTMONITOR FLOAT,  ZBROADABLESOLIDCASUAL INTEGER,  ZSQUAREGLEEFULCHILDLIGHT INTEGER,  ZHOLIDAYHEADPONYDETAIL INTEGER,  ZGENERALRESORTSKYOPEN TIMESTAMP,  ZGLADSPRAYKIDNEYGUPPY VARCHAR,  ZSWIMHEAVYMENTIONKIND BLOB,  ZMESSYSULFURDREAMFESTIVE BLOB,  ZSKYSKYCLASSICBRIEF VARCHAR,  ZDILLASKHOKILEMON FLOAT,  ZJUNIORSHOWPRESSNOVA FLOAT,  ZSIZETOEAWARDFRESH TIMESTAMP,  ZKEYFAILAPRICOTMETAL VARCHAR,  ZHANDYREPAIRPROTONAIRPORT VARCHAR,  ZPOSTPROTEINHANDLEACTOR BLOB);\x00INSERT INTO ZLOOKSLIKECOREDATA(ZPK,ZAIRFORGIVEHEADFROG,ZGIFTICEFISHGLUEHAIR,ZDELAYOUTCOMEHORNAGENCY,ZSLEEPYUSERGRANDBOWL,ZGLASSRESERVEBARIUMMEAL,ZBRIEFGOBYDODGERHEIGHT,ZBAMBOOMESSWASABIEVENING,ZFARMERMORNINGMIRRORCONCERN,ZTREATPACKFUTURECONVERT,ZCAUSESALAMITERMCYAN,ZCALMRACCOONPROGRAMDEBIT,ZHOLIDAYHEADPONYDETAIL,ZWOODPOETRYCOBBLERBENCH,ZHAFNIUMSCRIPTSALADMOTOR,ZUSUALBODYHALIBUTDIAMOND,ZOUTSIDEPEAHENCOUNTICE,ZDIVERPAINTLEATHEREASY,ZWESTAMOUNTAFFECTHEARING,ZSIZETOEAWARDFRESH,ZDEWPEACHCAREERCELERY,ZSTEELCAREFULPLATENUMBER,ZCYANBASEFEEDADROIT,ZCALMLYGEMFINISHEFFECT,ZHANDYREPAIRPROTONAIRPORT,ZGENENATURALHEARINGKITE,ZBROADABLESOLIDCASUAL,ZPOSTPROTEINHANDLEACTOR,ZLACEADDRESSGROUNDCAREFUL,ZIMAGEPENCILOTHERBOTTOM,ZPROBLEMCLUBPOPOVERJELLY,ZPATTERNCLORINEGRANDCOLBY,ZNEATSTEWPARTIRON,ZAPPEALSIMPLESECONDHOUSING,ZMOVEWHOGAMMAINCH,ZTENNISCYCLEBILLOFFICER,ZSHARKJUSTFRUITMOVIE,ZKEYFAILAPRICOTMETAL,ZCOMPANYSUMMERFIBERELF,ZTERMFITTINGHOUSINGCOMMAND,ZRESORTYARDGREENLET,ZCABBAGESOCKEASEMINUTE,ZSQUAREGLEEFULCHILDLIGHT,ZONERELEASEAVERAGENURSE,ZBIGTHINKCONVERTECONOMY,ZPLIERSPRINTASKOREGANO,ZDECADEJOYOUSWAVEHABIT,ZDRYWALLBEYONDBROWNBOWL,ZCLUBRELEASELIZARDADVICE,ZWHALEMATHAVOCADOCOPPER,ZBELLYCRASHITEMLACK,ZLETTUCEBIRDMEETDEBATE,ZCAPABLETRIPDOORALMOND,ZRADIANTWHENTRYCARD,ZCAPYEARLYRIVETBRUSH,ZAGEREEDFROGBASKET,ZSWIMHEAVYMENTIONKIND,ZTRAVELDRIVERCONTESTLILY,ZGLADSPRAYKIDNEYGUPPY,ZBANKBUFFALORECOVERORBIT,ZFINGERDUEPIZZAOPTION,ZCLAMBITARUGULAFAJITA,ZLONGFINLEAVEIMAGEOIL,ZLONGDIETESSAYNATURE,ZJUNIORSHOWPRESSNOVA,ZHOPEFULGATEHOLECHALK,ZDEPOSITPAIRCOLLEGECOMET,ZWEALTHLINENGLEEFULDAY,ZFILLSTOPLAWJOYFUL,ZTUNEGASBUFFALOCAPITAL,ZGRAYSURVEYWIRELOVE,ZCORNERANCHORTAPEDIVER,ZREWARDINSIDEMANGOINTENSE,ZCADETBRIGHTPLANETBANK,ZPLANETFAMILYPUREMEMORY,ZTREATTESTQUILLCHARGE,ZCREAMEVENINGLIPBRANCH,ZSKYSKYCLASSICBRIEF,ZARSENICSAMPLEWAITMUON,ZBROWBALANCEKEYCHOWDER,ZFLYINGDOCTORTABLEMELODY,ZHANGERLITHIUMDINNERMEET,ZNOTICEPEARPOLICYJUICE,ZSHINYASSISTLIVINGCRAB,ZLIFEUSELEAFYBELL,ZFACEINVITETALKGOLD,ZGENERALRESORTSKYOPEN,ZPURECAKEVIVIDNEATLY,ZKIWIVISUALPRIDEAPPLE,ZMESSYSULFURDREAMFESTIVE,ZCHARGECLICKHUMANEHIRE,ZHERRINGJOKEFEATUREHOPEFUL,ZYARDOREGANOVIVIDJEWEL,ZFOOTTAPWORDENTRY,ZWISHHITSKINMOTOR,ZBASEGOUDAREGULARFORGIVE,ZMUFFINDRYERDRAWFORTUNE,ZACTIONRANGEELEGANTNEUTRON,ZTRYFACTKEEPMILK,ZPEACHCOPPERDINNERLAKE,ZFRAMEENTERSIMPLEMOUTH,ZMERRYCRACKTRAINLEADER,ZMEMORYREQUESTSOURCEBIG,ZCARRYFLOORMINNOWDRAGON,ZMINORWAYPAPERCLASSY,ZDILLASKHOKILEMON,ZRESOLVEWRISTWRAPAPPLE,ZASKCONTACTMONITORFUN,ZGIVEVIVIDDIVINEMEANING,ZEIGHTLEADERWORKERMOST,ZMISSREPLYHUMANLIVING,ZXENONFLIGHTPALEAPPLE,ZSORTMISTYQUOTECABBAGE,ZEAGLELINEMINEMAIL,ZFAMILYVISUALOWNERMATTER,ZSPREADMOTORBISCUITBACON,ZDISHKEEPBLESTMONITOR,ZMALLEQUIPTHANKSGLUE,ZGOLDYOUNGINITIALNOSE,ZHUMORSPICESANDKIDNEY)VALUES(?1,?26,?20,?93,?8,?33,?3,?81,?28,?60,?18,?47,?109,?29,?30,?104,?86,?54,?92,?117,?9,?58,?97,?61,?119,?73,?107,?120,?80,?99,?31,?96,?85,?50,?71,?42,?27,?118,?36,?2,?67,?62,?108,?82,?94,?76,?35,?40,?11,?88,?41,?72,?4,?83,?102,?103,?112,?77,?111,?22,?13,?34,?15,?23,?116,?7,?5,?90,?57,?56,?75,?51,?84,?25,?63,?37,?87,?114,?79,?38,?14,?10,?21,?48,?89,?91,?110,?69,?45,?113,?12,?101,?68,?105,?46,?95,?74,?24,?53,?39,?6,?64,?52,?98,?65,?115,?49,?70,?59,?32,?44,?100,?55,?66,?16,?19,?106,?43,?17,?78);\x00Query %d rows by rowid\x00SELECT ZCYANBASEFEEDADROIT,ZJUNIORSHOWPRESSNOVA,ZCAUSESALAMITERMCYAN,ZHOPEFULGATEHOLECHALK,ZHUMORSPICESANDKIDNEY,ZSWIMHEAVYMENTIONKIND,ZMOVEWHOGAMMAINCH,ZAPPEALSIMPLESECONDHOUSING,ZHAFNIUMSCRIPTSALADMOTOR,ZNEATSTEWPARTIRON,ZLONGFINLEAVEIMAGEOIL,ZDEWPEACHCAREERCELERY,ZXENONFLIGHTPALEAPPLE,ZCALMRACCOONPROGRAMDEBIT,ZUSUALBODYHALIBUTDIAMOND,ZTRYFACTKEEPMILK,ZWEALTHLINENGLEEFULDAY,ZLONGDIETESSAYNATURE,ZLIFEUSELEAFYBELL,ZTREATPACKFUTURECONVERT,ZMEMORYREQUESTSOURCEBIG,ZYARDOREGANOVIVIDJEWEL,ZDEPOSITPAIRCOLLEGECOMET,ZSLEEPYUSERGRANDBOWL,ZBRIEFGOBYDODGERHEIGHT,ZCLUBRELEASELIZARDADVICE,ZCAPABLETRIPDOORALMOND,ZDRYWALLBEYONDBROWNBOWL,ZASKCONTACTMONITORFUN,ZKIWIVISUALPRIDEAPPLE,ZNOTICEPEARPOLICYJUICE,ZPEACHCOPPERDINNERLAKE,ZSTEELCAREFULPLATENUMBER,ZGLADSPRAYKIDNEYGUPPY,ZCOMPANYSUMMERFIBERELF,ZTENNISCYCLEBILLOFFICER,ZIMAGEPENCILOTHERBOTTOM,ZWESTAMOUNTAFFECTHEARING,ZDIVERPAINTLEATHEREASY,ZSKYSKYCLASSICBRIEF,ZMESSYSULFURDREAMFESTIVE,ZMERRYCRACKTRAINLEADER,ZBROADABLESOLIDCASUAL,ZGLASSRESERVEBARIUMMEAL,ZTUNEGASBUFFALOCAPITAL,ZBANKBUFFALORECOVERORBIT,ZTREATTESTQUILLCHARGE,ZBAMBOOMESSWASABIEVENING,ZREWARDINSIDEMANGOINTENSE,ZEAGLELINEMINEMAIL,ZCALMLYGEMFINISHEFFECT,ZKEYFAILAPRICOTMETAL,ZFINGERDUEPIZZAOPTION,ZCADETBRIGHTPLANETBANK,ZGOLDYOUNGINITIALNOSE,ZMISSREPLYHUMANLIVING,ZEIGHTLEADERWORKERMOST,ZFRAMEENTERSIMPLEMOUTH,ZBIGTHINKCONVERTECONOMY,ZFACEINVITETALKGOLD,ZPOSTPROTEINHANDLEACTOR,ZHERRINGJOKEFEATUREHOPEFUL,ZCABBAGESOCKEASEMINUTE,ZMUFFINDRYERDRAWFORTUNE,ZPROBLEMCLUBPOPOVERJELLY,ZGIVEVIVIDDIVINEMEANING,ZGENENATURALHEARINGKITE,ZGENERALRESORTSKYOPEN,ZLETTUCEBIRDMEETDEBATE,ZBASEGOUDAREGULARFORGIVE,ZCHARGECLICKHUMANEHIRE,ZPLANETFAMILYPUREMEMORY,ZMINORWAYPAPERCLASSY,ZCAPYEARLYRIVETBRUSH,ZSIZETOEAWARDFRESH,ZARSENICSAMPLEWAITMUON,ZSQUAREGLEEFULCHILDLIGHT,ZSHINYASSISTLIVINGCRAB,ZCORNERANCHORTAPEDIVER,ZDECADEJOYOUSWAVEHABIT,ZTRAVELDRIVERCONTESTLILY,ZFLYINGDOCTORTABLEMELODY,ZSHARKJUSTFRUITMOVIE,ZFAMILYVISUALOWNERMATTER,ZFARMERMORNINGMIRRORCONCERN,ZGIFTICEFISHGLUEHAIR,ZOUTSIDEPEAHENCOUNTICE,ZSPREADMOTORBISCUITBACON,ZWISHHITSKINMOTOR,ZHOLIDAYHEADPONYDETAIL,ZWOODPOETRYCOBBLERBENCH,ZAIRFORGIVEHEADFROG,ZBROWBALANCEKEYCHOWDER,ZDISHKEEPBLESTMONITOR,ZCLAMBITARUGULAFAJITA,ZPLIERSPRINTASKOREGANO,ZRADIANTWHENTRYCARD,ZDELAYOUTCOMEHORNAGENCY,ZPURECAKEVIVIDNEATLY,ZPATTERNCLORINEGRANDCOLBY,ZHANDYREPAIRPROTONAIRPORT,ZAGEREEDFROGBASKET,ZSORTMISTYQUOTECABBAGE,ZFOOTTAPWORDENTRY,ZRESOLVEWRISTWRAPAPPLE,ZDILLASKHOKILEMON,ZFILLSTOPLAWJOYFUL,ZACTIONRANGEELEGANTNEUTRON,ZRESORTYARDGREENLET,ZCREAMEVENINGLIPBRANCH,ZWHALEMATHAVOCADOCOPPER,ZGRAYSURVEYWIRELOVE,ZBELLYCRASHITEMLACK,ZHANGERLITHIUMDINNERMEET,ZCARRYFLOORMINNOWDRAGON,ZMALLEQUIPTHANKSGLUE,ZTERMFITTINGHOUSINGCOMMAND,ZONERELEASEAVERAGENURSE,ZLACEADDRESSGROUNDCAREFUL FROM ZLOOKSLIKECOREDATA WHERE ZPK=?1;\x00IBBIIITIVVITBTBFBFITTFBTBVBVIFTBBFITFFVBIFIVBVVVBTVTIBBFFIVIBTBTVTTFTVTVFFIITIFBITFTTFFFVBIIBTTITFTFFVVVFIIITVBBVFFTVVB\x00BEGIN;CREATE TABLE z1(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);CREATE TABLE z2(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);CREATE TABLE t3(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);CREATE VIEW v1 AS SELECT rowid, i, t FROM z1;CREATE VIEW v2 AS SELECT rowid, i, t FROM z2;CREATE VIEW v3 AS SELECT rowid, i, t FROM t3;\x00INSERT INTO t%d VALUES(NULL,?1,?2)\x00CREATE INDEX i1 ON z1(t);CREATE INDEX i2 ON z2(t);CREATE INDEX i3 ON t3(t);COMMIT;\x00speed4p-join1\x00SELECT * FROM z1, z2, t3 WHERE z1.oid = z2.oid AND z2.oid = t3.oid\x00speed4p-join2\x00SELECT * FROM z1, z2, t3 WHERE z1.t = z2.t AND z2.t = t3.t\x00speed4p-view1\x00SELECT * FROM v%d WHERE rowid = ?\x00speed4p-table1\x00SELECT * FROM t%d WHERE rowid = ?\x00speed4p-subselect1\x00SELECT (SELECT t FROM z1 WHERE rowid = ?1),(SELECT t FROM z2 WHERE rowid = ?1),(SELECT t FROM t3 WHERE rowid = ?1)\x00speed4p-rowid-update\x00UPDATE z1 SET i=i+1 WHERE rowid=?1\x00CREATE TABLE t5(t TEXT PRIMARY KEY, i INTEGER);\x00speed4p-insert-ignore\x00INSERT OR IGNORE INTO t5 SELECT t, i FROM z1\x00CREATE TABLE log(op TEXT, r INTEGER, i INTEGER, t TEXT);CREATE TABLE t4(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);CREATE TRIGGER t4_trigger1 AFTER INSERT ON t4 BEGIN  INSERT INTO log VALUES('INSERT INTO t4', new.rowid, new.i, new.t);END;CREATE TRIGGER t4_trigger2 AFTER UPDATE ON t4 BEGIN  INSERT INTO log VALUES('UPDATE OF t4', new.rowid, new.i, new.t);END;CREATE TRIGGER t4_trigger3 AFTER DELETE ON t4 BEGIN  INSERT INTO log VALUES('DELETE OF t4', old.rowid, old.i, old.t);END;BEGIN;\x00speed4p-trigger1\x00INSERT INTO t4 VALUES(NULL, ?1, ?2)\x00speed4p-trigger2\x00UPDATE t4 SET i = ?1, t = ?2 WHERE rowid = ?3\x00speed4p-trigger3\x00DELETE FROM t4 WHERE rowid = ?1\x00DROP TABLE t4;DROP TABLE log;VACUUM;CREATE TABLE t4(rowid INTEGER PRIMARY KEY, i INTEGER, t TEXT);BEGIN;\x00speed4p-notrigger1\x00speed4p-notrigger2\x00speed4p-notrigger3\x00%5d %5d %5d %s\n\x00-- Compile option: %s\n\x00main\x00-- Speedtest1 for SQLite %s %.48s\n\x00UNIQUE\x00autovacuum\x00big-transactions\x00cachesize\x00missing argument on %s\n\x00exclusive\x00checkpoint\x00explain\x00heap\x00incrvacuum\x00journal\x00key\x00lookaside\x00memdb\x00multithread\x00nomemstat\x00mmap\x00nomutex\x00nosync\x00notnull\x00NOT NULL\x00output\x00-\x00wb\x00cannot open \"%s\" for writing\n\x00pagesize\x00pcache\x00primarykey\x00PRIMARY KEY\x00repeat\x00reprepare\x00serialized\x00singlethread\x00script\x00unable to open output file \"%s\"\n\x00sqlonly\x00shrink-memory\x00size\x00stats\x00temp\x00argument to --temp should be integer between 0 and 9\x00testset\x00trace\x00threads\x00utf16le\x00utf16be\x00verify\x00vfs\x00reserve\x00without-rowid\x00WITHOUT\x00STRICT\x00WITHOUT ROWID,STRICT\x00strict\x00help\x00?\x00unknown option: %s\nUse \"%s -?\" for help\n\x00surplus argument: %s\nUse \"%s -?\" for help\n\x00cannot allocate %d-byte heap\n\x00heap configuration failed: %d\n\x00cannot allocate %lld-byte pcache\n\x00pcache configuration failed: %d\n\x00:memory:\x00Cannot open database file: %s\n\x00lookaside configuration failed: %d\n\x00random\x00PRAGMA temp_store=memory\x00PRAGMA mmap_size=%d\x00PRAGMA threads=%d\x00PRAGMA key('%s')\x00PRAGMA encoding=%s\x00PRAGMA auto_vacuum=FULL\x00PRAGMA auto_vacuum=INCREMENTAL\x00PRAGMA page_size=%d\x00PRAGMA cache_size=%d\x00PRAGMA synchronous=OFF\x00PRAGMA locking_mode=EXCLUSIVE\x00PRAGMA journal_mode=%s\x00.explain\n.echo on\n\x00       Begin testset \"%s\"\n\x00debug1\x00orm\x00cte\x00fp\x00trigger\x00rtree\x00unknown testset: \"%s\"\nChoices: cte debug1 fp main orm rtree trigger\n\x00Reset the database\x00SELECT name FROM main.sqlite_master WHERE sql LIKE 'CREATE %%TABLE%%'\x00DROP TABLE main.\"%w\"\x00SELECT name FROM temp.sqlite_master WHERE sql LIKE 'CREATE %%TABLE%%'\x00PRAGMA compile_options\x00-- Lookaside Slots Used:        %d (max %d)\n\x00-- Successful lookasides:       %d\n\x00-- Lookaside size faults:       %d\n\x00-- Lookaside OOM faults:        %d\n\x00-- Pager Heap Usage:            %d bytes\n\x00-- Page cache hits:             %d\n\x00-- Page cache misses:           %d\n\x00-- Page cache writes:           %d\n\x00-- Schema Heap Usage:           %d bytes\n\x00-- Statement Heap Usage:        %d bytes\n\x00-- Memory Used (bytes):         %d (max %d)\n\x00-- Outstanding Allocations:     %d (max %d)\n\x00-- Pcache Overflow Bytes:       %d (max %d)\n\x00-- Largest Allocation:          %d bytes\n\x00-- Largest Pcache Allocation:   %d bytes\n\x00"
var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
