@night_fury
i don't know about that algorithm but i will give how to check is it lossy or loss less?
First take Table1 ===> R1(A,B,C)
list out all dependencies under this table by original FD set ==> { AB -> C }
Key of this table = AB
Table2 ===> R2(B,C,D)
list out all dependencies under this table by original FD set ==> { C -> D }
Key of this Table2 = BC
Table3 ===> R3(C,D,E)
list out all dependencies under this table by original FD set ==> { C -> D }
Key of this Table3 = CE
take the intersection of attributes of Table1 and Table2 ==> BC, it is a key(super key or primary key) in R2, therefore you can combine Table1 and Table2 . let denote it as T12. it's key is AB
take the intersection of attributes of T12 and Table3 ==> CD, it is neither a key in T12 nor R13 ==> you can combine Table12 and Table3 . ===> it is lossy.