def print_detailed_segment_results(detailed_segment_results):
    """
    Print segment length for each detailed segment category. Can be used with normed values as well.

    Arguments:
        detailed_segment_results (dictionary): as provided by the 3rd or 4th item in the results of eval_segments function

    Example:
        >>> print_detailed_segment_results(test_r)
        Detailed segment results (length or frame count):
            true positive segments:		40
            true negative segments:		91
            insertion segments:			10
            deletion segments:			10
            fragmenting segments:		7
            merge segments:			15
            start overfill segments:		10
            end overfill segments:		28
            start underfill segments:		13
            end underfill segments:		15
    """
    print('Detailed segment results (length or frame count):')
    print('\ttrue positive segments:\t\t' + str(detailed_segment_results['TP'])
        )
    print('\ttrue negative segments:\t\t' + str(detailed_segment_results['TN'])
        )
    print('\tinsertion segments:\t\t\t' + str(detailed_segment_results['I']))
    print('\tdeletion segments:\t\t\t' + str(detailed_segment_results['D']))
    print('\tfragmenting segments:\t\t' + str(detailed_segment_results['F']))
    print('\tmerge segments:\t\t\t\t' + str(detailed_segment_results['M']))
    print('\tstart overfill segments:\t' + str(detailed_segment_results['Os']))
    print('\tend overfill segments:\t\t' + str(detailed_segment_results['Oe']))
    print('\tstart underfill segments:\t' + str(detailed_segment_results['Us'])
        )
    print('\tend underfill segments:\t\t' + str(detailed_segment_results['Ue'])
        )
