I still think this script approach is very flawed as any script will probably give wrong suggestions in every encounter with any kind of more complex mechanic than a target dummy. But I also haven't found a better way to visualise the cat rotation ingame.
If anyone is interested, i also found an alternative to ovale which I might look into, however my knowledge about lua is pretty much nonexistent so it might not lead anywhere at all or anytime soon and there is no feral module, yet.
Faceroller : WoWInterface Downloads : Beta-version AddOns
So unless I get some useful criticism on the performance of the script this is probably the last update for my ovale script as I can't think of any more improvements myself.
I had to remove the "only show in catform" condition as it causes problems with deathbringer's will. There is a problem with rake and shred showing rapidly nearly at the same time but I don't know how to fix this without changing the rotation in a wrong way. You will want to shred in this case so you don't overwrite rake on accident as there is a bug with refreshing rake that does bad things to your dps.

#Project: Visualising the optimal cat rotation ingame
#Script Version: 2.6
Define(FFF 16857)
Define(FF 770)
Define(RIP 1079)
Define(MANGLE 33876)
Define(SHRED 5221)
Define(TIGER 5217)
Define(RAKE 59886)
Define(ROAR 52610)
Define(BITE 22568)
Define(BERSERK 50334)
Define(OMEN 16870)
Define(TRAUMA 46857)
Define(MANGLEB 33878)
Define(GRASP 16689)
SpellInfo(RIP resetcounter=ripshreds)
SpellInfo(SHRED inccounter=ripshreds)
AddIcon help=main
{
if ComboPoints(more 0) and BuffExpires(ROAR 1) Spell(ROAR)
if ComboPoints(more 2) and BuffExpires(ROAR 8) and TargetDebuffPresent(RIP mine=1) and at most 3s from TargetDebuffExpires(Rip mine=1) until BuffExpires(ROAR) and TargetDeadIn(more 8) Spell(ROAR)
if ComboPoints(more 3) and TargetDeadIn(less 2) Spell(BITE)
if ComboPoints(more 4)
{
if TargetDeadIn(less 6) Spell(BITE)
unless TargetDebuffPresent(RIP mine=1) Spell(RIP)
unless TargetDebuffExpires(RIP 8 mine=1) or BuffExpires(ROAR 11) Spell(BITE)
}
if TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and Counter(ripshreds less 3) Spell(SHRED)
unless {TargetDebuffPresent(MANGLE) or TargetDebuffPresent(MANGLEB) or TargetDebuffPresent(TRAUMA)} Spell (MANGLE)
unless TargetDebuffPresent(RAKE mine=1) or TargetDeadIn(less 10) Spell(RAKE)
if {TargetDebuffPresent(RIP 0.8 mine=1) or ComboPoints(less 5)} and {TargetDebuffPresent(MANGLE 0.5) or TargetDebuffPresent(MANGLEB 0.5) or TargetDebuffPresent(TRAUMA 0.5)}
{
if TargetDebuffPresent(Rake 0.4 mine=1) and {Mana(more 79) or BuffPresent(OMEN) or {TargetDebuffExpires(RIP 3 mine=1) and ComboPoints(less 5)} or BuffPresent(BERSERK) or 2s before Spell(TIGER) or {ComboPoints(less 1) and BuffExpires(ROAR 2)}} Spell(SHRED)
}
if TargetDeadIn(less 10) Spell(SHRED)
unless {TargetDebuffPresent(FFF) or TargetDebuffPresent(FF)} Spell(FFF priority=2)
if Mana(less 30) Spell(GRASP priority=1)
}
AddIcon help=cd size=small nocd=5
{
if Mana(less 30) Spell(TIGER)
}
AddIcon help=cd size=small nocd=10
{
if Mana(more 80) and Mana(less 90) Spell(BERSERK)
}