prime/asm/Kyoto/Animation/CTimeScaleFunctions.s

465 lines
22 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global lbl_803ED4D0
lbl_803ED4D0:
# ROM: 0x3EA4D0
.4byte 0
.4byte 0
.4byte GetType__25CLinearAnimationTimeScaleCFv
.4byte VTimeScaleIntegral__25CLinearAnimationTimeScaleCFRCfRCf
.4byte VFindUpperLimit__25CLinearAnimationTimeScaleCFRCfRCf
.4byte VClone__25CLinearAnimationTimeScaleCFv
.4byte VGetFunctionMirrored__25CLinearAnimationTimeScaleCFRCf
.global lbl_803ED4EC
lbl_803ED4EC:
# ROM: 0x3EA4EC
.4byte 0
.4byte 0
.4byte GetType__27CConstantAnimationTimeScaleCFv
.4byte VTimeScaleIntegral__27CConstantAnimationTimeScaleCFRCfRCf
.4byte VFindUpperLimit__27CConstantAnimationTimeScaleCFRCfRCf
.4byte VClone__27CConstantAnimationTimeScaleCFv
.4byte VGetFunctionMirrored__27CConstantAnimationTimeScaleCFRCf
.section .text, "ax"
.global GetType__25CLinearAnimationTimeScaleCFv
GetType__25CLinearAnimationTimeScaleCFv:
/* 802FD6DC 002FA63C 38 60 00 01 */ li r3, 1
/* 802FD6E0 002FA640 4E 80 00 20 */ blr
.global VGetFunctionMirrored__25CLinearAnimationTimeScaleCFRCf
VGetFunctionMirrored__25CLinearAnimationTimeScaleCFRCf:
/* 802FD6E4 002FA644 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 802FD6E8 002FA648 7C 08 02 A6 */ mflr r0
/* 802FD6EC 002FA64C 90 01 00 94 */ stw r0, 0x94(r1)
/* 802FD6F0 002FA650 DB E1 00 80 */ stfd f31, 0x80(r1)
/* 802FD6F4 002FA654 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 802FD6F8 002FA658 DB C1 00 70 */ stfd f30, 0x70(r1)
/* 802FD6FC 002FA65C F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0
/* 802FD700 002FA660 DB A1 00 60 */ stfd f29, 0x60(r1)
/* 802FD704 002FA664 F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0
/* 802FD708 002FA668 DB 81 00 50 */ stfd f28, 0x50(r1)
/* 802FD70C 002FA66C F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0
/* 802FD710 002FA670 DB 61 00 40 */ stfd f27, 0x40(r1)
/* 802FD714 002FA674 F3 61 00 48 */ psq_st f27, 72(r1), 0, qr0
/* 802FD718 002FA678 DB 41 00 30 */ stfd f26, 0x30(r1)
/* 802FD71C 002FA67C F3 41 00 38 */ psq_st f26, 56(r1), 0, qr0
/* 802FD720 002FA680 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802FD724 002FA684 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802FD728 002FA688 C0 05 00 00 */ lfs f0, 0(r5)
/* 802FD72C 002FA68C 3C A0 80 3D */ lis r5, lbl_803D6E50@ha
/* 802FD730 002FA690 C0 22 C7 18 */ lfs f1, lbl_805AE438@sda21(r2)
/* 802FD734 002FA694 7C 7E 1B 78 */ mr r30, r3
/* 802FD738 002FA698 C0 84 00 04 */ lfs f4, 4(r4)
/* 802FD73C 002FA69C 38 05 6E 50 */ addi r0, r5, lbl_803D6E50@l
/* 802FD740 002FA6A0 EC 61 00 32 */ fmuls f3, f1, f0
/* 802FD744 002FA6A4 C0 44 00 08 */ lfs f2, 8(r4)
/* 802FD748 002FA6A8 C0 24 00 10 */ lfs f1, 0x10(r4)
/* 802FD74C 002FA6AC FF 80 20 50 */ fneg f28, f4
/* 802FD750 002FA6B0 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 802FD754 002FA6B4 7C 04 03 78 */ mr r4, r0
/* 802FD758 002FA6B8 EF 64 10 FC */ fnmsubs f27, f4, f3, f2
/* 802FD75C 002FA6BC 38 60 00 14 */ li r3, 0x14
/* 802FD760 002FA6C0 EF A3 08 28 */ fsubs f29, f3, f1
/* 802FD764 002FA6C4 38 A0 00 00 */ li r5, 0
/* 802FD768 002FA6C8 EF 43 00 28 */ fsubs f26, f3, f0
/* 802FD76C 002FA6CC 48 01 81 01 */ bl __nw__FUlPCcPCc
/* 802FD770 002FA6D0 7C 7F 1B 79 */ or. r31, r3, r3
/* 802FD774 002FA6D4 41 82 00 90 */ beq lbl_802FD804
/* 802FD778 002FA6D8 FC 20 D0 90 */ fmr f1, f26
/* 802FD77C 002FA6DC 38 61 00 20 */ addi r3, r1, 0x20
/* 802FD780 002FA6E0 48 04 B6 6D */ bl __ct__13CCharAnimTimeFf
/* 802FD784 002FA6E4 FC 20 E8 90 */ fmr f1, f29
/* 802FD788 002FA6E8 38 61 00 18 */ addi r3, r1, 0x18
/* 802FD78C 002FA6EC EF FC DF 7A */ fmadds f31, f28, f29, f27
/* 802FD790 002FA6F0 48 04 B6 5D */ bl __ct__13CCharAnimTimeFf
/* 802FD794 002FA6F4 3C 60 80 3F */ lis r3, lbl_803ECD10@ha
/* 802FD798 002FA6F8 3C 80 80 3F */ lis r4, lbl_803ED4D0@ha
/* 802FD79C 002FA6FC 38 03 CD 10 */ addi r0, r3, lbl_803ECD10@l
/* 802FD7A0 002FA700 38 61 00 10 */ addi r3, r1, 0x10
/* 802FD7A4 002FA704 90 1F 00 00 */ stw r0, 0(r31)
/* 802FD7A8 002FA708 38 04 D4 D0 */ addi r0, r4, lbl_803ED4D0@l
/* 802FD7AC 002FA70C 38 81 00 20 */ addi r4, r1, 0x20
/* 802FD7B0 002FA710 38 A1 00 18 */ addi r5, r1, 0x18
/* 802FD7B4 002FA714 90 1F 00 00 */ stw r0, 0(r31)
/* 802FD7B8 002FA718 C3 C1 00 20 */ lfs f30, 0x20(r1)
/* 802FD7BC 002FA71C C3 A1 00 18 */ lfs f29, 0x18(r1)
/* 802FD7C0 002FA720 48 04 AF A5 */ bl __mi__13CCharAnimTimeCFRC13CCharAnimTime
/* 802FD7C4 002FA724 EC 5C DE BA */ fmadds f2, f28, f26, f27
/* 802FD7C8 002FA728 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 802FD7CC 002FA72C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 802FD7D0 002FA730 38 61 00 08 */ addi r3, r1, 8
/* 802FD7D4 002FA734 38 81 00 20 */ addi r4, r1, 0x20
/* 802FD7D8 002FA738 38 A1 00 18 */ addi r5, r1, 0x18
/* 802FD7DC 002FA73C EF 42 F8 28 */ fsubs f26, f2, f31
/* 802FD7E0 002FA740 EC 3A 08 24 */ fdivs f1, f26, f1
/* 802FD7E4 002FA744 EF E1 F8 3C */ fnmsubs f31, f1, f0, f31
/* 802FD7E8 002FA748 48 04 AF 7D */ bl __mi__13CCharAnimTimeCFRC13CCharAnimTime
/* 802FD7EC 002FA74C C0 01 00 08 */ lfs f0, 8(r1)
/* 802FD7F0 002FA750 EC 1A 00 24 */ fdivs f0, f26, f0
/* 802FD7F4 002FA754 D0 1F 00 04 */ stfs f0, 4(r31)
/* 802FD7F8 002FA758 D3 FF 00 08 */ stfs f31, 8(r31)
/* 802FD7FC 002FA75C D3 BF 00 0C */ stfs f29, 0xc(r31)
/* 802FD800 002FA760 D3 DF 00 10 */ stfs f30, 0x10(r31)
lbl_802FD804:
/* 802FD804 002FA764 7C 1F 00 D0 */ neg r0, r31
/* 802FD808 002FA768 7C 00 FB 78 */ or r0, r0, r31
/* 802FD80C 002FA76C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802FD810 002FA770 98 1E 00 00 */ stb r0, 0(r30)
/* 802FD814 002FA774 93 FE 00 04 */ stw r31, 4(r30)
/* 802FD818 002FA778 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 802FD81C 002FA77C CB E1 00 80 */ lfd f31, 0x80(r1)
/* 802FD820 002FA780 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0
/* 802FD824 002FA784 CB C1 00 70 */ lfd f30, 0x70(r1)
/* 802FD828 002FA788 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0
/* 802FD82C 002FA78C CB A1 00 60 */ lfd f29, 0x60(r1)
/* 802FD830 002FA790 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0
/* 802FD834 002FA794 CB 81 00 50 */ lfd f28, 0x50(r1)
/* 802FD838 002FA798 E3 61 00 48 */ psq_l f27, 72(r1), 0, qr0
/* 802FD83C 002FA79C CB 61 00 40 */ lfd f27, 0x40(r1)
/* 802FD840 002FA7A0 E3 41 00 38 */ psq_l f26, 56(r1), 0, qr0
/* 802FD844 002FA7A4 CB 41 00 30 */ lfd f26, 0x30(r1)
/* 802FD848 002FA7A8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802FD84C 002FA7AC 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802FD850 002FA7B0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802FD854 002FA7B4 7C 08 03 A6 */ mtlr r0
/* 802FD858 002FA7B8 38 21 00 90 */ addi r1, r1, 0x90
/* 802FD85C 002FA7BC 4E 80 00 20 */ blr
.global VClone__25CLinearAnimationTimeScaleCFv
VClone__25CLinearAnimationTimeScaleCFv:
/* 802FD860 002FA7C0 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 802FD864 002FA7C4 7C 08 02 A6 */ mflr r0
/* 802FD868 002FA7C8 90 01 00 94 */ stw r0, 0x94(r1)
/* 802FD86C 002FA7CC DB E1 00 80 */ stfd f31, 0x80(r1)
/* 802FD870 002FA7D0 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 802FD874 002FA7D4 DB C1 00 70 */ stfd f30, 0x70(r1)
/* 802FD878 002FA7D8 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0
/* 802FD87C 002FA7DC DB A1 00 60 */ stfd f29, 0x60(r1)
/* 802FD880 002FA7E0 F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0
/* 802FD884 002FA7E4 DB 81 00 50 */ stfd f28, 0x50(r1)
/* 802FD888 002FA7E8 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0
/* 802FD88C 002FA7EC DB 61 00 40 */ stfd f27, 0x40(r1)
/* 802FD890 002FA7F0 F3 61 00 48 */ psq_st f27, 72(r1), 0, qr0
/* 802FD894 002FA7F4 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 802FD898 002FA7F8 93 C1 00 38 */ stw r30, 0x38(r1)
/* 802FD89C 002FA7FC 93 A1 00 34 */ stw r29, 0x34(r1)
/* 802FD8A0 002FA800 3C A0 80 3D */ lis r5, lbl_803D6E50@ha
/* 802FD8A4 002FA804 7C 7D 1B 78 */ mr r29, r3
/* 802FD8A8 002FA808 38 05 6E 50 */ addi r0, r5, lbl_803D6E50@l
/* 802FD8AC 002FA80C 7C 9E 23 78 */ mr r30, r4
/* 802FD8B0 002FA810 7C 04 03 78 */ mr r4, r0
/* 802FD8B4 002FA814 38 60 00 14 */ li r3, 0x14
/* 802FD8B8 002FA818 38 A0 00 00 */ li r5, 0
/* 802FD8BC 002FA81C 48 01 7F B1 */ bl __nw__FUlPCcPCc
/* 802FD8C0 002FA820 7C 7F 1B 79 */ or. r31, r3, r3
/* 802FD8C4 002FA824 41 82 00 A0 */ beq lbl_802FD964
/* 802FD8C8 002FA828 C0 3E 00 10 */ lfs f1, 0x10(r30)
/* 802FD8CC 002FA82C 38 61 00 20 */ addi r3, r1, 0x20
/* 802FD8D0 002FA830 C0 5E 00 04 */ lfs f2, 4(r30)
/* 802FD8D4 002FA834 C0 1E 00 08 */ lfs f0, 8(r30)
/* 802FD8D8 002FA838 EF E2 00 7A */ fmadds f31, f2, f1, f0
/* 802FD8DC 002FA83C 48 04 B5 11 */ bl __ct__13CCharAnimTimeFf
/* 802FD8E0 002FA840 C0 3E 00 0C */ lfs f1, 0xc(r30)
/* 802FD8E4 002FA844 38 61 00 18 */ addi r3, r1, 0x18
/* 802FD8E8 002FA848 C0 5E 00 04 */ lfs f2, 4(r30)
/* 802FD8EC 002FA84C C0 1E 00 08 */ lfs f0, 8(r30)
/* 802FD8F0 002FA850 EF C2 00 7A */ fmadds f30, f2, f1, f0
/* 802FD8F4 002FA854 48 04 B4 F9 */ bl __ct__13CCharAnimTimeFf
/* 802FD8F8 002FA858 3C 60 80 3F */ lis r3, lbl_803ECD10@ha
/* 802FD8FC 002FA85C 3C 80 80 3F */ lis r4, lbl_803ED4D0@ha
/* 802FD900 002FA860 38 03 CD 10 */ addi r0, r3, lbl_803ECD10@l
/* 802FD904 002FA864 38 61 00 10 */ addi r3, r1, 0x10
/* 802FD908 002FA868 90 1F 00 00 */ stw r0, 0(r31)
/* 802FD90C 002FA86C 38 04 D4 D0 */ addi r0, r4, lbl_803ED4D0@l
/* 802FD910 002FA870 38 81 00 20 */ addi r4, r1, 0x20
/* 802FD914 002FA874 38 A1 00 18 */ addi r5, r1, 0x18
/* 802FD918 002FA878 90 1F 00 00 */ stw r0, 0(r31)
/* 802FD91C 002FA87C C3 A1 00 20 */ lfs f29, 0x20(r1)
/* 802FD920 002FA880 C3 81 00 18 */ lfs f28, 0x18(r1)
/* 802FD924 002FA884 48 04 AE 41 */ bl __mi__13CCharAnimTimeCFRC13CCharAnimTime
/* 802FD928 002FA888 EF 7F F0 28 */ fsubs f27, f31, f30
/* 802FD92C 002FA88C C0 21 00 10 */ lfs f1, 0x10(r1)
/* 802FD930 002FA890 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 802FD934 002FA894 38 61 00 08 */ addi r3, r1, 8
/* 802FD938 002FA898 38 81 00 20 */ addi r4, r1, 0x20
/* 802FD93C 002FA89C 38 A1 00 18 */ addi r5, r1, 0x18
/* 802FD940 002FA8A0 EC 3B 08 24 */ fdivs f1, f27, f1
/* 802FD944 002FA8A4 EF E1 F0 3C */ fnmsubs f31, f1, f0, f30
/* 802FD948 002FA8A8 48 04 AE 1D */ bl __mi__13CCharAnimTimeCFRC13CCharAnimTime
/* 802FD94C 002FA8AC C0 01 00 08 */ lfs f0, 8(r1)
/* 802FD950 002FA8B0 EC 1B 00 24 */ fdivs f0, f27, f0
/* 802FD954 002FA8B4 D0 1F 00 04 */ stfs f0, 4(r31)
/* 802FD958 002FA8B8 D3 FF 00 08 */ stfs f31, 8(r31)
/* 802FD95C 002FA8BC D3 9F 00 0C */ stfs f28, 0xc(r31)
/* 802FD960 002FA8C0 D3 BF 00 10 */ stfs f29, 0x10(r31)
lbl_802FD964:
/* 802FD964 002FA8C4 7C 1F 00 D0 */ neg r0, r31
/* 802FD968 002FA8C8 7C 00 FB 78 */ or r0, r0, r31
/* 802FD96C 002FA8CC 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802FD970 002FA8D0 98 1D 00 00 */ stb r0, 0(r29)
/* 802FD974 002FA8D4 93 FD 00 04 */ stw r31, 4(r29)
/* 802FD978 002FA8D8 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 802FD97C 002FA8DC CB E1 00 80 */ lfd f31, 0x80(r1)
/* 802FD980 002FA8E0 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0
/* 802FD984 002FA8E4 CB C1 00 70 */ lfd f30, 0x70(r1)
/* 802FD988 002FA8E8 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0
/* 802FD98C 002FA8EC CB A1 00 60 */ lfd f29, 0x60(r1)
/* 802FD990 002FA8F0 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0
/* 802FD994 002FA8F4 CB 81 00 50 */ lfd f28, 0x50(r1)
/* 802FD998 002FA8F8 E3 61 00 48 */ psq_l f27, 72(r1), 0, qr0
/* 802FD99C 002FA8FC CB 61 00 40 */ lfd f27, 0x40(r1)
/* 802FD9A0 002FA900 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 802FD9A4 002FA904 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 802FD9A8 002FA908 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802FD9AC 002FA90C 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 802FD9B0 002FA910 7C 08 03 A6 */ mtlr r0
/* 802FD9B4 002FA914 38 21 00 90 */ addi r1, r1, 0x90
/* 802FD9B8 002FA918 4E 80 00 20 */ blr
.global VFindUpperLimit__25CLinearAnimationTimeScaleCFRCfRCf
VFindUpperLimit__25CLinearAnimationTimeScaleCFRCfRCf:
/* 802FD9BC 002FA91C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802FD9C0 002FA920 7C 08 02 A6 */ mflr r0
/* 802FD9C4 002FA924 38 63 00 04 */ addi r3, r3, 4
/* 802FD9C8 002FA928 90 01 00 14 */ stw r0, 0x14(r1)
/* 802FD9CC 002FA92C 48 00 00 15 */ bl FindUpperLimitFromRoot__25CLinearAnimationTimeScaleFRCQ225CLinearAnimationTimeScale20CFunctionDescriptionRCfRCf
/* 802FD9D0 002FA930 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802FD9D4 002FA934 7C 08 03 A6 */ mtlr r0
/* 802FD9D8 002FA938 38 21 00 10 */ addi r1, r1, 0x10
/* 802FD9DC 002FA93C 4E 80 00 20 */ blr
.global FindUpperLimitFromRoot__25CLinearAnimationTimeScaleFRCQ225CLinearAnimationTimeScale20CFunctionDescriptionRCfRCf
FindUpperLimitFromRoot__25CLinearAnimationTimeScaleFRCQ225CLinearAnimationTimeScale20CFunctionDescriptionRCfRCf:
/* 802FD9E0 002FA940 C0 22 C7 1C */ lfs f1, lbl_805AE43C@sda21(r2)
/* 802FD9E4 002FA944 38 00 00 04 */ li r0, 4
/* 802FD9E8 002FA948 C0 03 00 00 */ lfs f0, 0(r3)
/* 802FD9EC 002FA94C 38 C0 00 00 */ li r6, 0
/* 802FD9F0 002FA950 C0 A4 00 00 */ lfs f5, 0(r4)
/* 802FD9F4 002FA954 EC E1 00 32 */ fmuls f7, f1, f0
/* 802FD9F8 002FA958 C1 03 00 04 */ lfs f8, 4(r3)
/* 802FD9FC 002FA95C C0 42 C7 18 */ lfs f2, lbl_805AE438@sda21(r2)
/* 802FDA00 002FA960 FC 20 28 90 */ fmr f1, f5
/* 802FDA04 002FA964 EC 68 01 72 */ fmuls f3, f8, f5
/* 802FDA08 002FA968 C8 02 C7 20 */ lfd f0, lbl_805AE440@sda21(r2)
/* 802FDA0C 002FA96C EC 87 01 72 */ fmuls f4, f7, f5
/* 802FDA10 002FA970 EC C2 01 F2 */ fmuls f6, f2, f7
/* 802FDA14 002FA974 ED 25 19 3A */ fmadds f9, f5, f4, f3
/* 802FDA18 002FA978 7C 09 03 A6 */ mtctr r0
lbl_802FDA1C:
/* 802FDA1C 002FA97C EC A7 00 72 */ fmuls f5, f7, f1
/* 802FDA20 002FA980 C0 85 00 00 */ lfs f4, 0(r5)
/* 802FDA24 002FA984 EC 68 00 72 */ fmuls f3, f8, f1
/* 802FDA28 002FA988 EC 46 40 7A */ fmadds f2, f6, f1, f8
/* 802FDA2C 002FA98C EC 61 19 7A */ fmadds f3, f1, f5, f3
/* 802FDA30 002FA990 EC 63 48 28 */ fsubs f3, f3, f9
/* 802FDA34 002FA994 EC 63 20 28 */ fsubs f3, f3, f4
/* 802FDA38 002FA998 EC 63 10 24 */ fdivs f3, f3, f2
/* 802FDA3C 002FA99C FC 40 1A 10 */ fabs f2, f3
/* 802FDA40 002FA9A0 EC 21 18 28 */ fsubs f1, f1, f3
/* 802FDA44 002FA9A4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802FDA48 002FA9A8 4D 80 00 20 */ bltlr
/* 802FDA4C 002FA9AC EC A7 00 72 */ fmuls f5, f7, f1
/* 802FDA50 002FA9B0 EC 68 00 72 */ fmuls f3, f8, f1
/* 802FDA54 002FA9B4 EC 46 40 7A */ fmadds f2, f6, f1, f8
/* 802FDA58 002FA9B8 EC 61 19 7A */ fmadds f3, f1, f5, f3
/* 802FDA5C 002FA9BC EC 63 48 28 */ fsubs f3, f3, f9
/* 802FDA60 002FA9C0 EC 63 20 28 */ fsubs f3, f3, f4
/* 802FDA64 002FA9C4 EC 63 10 24 */ fdivs f3, f3, f2
/* 802FDA68 002FA9C8 FC 40 1A 10 */ fabs f2, f3
/* 802FDA6C 002FA9CC EC 21 18 28 */ fsubs f1, f1, f3
/* 802FDA70 002FA9D0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802FDA74 002FA9D4 4D 80 00 20 */ bltlr
/* 802FDA78 002FA9D8 EC A7 00 72 */ fmuls f5, f7, f1
/* 802FDA7C 002FA9DC EC 68 00 72 */ fmuls f3, f8, f1
/* 802FDA80 002FA9E0 EC 46 40 7A */ fmadds f2, f6, f1, f8
/* 802FDA84 002FA9E4 EC 61 19 7A */ fmadds f3, f1, f5, f3
/* 802FDA88 002FA9E8 EC 63 48 28 */ fsubs f3, f3, f9
/* 802FDA8C 002FA9EC EC 63 20 28 */ fsubs f3, f3, f4
/* 802FDA90 002FA9F0 EC 63 10 24 */ fdivs f3, f3, f2
/* 802FDA94 002FA9F4 FC 40 1A 10 */ fabs f2, f3
/* 802FDA98 002FA9F8 EC 21 18 28 */ fsubs f1, f1, f3
/* 802FDA9C 002FA9FC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802FDAA0 002FAA00 4D 80 00 20 */ bltlr
/* 802FDAA4 002FAA04 EC A7 00 72 */ fmuls f5, f7, f1
/* 802FDAA8 002FAA08 EC 68 00 72 */ fmuls f3, f8, f1
/* 802FDAAC 002FAA0C EC 46 40 7A */ fmadds f2, f6, f1, f8
/* 802FDAB0 002FAA10 EC 61 19 7A */ fmadds f3, f1, f5, f3
/* 802FDAB4 002FAA14 EC 63 48 28 */ fsubs f3, f3, f9
/* 802FDAB8 002FAA18 EC 63 20 28 */ fsubs f3, f3, f4
/* 802FDABC 002FAA1C EC 63 10 24 */ fdivs f3, f3, f2
/* 802FDAC0 002FAA20 FC 40 1A 10 */ fabs f2, f3
/* 802FDAC4 002FAA24 EC 21 18 28 */ fsubs f1, f1, f3
/* 802FDAC8 002FAA28 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802FDACC 002FAA2C 4D 80 00 20 */ bltlr
/* 802FDAD0 002FAA30 EC A7 00 72 */ fmuls f5, f7, f1
/* 802FDAD4 002FAA34 EC 68 00 72 */ fmuls f3, f8, f1
/* 802FDAD8 002FAA38 EC 46 40 7A */ fmadds f2, f6, f1, f8
/* 802FDADC 002FAA3C EC 61 19 7A */ fmadds f3, f1, f5, f3
/* 802FDAE0 002FAA40 EC 63 48 28 */ fsubs f3, f3, f9
/* 802FDAE4 002FAA44 EC 63 20 28 */ fsubs f3, f3, f4
/* 802FDAE8 002FAA48 EC 63 10 24 */ fdivs f3, f3, f2
/* 802FDAEC 002FAA4C FC 40 1A 10 */ fabs f2, f3
/* 802FDAF0 002FAA50 EC 21 18 28 */ fsubs f1, f1, f3
/* 802FDAF4 002FAA54 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802FDAF8 002FAA58 4D 80 00 20 */ bltlr
/* 802FDAFC 002FAA5C 38 C6 00 04 */ addi r6, r6, 4
/* 802FDB00 002FAA60 42 00 FF 1C */ bdnz lbl_802FDA1C
/* 802FDB04 002FAA64 C0 22 C7 28 */ lfs f1, lbl_805AE448@sda21(r2)
/* 802FDB08 002FAA68 4E 80 00 20 */ blr
.global VTimeScaleIntegral__25CLinearAnimationTimeScaleCFRCfRCf
VTimeScaleIntegral__25CLinearAnimationTimeScaleCFRCfRCf:
/* 802FDB0C 002FAA6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802FDB10 002FAA70 7C 08 02 A6 */ mflr r0
/* 802FDB14 002FAA74 7C 86 23 78 */ mr r6, r4
/* 802FDB18 002FAA78 90 01 00 14 */ stw r0, 0x14(r1)
/* 802FDB1C 002FAA7C C0 24 00 00 */ lfs f1, 0(r4)
/* 802FDB20 002FAA80 C0 05 00 00 */ lfs f0, 0(r5)
/* 802FDB24 002FAA84 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802FDB28 002FAA88 4C 40 13 82 */ cror 2, 0, 2
/* 802FDB2C 002FAA8C 40 82 00 10 */ bne lbl_802FDB3C
/* 802FDB30 002FAA90 38 63 00 04 */ addi r3, r3, 4
/* 802FDB34 002FAA94 48 00 00 2D */ bl TimeScaleIntegralWithSortedLimits__25CLinearAnimationTimeScaleFRCQ225CLinearAnimationTimeScale20CFunctionDescriptionRCfRCf
/* 802FDB38 002FAA98 48 00 00 18 */ b lbl_802FDB50
lbl_802FDB3C:
/* 802FDB3C 002FAA9C 7C A4 2B 78 */ mr r4, r5
/* 802FDB40 002FAAA0 7C C5 33 78 */ mr r5, r6
/* 802FDB44 002FAAA4 38 63 00 04 */ addi r3, r3, 4
/* 802FDB48 002FAAA8 48 00 00 19 */ bl TimeScaleIntegralWithSortedLimits__25CLinearAnimationTimeScaleFRCQ225CLinearAnimationTimeScale20CFunctionDescriptionRCfRCf
/* 802FDB4C 002FAAAC FC 20 08 50 */ fneg f1, f1
lbl_802FDB50:
/* 802FDB50 002FAAB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802FDB54 002FAAB4 7C 08 03 A6 */ mtlr r0
/* 802FDB58 002FAAB8 38 21 00 10 */ addi r1, r1, 0x10
/* 802FDB5C 002FAABC 4E 80 00 20 */ blr
.global TimeScaleIntegralWithSortedLimits__25CLinearAnimationTimeScaleFRCQ225CLinearAnimationTimeScale20CFunctionDescriptionRCfRCf
TimeScaleIntegralWithSortedLimits__25CLinearAnimationTimeScaleFRCQ225CLinearAnimationTimeScale20CFunctionDescriptionRCfRCf:
/* 802FDB60 002FAAC0 C0 24 00 00 */ lfs f1, 0(r4)
/* 802FDB64 002FAAC4 C0 A5 00 00 */ lfs f5, 0(r5)
/* 802FDB68 002FAAC8 C0 03 00 00 */ lfs f0, 0(r3)
/* 802FDB6C 002FAACC C0 83 00 04 */ lfs f4, 4(r3)
/* 802FDB70 002FAAD0 EC 65 08 28 */ fsubs f3, f5, f1
/* 802FDB74 002FAAD4 C0 42 C7 1C */ lfs f2, lbl_805AE43C@sda21(r2)
/* 802FDB78 002FAAD8 EC 20 20 7A */ fmadds f1, f0, f1, f4
/* 802FDB7C 002FAADC EC 00 21 7A */ fmadds f0, f0, f5, f4
/* 802FDB80 002FAAE0 EC 01 00 2A */ fadds f0, f1, f0
/* 802FDB84 002FAAE4 EC 02 00 32 */ fmuls f0, f2, f0
/* 802FDB88 002FAAE8 EC 23 00 32 */ fmuls f1, f3, f0
/* 802FDB8C 002FAAEC 4E 80 00 20 */ blr
.global VGetFunctionMirrored__27CConstantAnimationTimeScaleCFRCf
VGetFunctionMirrored__27CConstantAnimationTimeScaleCFRCf:
/* 802FDB90 002FAAF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802FDB94 002FAAF4 7C 08 02 A6 */ mflr r0
/* 802FDB98 002FAAF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802FDB9C 002FAAFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802FDBA0 002FAB00 7C 7F 1B 78 */ mr r31, r3
/* 802FDBA4 002FAB04 4B FF 6B 15 */ bl Clone__26IVaryingAnimationTimeScaleCFv
/* 802FDBA8 002FAB08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802FDBAC 002FAB0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802FDBB0 002FAB10 7C 08 03 A6 */ mtlr r0
/* 802FDBB4 002FAB14 38 21 00 10 */ addi r1, r1, 0x10
/* 802FDBB8 002FAB18 4E 80 00 20 */ blr
.global VClone__27CConstantAnimationTimeScaleCFv
VClone__27CConstantAnimationTimeScaleCFv:
/* 802FDBBC 002FAB1C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802FDBC0 002FAB20 7C 08 02 A6 */ mflr r0
/* 802FDBC4 002FAB24 3C A0 80 3D */ lis r5, lbl_803D6E50@ha
/* 802FDBC8 002FAB28 90 01 00 14 */ stw r0, 0x14(r1)
/* 802FDBCC 002FAB2C 38 05 6E 50 */ addi r0, r5, lbl_803D6E50@l
/* 802FDBD0 002FAB30 38 A0 00 00 */ li r5, 0
/* 802FDBD4 002FAB34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802FDBD8 002FAB38 7C 9F 23 78 */ mr r31, r4
/* 802FDBDC 002FAB3C 7C 04 03 78 */ mr r4, r0
/* 802FDBE0 002FAB40 93 C1 00 08 */ stw r30, 8(r1)
/* 802FDBE4 002FAB44 7C 7E 1B 78 */ mr r30, r3
/* 802FDBE8 002FAB48 38 60 00 08 */ li r3, 8
/* 802FDBEC 002FAB4C 48 01 7C 81 */ bl __nw__FUlPCcPCc
/* 802FDBF0 002FAB50 28 03 00 00 */ cmplwi r3, 0
/* 802FDBF4 002FAB54 41 82 00 24 */ beq lbl_802FDC18
/* 802FDBF8 002FAB58 3C 80 80 3F */ lis r4, lbl_803ECD10@ha
/* 802FDBFC 002FAB5C C0 1F 00 04 */ lfs f0, 4(r31)
/* 802FDC00 002FAB60 38 04 CD 10 */ addi r0, r4, lbl_803ECD10@l
/* 802FDC04 002FAB64 3C 80 80 3F */ lis r4, lbl_803ED4EC@ha
/* 802FDC08 002FAB68 90 03 00 00 */ stw r0, 0(r3)
/* 802FDC0C 002FAB6C 38 04 D4 EC */ addi r0, r4, lbl_803ED4EC@l
/* 802FDC10 002FAB70 90 03 00 00 */ stw r0, 0(r3)
/* 802FDC14 002FAB74 D0 03 00 04 */ stfs f0, 4(r3)
lbl_802FDC18:
/* 802FDC18 002FAB78 7C 03 00 D0 */ neg r0, r3
/* 802FDC1C 002FAB7C 7C 00 1B 78 */ or r0, r0, r3
/* 802FDC20 002FAB80 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802FDC24 002FAB84 98 1E 00 00 */ stb r0, 0(r30)
/* 802FDC28 002FAB88 90 7E 00 04 */ stw r3, 4(r30)
/* 802FDC2C 002FAB8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802FDC30 002FAB90 83 C1 00 08 */ lwz r30, 8(r1)
/* 802FDC34 002FAB94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802FDC38 002FAB98 7C 08 03 A6 */ mtlr r0
/* 802FDC3C 002FAB9C 38 21 00 10 */ addi r1, r1, 0x10
/* 802FDC40 002FABA0 4E 80 00 20 */ blr
.global VFindUpperLimit__27CConstantAnimationTimeScaleCFRCfRCf
VFindUpperLimit__27CConstantAnimationTimeScaleCFRCfRCf:
/* 802FDC44 002FABA4 C0 25 00 00 */ lfs f1, 0(r5)
/* 802FDC48 002FABA8 C0 03 00 04 */ lfs f0, 4(r3)
/* 802FDC4C 002FABAC C0 44 00 00 */ lfs f2, 0(r4)
/* 802FDC50 002FABB0 EC 01 00 24 */ fdivs f0, f1, f0
/* 802FDC54 002FABB4 EC 22 00 2A */ fadds f1, f2, f0
/* 802FDC58 002FABB8 4E 80 00 20 */ blr
.global VTimeScaleIntegral__27CConstantAnimationTimeScaleCFRCfRCf
VTimeScaleIntegral__27CConstantAnimationTimeScaleCFRCfRCf:
/* 802FDC5C 002FABBC C0 25 00 00 */ lfs f1, 0(r5)
/* 802FDC60 002FABC0 C0 04 00 00 */ lfs f0, 0(r4)
/* 802FDC64 002FABC4 C0 43 00 04 */ lfs f2, 4(r3)
/* 802FDC68 002FABC8 EC 01 00 28 */ fsubs f0, f1, f0
/* 802FDC6C 002FABCC EC 22 00 32 */ fmuls f1, f2, f0
/* 802FDC70 002FABD0 4E 80 00 20 */ blr
.global GetType__27CConstantAnimationTimeScaleCFv
GetType__27CConstantAnimationTimeScaleCFv:
/* 802FDC74 002FABD4 38 60 00 00 */ li r3, 0
/* 802FDC78 002FABD8 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AE438
lbl_805AE438:
# ROM: 0x3FACD8
.float 2.0
.global lbl_805AE43C
lbl_805AE43C:
# ROM: 0x3FACDC
.float 0.5
.global lbl_805AE440
lbl_805AE440:
# ROM: 0x3FACE0
.double 9.999999747378752E-6
.global lbl_805AE448
lbl_805AE448:
# ROM: 0x3FACE8
.float -1.0
.4byte 0
.section .rodata
.balign 8
.global lbl_803D6E50
lbl_803D6E50:
# ROM: 0x3D3E50
.asciz "??(??)"
.balign 4