-- int div to scalar lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(5::int, ints) FROM measurements WHERE sensor_id IN (4)) r(r);
     r      | pg_typeof 
------------+-----------
 {5,NULL,2} | integer[]
(1 row)

-- int div to scalar rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(ints, 5::int) FROM measurements WHERE sensor_id IN (4)) r(r);
     r      | pg_typeof 
------------+-----------
 {0,NULL,0} | integer[]
(1 row)

-- int div to array
SELECT r, pg_typeof(r) FROM (SELECT vec_div(ints, ints) FROM measurements WHERE sensor_id IN (4)) r(r);
     r      | pg_typeof 
------------+-----------
 {1,NULL,1} | integer[]
(1 row)

-- int div to null scalar lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::int, ints) FROM measurements WHERE sensor_id IN (4)) r(r);
        r         | pg_typeof 
------------------+-----------
 {NULL,NULL,NULL} | integer[]
(1 row)

-- int div to null scalar rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(ints, NULL::int) FROM measurements WHERE sensor_id IN (4)) r(r);
        r         | pg_typeof 
------------------+-----------
 {NULL,NULL,NULL} | integer[]
(1 row)

-- int div scalar to null array lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(5::int, NULL::int[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | integer[]
(1 row)

-- int div scalar to null array rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::int[], 5::int) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | integer[]
(1 row)

-- int div to null array lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(ints, NULL::int[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | integer[]
(1 row)

-- int div to null array rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::int[], ints) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | integer[]
(1 row)

-- null int div to null scalar lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::int, NULL::int[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | integer[]
(1 row)

-- null int div to null scalar rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::int[], NULL::int) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | integer[]
(1 row)

-- null int div to null array
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::int[], NULL::int[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | integer[]
(1 row)

-- float div to scalar lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(5::float, floats) FROM measurements WHERE sensor_id IN (4)) r(r);
      r       |     pg_typeof      
--------------+--------------------
 {5,NULL,2.5} | double precision[]
(1 row)

-- float div to scalar rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(floats, 5::float) FROM measurements WHERE sensor_id IN (4)) r(r);
       r        |     pg_typeof      
----------------+--------------------
 {0.2,NULL,0.4} | double precision[]
(1 row)

-- float div to array
SELECT r, pg_typeof(r) FROM (SELECT vec_div(floats, floats) FROM measurements WHERE sensor_id IN (4)) r(r);
     r      |     pg_typeof      
------------+--------------------
 {1,NULL,1} | double precision[]
(1 row)

-- float div to null scalar lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::float, floats) FROM measurements WHERE sensor_id IN (4)) r(r);
        r         |     pg_typeof      
------------------+--------------------
 {NULL,NULL,NULL} | double precision[]
(1 row)

-- float div to null scalar rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(floats, NULL::float) FROM measurements WHERE sensor_id IN (4)) r(r);
        r         |     pg_typeof      
------------------+--------------------
 {NULL,NULL,NULL} | double precision[]
(1 row)

-- float div scalar to null array lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(5::float, NULL::float[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r |     pg_typeof      
---+--------------------
   | double precision[]
(1 row)

-- float div scalar to null array rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::float[], 5::float) FROM measurements WHERE sensor_id IN (4)) r(r);
 r |     pg_typeof      
---+--------------------
   | double precision[]
(1 row)

-- float div to null array lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(floats, NULL::float[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r |     pg_typeof      
---+--------------------
   | double precision[]
(1 row)

-- float div to null array rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::float[], floats) FROM measurements WHERE sensor_id IN (4)) r(r);
 r |     pg_typeof      
---+--------------------
   | double precision[]
(1 row)

-- null float div to null scalar lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::float, NULL::float[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r |     pg_typeof      
---+--------------------
   | double precision[]
(1 row)

-- null float div to null scalar rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::float[], NULL::float) FROM measurements WHERE sensor_id IN (4)) r(r);
 r |     pg_typeof      
---+--------------------
   | double precision[]
(1 row)

-- null float div to null array
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::float[], NULL::float[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r |     pg_typeof      
---+--------------------
   | double precision[]
(1 row)

-- numeric div to scalar lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(5::numeric, nums) FROM measurements WHERE sensor_id IN (4)) r(r);
                      r                       | pg_typeof 
----------------------------------------------+-----------
 {4.0650406504065041,NULL,2.1367521367521368} | numeric[]
(1 row)

-- numeric div to scalar rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(nums, 5::numeric) FROM measurements WHERE sensor_id IN (4)) r(r);
                          r                           | pg_typeof 
------------------------------------------------------+-----------
 {0.24600000000000000000,NULL,0.46800000000000000000} | numeric[]
(1 row)

-- numeric div to array
SELECT r, pg_typeof(r) FROM (SELECT vec_div(nums, nums) FROM measurements WHERE sensor_id IN (4)) r(r);
                          r                           | pg_typeof 
------------------------------------------------------+-----------
 {1.00000000000000000000,NULL,1.00000000000000000000} | numeric[]
(1 row)

-- numeric div to null scalar lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::numeric, nums) FROM measurements WHERE sensor_id IN (4)) r(r);
        r         | pg_typeof 
------------------+-----------
 {NULL,NULL,NULL} | numeric[]
(1 row)

-- numeric div to null scalar rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(nums, NULL::numeric) FROM measurements WHERE sensor_id IN (4)) r(r);
        r         | pg_typeof 
------------------+-----------
 {NULL,NULL,NULL} | numeric[]
(1 row)

-- numeric div scalar to null array lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(5::numeric, NULL::numeric[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | numeric[]
(1 row)

-- numeric div scalar to null array rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::numeric[], 5::numeric) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | numeric[]
(1 row)

-- numeric div to null array lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(nums, NULL::numeric[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | numeric[]
(1 row)

-- numeric div to null array rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::numeric[], nums) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | numeric[]
(1 row)

-- null numeric div to null scalar lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::numeric, NULL::numeric[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | numeric[]
(1 row)

-- null numeric div to null scalar rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::numeric[], NULL::numeric) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | numeric[]
(1 row)

-- null numeric div to null array
SELECT r, pg_typeof(r) FROM (SELECT vec_div(NULL::numeric[], NULL::numeric[]) FROM measurements WHERE sensor_id IN (4)) r(r);
 r | pg_typeof 
---+-----------
   | numeric[]
(1 row)

-- numeric div to scalar 0 lhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(0::numeric, nums) FROM measurements WHERE sensor_id IN (4)) r(r);
                          r                           | pg_typeof 
------------------------------------------------------+-----------
 {0.00000000000000000000,NULL,0.00000000000000000000} | numeric[]
(1 row)

-- numeric div to scalar 0 rhs
SELECT r, pg_typeof(r) FROM (SELECT vec_div(nums, 0::numeric) FROM measurements WHERE sensor_id IN (4)) r(r);
       r        | pg_typeof 
----------------+-----------
 {NaN,NULL,NaN} | numeric[]
(1 row)

-- numeric div to array 0
SELECT r, pg_typeof(r) FROM (SELECT vec_div(nums, ARRAY[0,0,1]::numeric[]) FROM measurements WHERE sensor_id IN (4)) r(r);
               r               | pg_typeof 
-------------------------------+-----------
 {NaN,NULL,2.3400000000000000} | numeric[]
(1 row)