The two Error Tables are populated with rows for different reasons and those error tables are controlled and populated by the Teradata DBS. Not by the client.
Error Table 1 contains rows that had errors during the Acquisition Phase (the actual sending of data to the DBS). Those errors are usually due to data conversion errors.
Error Table 2 contains "UV" (uniqueness violation) errors. Those errors are detected during the Application Phase (also known as Phase 2).
Duplicate rows are silently discarded by the DBS and do not factor into any of these number. However a row in the second error table usually means a row had a uniqueness violation of the UPI.
FastLoad takes the number of rows read in, subtracts the number of rows in the 2 error tables, then subtracts the number of rows actually applied to target table. Anything left over means there were rows that did not end up in the error tables or the target table and therefore must have been silently discarded by the DBS, and the reason for that must have been because they were duplicates.
Error Table 2 shows "30", not "15". There were 30 rows that violated the uniqueness condition. There are no "pairs" in the equation.