Requirement writing and testing of complex functions challenging. Reluctance to decompose into smaller functions to reduce complexity because of performance risk criteria.
Utilized Karnaugh maps to create accurate and comprehensive sets of requirements. Since large maps are too cumbersome they often needed to be split into smaller ones. Also some inputs can be complicated e.g. strings requiring BNF to define. These issues compel the writer to conceptualize the operation of the function better and occasionally uncovered unexpected behaviors and bugs.