Numbers match with 50% penalty but not with missing 1.88 multiplier.
Edit:
Trifles numbers:
1511: 1528-1574 heal, 487 health per 3 secs for 15 secs
1676: 1598-1650 heal, 521 health per 3 secs for 15 secs
1820: 1645-1696 heal, 552 health per 3 secs for 15 secs
Direct = [base value + (cast time /3.5) * 1.88 * 0.5 *spell power] * talents * buffs.
Hot = [base value + (hot time / 15)* 1.88 * 0.5 * spell power] * talents * buffs.
Direct with 1511 spellpower = [795 + (1.5/3.5) * 1.88 * 0.5 * 1511] * 1.1 = 1544
Direct with 1676 spellpower = [795 + (1.5/3.5) * 1.88 * 0.5 * 1676] * 1.1 = 1617
Direct with 1820 spellpower = [795 + (1.5/3.5) * 1.88 * 0.5 * 1820] * 1.1 = 1681
These match with Trifles number ranges.
Hot with 1511 spellpower = [795 + (15 / 15)* 1.88 * 0.5 * 1511] * 1.1 = 2437 or 487 per tick.
Hot with 1676 spellpower = [795 + (15 / 15)* 1.88 * 0.5 * 1676] * 1.1 = 2607 or 521 per tick.
Hot with 1820 spellpower = [759 + (15 / 15)* 1.88 * 0.5 * 1820] * 1.1 = 2756 or 551 per tick.
These match with Trifles numbers perfectly.
So we know scaling formula but we don't know why healing spells get this penalty.