## Summary
<!--Explain briefly what goes wrong and explain why you believe this is a bug and not the intended behavior of SQLite (if it is not a crash).-->**No review yet**

## Minimized query

```sql
.echo off
PRAGMA temp_store = 'DEFAULT';
CREATE TABLE t1(a INT, b INT);
INSERT INTO t1(a,b) VALUES(json_set(-power(if(CAST(0.0 AS DOUBLE), 9223372036854775809, 9223372036854775809), 9223372036854775809), '$.new_key', 1),null),(null,null),(1,null);
CREATE UNIQUE INDEX t1b ON t1(abs(b));
SELECT quote(a), quote(b), '|' FROM t1 GROUP BY a, abs(b);

INSERT INTO t1 DEFAULT VALUES;
CREATE TEMPORARY  VIEW IF NOT EXISTS v_t1_5266 AS SELECT b FROM t1;
SELECT * FROM t1 WHERE a IN (SELECT a FROM t1 LIMIT 0);
WITH cte AS (SELECT * FROM t1) SELECT * FROM cte c1 JOIN cte c2 ON c1.b = c2.b;
INSERT INTO t1 VALUES (NULL, NULL);
CREATE TRIGGER IF NOT EXISTS trg_t1_2501 BEFORE UPDATE OF a ON t1 FOR EACH ROW BEGIN INSERT INTO t1(a) VALUES (NULL); END;
ANALYZE t1;
CREATE  VIEW IF NOT EXISTS v_t1_115 AS SELECT a FROM t1;
WITH a AS (SELECT * FROM t1 WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c;
CREATE UNIQUE  INDEX IF NOT EXISTS idx_t1_8755 ON t1(a) WHERE a IS NOT NULL;
INSERT INTO t1 VALUES (NULL, NULL);
CREATE  INDEX IF NOT EXISTS idx_t1_6885 ON t1(a COLLATE NOCASE);
CREATE TRIGGER IF NOT EXISTS trg_t1_7414 BEFORE DELETE ON t1 FOR EACH ROW BEGIN SELECT RAISE(IGNORE); END;
```

## Actual output

```sql
Parse error near line 4: no such function: if
  INSERT INTO t1(a,b) VALUES(json_set(-power(if(CAST(0.0 AS DOUBLE), 92233720368
                               error here ---^
```

## Expectation

```sql

```

## Flag

```

```

