The following modification is necessary for this:
In addition to the product_id, registered_from is primary key. Registered_to, like all other dependent attributes, must be identical row by row if the rows are to be merged.
The condition for the correct functioning of the algorithm is the uniqueness of the temporal key product_id + registered_from + valid_from.
The algorithm is applied a second time to the compressed result with product_id + valid_from as primary key.
In the two-dimensional, temporal normalization is not a unique mapping. It can either be compressed first along the registered time or first along the valid time and then into the respective other time direction. The results can be different.