papermario/ver/jp/asm/nonmatchings/AD70/func_8003018C.s
Ethan Roseman 3315d6010f
Splat refactor (#257)
* all non-world rodata migrated

* data disasm

* kinda working

* updated yaml

* bloop

* linker header

* configure 2.0

* bin

* mass rename to remove code_

* pause rename

* battle partner stuff

* whew

* more renames

* more renames

* more renaming

* it builds!

* updates

* remove main prefix

* one more thing

* crc, yay0

* .data, .rodata, .bss

* img

* dead_atan2

* it buildsgit add -A

* split battle/partner/6FAD10

* rm &s on sleepy_sheep syms

* sha1sum ninja rule description

* OK but commented out PaperMarioMapFS and PaperMarioNpcSprites

* uncomment

* fix mapfs

* match func_8003CFB4

* .

* clean up and name npc_iter_no_op

* npc.c

* enable cc warnings

* name npc_find_near

* use singular options.asset_path

* smores

* cc_dsl only when needed

* kinda fix configure for splat refactor2

* ok!

* new msg format

* remove old msg format docs

* slight bug fixes, splat adjustment

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "cfc140bb76"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "cfc140bb76"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* git subrepo pull (merge) --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "85349befcd"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "85349befcd"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Update symbol addrs

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "a44631e194"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "a44631e194"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

Co-authored-by: Alex Bates <hi@imalex.xyz>
2021-04-13 16:47:52 +09:00

1049 lines
50 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8003018C
/* B58C 8003018C 27BDFF80 */ addiu $sp, $sp, -0x80
/* B590 80030190 AFB20030 */ sw $s2, 0x30($sp)
/* B594 80030194 00A0902D */ daddu $s2, $a1, $zero
/* B598 80030198 AFB40038 */ sw $s4, 0x38($sp)
/* B59C 8003019C 00C0A02D */ daddu $s4, $a2, $zero
/* B5A0 800301A0 AFB30034 */ sw $s3, 0x34($sp)
/* B5A4 800301A4 00E0982D */ daddu $s3, $a3, $zero
/* B5A8 800301A8 AFB1002C */ sw $s1, 0x2c($sp)
/* B5AC 800301AC AFBF0048 */ sw $ra, 0x48($sp)
/* B5B0 800301B0 AFB70044 */ sw $s7, 0x44($sp)
/* B5B4 800301B4 AFB60040 */ sw $s6, 0x40($sp)
/* B5B8 800301B8 AFB5003C */ sw $s5, 0x3c($sp)
/* B5BC 800301BC AFB00028 */ sw $s0, 0x28($sp)
/* B5C0 800301C0 F7BE0078 */ sdc1 $f30, 0x78($sp)
/* B5C4 800301C4 F7BC0070 */ sdc1 $f28, 0x70($sp)
/* B5C8 800301C8 F7BA0068 */ sdc1 $f26, 0x68($sp)
/* B5CC 800301CC F7B80060 */ sdc1 $f24, 0x60($sp)
/* B5D0 800301D0 F7B60058 */ sdc1 $f22, 0x58($sp)
/* B5D4 800301D4 F7B40050 */ sdc1 $f20, 0x50($sp)
/* B5D8 800301D8 8E900000 */ lw $s0, ($s4)
/* B5DC 800301DC C7B80094 */ lwc1 $f24, 0x94($sp)
/* B5E0 800301E0 C7BE0098 */ lwc1 $f30, 0x98($sp)
/* B5E4 800301E4 C7BA009C */ lwc1 $f26, 0x9c($sp)
/* B5E8 800301E8 8FB500AC */ lw $s5, 0xac($sp)
/* B5EC 800301EC 8FB600B0 */ lw $s6, 0xb0($sp)
/* B5F0 800301F0 8FB700B4 */ lw $s7, 0xb4($sp)
/* B5F4 800301F4 26020002 */ addiu $v0, $s0, 2
/* B5F8 800301F8 2C420002 */ sltiu $v0, $v0, 2
/* B5FC 800301FC 144000C4 */ bnez $v0, .L80030510
/* B600 80030200 0240882D */ daddu $s1, $s2, $zero
/* B604 80030204 16000005 */ bnez $s0, .L8003021C
/* B608 80030208 00000000 */ nop
/* B60C 8003020C E6580010 */ swc1 $f24, 0x10($s2)
/* B610 80030210 E65E0014 */ swc1 $f30, 0x14($s2)
/* B614 80030214 0800C144 */ j .L80030510
/* B618 80030218 E65A0018 */ swc1 $f26, 0x18($s2)
.L8003021C:
/* B61C 8003021C 8E030000 */ lw $v1, ($s0)
/* B620 80030220 2C620007 */ sltiu $v0, $v1, 7
/* B624 80030224 104000BA */ beqz $v0, .L80030510
/* B628 80030228 00031080 */ sll $v0, $v1, 2
/* B62C 8003022C 3C01800A */ lui $at, %hi(D_800981F0)
/* B630 80030230 00220821 */ addu $at, $at, $v0
/* B634 80030234 8C2281F0 */ lw $v0, %lo(D_800981F0)($at)
/* B638 80030238 00400008 */ jr $v0
/* B63C 8003023C 00000000 */ nop
/* B640 80030240 8E020028 */ lw $v0, 0x28($s0)
/* B644 80030244 504000B0 */ beql $v0, $zero, .L80030508
/* B648 80030248 E6380010 */ swc1 $f24, 0x10($s1)
/* B64C 8003024C C60A0014 */ lwc1 $f10, 0x14($s0)
/* B650 80030250 C60C0020 */ lwc1 $f12, 0x20($s0)
/* B654 80030254 460C5281 */ sub.s $f10, $f10, $f12
/* B658 80030258 C6000018 */ lwc1 $f0, 0x18($s0)
/* B65C 8003025C 46005287 */ neg.s $f10, $f10
/* B660 80030260 46005280 */ add.s $f10, $f10, $f0
/* B664 80030264 460A0201 */ sub.s $f8, $f0, $f10
/* B668 80030268 46084102 */ mul.s $f4, $f8, $f8
/* B66C 8003026C 00000000 */ nop
/* B670 80030270 C606000C */ lwc1 $f6, 0xc($s0)
/* B674 80030274 46003181 */ sub.s $f6, $f6, $f0
/* B678 80030278 460C3180 */ add.s $f6, $f6, $f12
/* B67C 8003027C 46066301 */ sub.s $f12, $f12, $f6
/* B680 80030280 460C6382 */ mul.s $f14, $f12, $f12
/* B684 80030284 00000000 */ nop
/* B688 80030288 460AC081 */ sub.s $f2, $f24, $f10
/* B68C 8003028C 46081082 */ mul.s $f2, $f2, $f8
/* B690 80030290 00000000 */ nop
/* B694 80030294 4606D001 */ sub.s $f0, $f26, $f6
/* B698 80030298 460C0002 */ mul.s $f0, $f0, $f12
/* B69C 8003029C 00000000 */ nop
/* B6A0 800302A0 460E2100 */ add.s $f4, $f4, $f14
/* B6A4 800302A4 46001080 */ add.s $f2, $f2, $f0
/* B6A8 800302A8 46041103 */ div.s $f4, $f2, $f4
/* B6AC 800302AC 46082202 */ mul.s $f8, $f4, $f8
/* B6B0 800302B0 00000000 */ nop
/* B6B4 800302B4 460C2102 */ mul.s $f4, $f4, $f12
/* B6B8 800302B8 00000000 */ nop
/* B6BC 800302BC 460A4200 */ add.s $f8, $f8, $f10
/* B6C0 800302C0 46062100 */ add.s $f4, $f4, $f6
/* B6C4 800302C4 E63E0014 */ swc1 $f30, 0x14($s1)
/* B6C8 800302C8 E6280010 */ swc1 $f8, 0x10($s1)
/* B6CC 800302CC 0800C144 */ j .L80030510
/* B6D0 800302D0 E6240018 */ swc1 $f4, 0x18($s1)
/* B6D4 800302D4 C60E000C */ lwc1 $f14, 0xc($s0)
/* B6D8 800302D8 C61C0018 */ lwc1 $f28, 0x18($s0)
/* B6DC 800302DC 460EE201 */ sub.s $f8, $f28, $f14
/* B6E0 800302E0 46084502 */ mul.s $f20, $f8, $f8
/* B6E4 800302E4 00000000 */ nop
/* B6E8 800302E8 460EC081 */ sub.s $f2, $f24, $f14
/* B6EC 800302EC 46081082 */ mul.s $f2, $f2, $f8
/* B6F0 800302F0 00000000 */ nop
/* B6F4 800302F4 E7BC0010 */ swc1 $f28, 0x10($sp)
/* B6F8 800302F8 C60C0014 */ lwc1 $f12, 0x14($s0)
/* B6FC 800302FC C61C0020 */ lwc1 $f28, 0x20($s0)
/* B700 80030300 460CE181 */ sub.s $f6, $f28, $f12
/* B704 80030304 46063482 */ mul.s $f18, $f6, $f6
/* B708 80030308 00000000 */ nop
/* B70C 8003030C 460CD001 */ sub.s $f0, $f26, $f12
/* B710 80030310 46060002 */ mul.s $f0, $f0, $f6
/* B714 80030314 00000000 */ nop
/* B718 80030318 4612A100 */ add.s $f4, $f20, $f18
/* B71C 8003031C 46001080 */ add.s $f2, $f2, $f0
/* B720 80030320 46041103 */ div.s $f4, $f2, $f4
/* B724 80030324 46082002 */ mul.s $f0, $f4, $f8
/* B728 80030328 00000000 */ nop
/* B72C 8003032C 46062102 */ mul.s $f4, $f4, $f6
/* B730 80030330 00000000 */ nop
/* B734 80030334 460E0400 */ add.s $f16, $f0, $f14
/* B738 80030338 46007586 */ mov.s $f22, $f14
/* B73C 8003033C 46004386 */ mov.s $f14, $f8
/* B740 80030340 46168201 */ sub.s $f8, $f16, $f22
/* B744 80030344 46087082 */ mul.s $f2, $f14, $f8
/* B748 80030348 00000000 */ nop
/* B74C 8003034C 460C2280 */ add.s $f10, $f4, $f12
/* B750 80030350 46006106 */ mov.s $f4, $f12
/* B754 80030354 46003306 */ mov.s $f12, $f6
/* B758 80030358 46045181 */ sub.s $f6, $f10, $f4
/* B75C 8003035C 46066002 */ mul.s $f0, $f12, $f6
/* B760 80030360 00000000 */ nop
/* B764 80030364 4610C501 */ sub.s $f20, $f24, $f16
/* B768 80030368 460AD481 */ sub.s $f18, $f26, $f10
/* B76C 8003036C 46001080 */ add.s $f2, $f2, $f0
/* B770 80030370 44800000 */ mtc1 $zero, $f0
/* B774 80030374 00000000 */ nop
/* B778 80030378 4600103C */ c.lt.s $f2, $f0
/* B77C 8003037C 00000000 */ nop
/* B780 80030380 45000004 */ bc1f .L80030394
/* B784 80030384 E7BC0020 */ swc1 $f28, 0x20($sp)
/* B788 80030388 4600B406 */ mov.s $f16, $f22
/* B78C 8003038C 0800C0F5 */ j .L800303D4
/* B790 80030390 46002286 */ mov.s $f10, $f4
.L80030394:
/* B794 80030394 46084082 */ mul.s $f2, $f8, $f8
/* B798 80030398 00000000 */ nop
/* B79C 8003039C 46063182 */ mul.s $f6, $f6, $f6
/* B7A0 800303A0 00000000 */ nop
/* B7A4 800303A4 460E7002 */ mul.s $f0, $f14, $f14
/* B7A8 800303A8 00000000 */ nop
/* B7AC 800303AC 460C6102 */ mul.s $f4, $f12, $f12
/* B7B0 800303B0 00000000 */ nop
/* B7B4 800303B4 46061080 */ add.s $f2, $f2, $f6
/* B7B8 800303B8 46040000 */ add.s $f0, $f0, $f4
/* B7BC 800303BC 4602003C */ c.lt.s $f0, $f2
/* B7C0 800303C0 00000000 */ nop
/* B7C4 800303C4 45000003 */ bc1f .L800303D4
/* B7C8 800303C8 00000000 */ nop
/* B7CC 800303CC C7B00010 */ lwc1 $f16, 0x10($sp)
/* B7D0 800303D0 C7AA0020 */ lwc1 $f10, 0x20($sp)
.L800303D4:
/* B7D4 800303D4 8E020028 */ lw $v0, 0x28($s0)
/* B7D8 800303D8 54400004 */ bnel $v0, $zero, .L800303EC
/* B7DC 800303DC E6300010 */ swc1 $f16, 0x10($s1)
/* B7E0 800303E0 46148400 */ add.s $f16, $f16, $f20
/* B7E4 800303E4 46125280 */ add.s $f10, $f10, $f18
/* B7E8 800303E8 E6300010 */ swc1 $f16, 0x10($s1)
.L800303EC:
/* B7EC 800303EC E63E0014 */ swc1 $f30, 0x14($s1)
/* B7F0 800303F0 0800C144 */ j .L80030510
/* B7F4 800303F4 E62A0018 */ swc1 $f10, 0x18($s1)
/* B7F8 800303F8 8E020028 */ lw $v0, 0x28($s0)
/* B7FC 800303FC 50400042 */ beql $v0, $zero, .L80030508
/* B800 80030400 E6380010 */ swc1 $f24, 0x10($s1)
/* B804 80030404 C600000C */ lwc1 $f0, 0xc($s0)
/* B808 80030408 4600C581 */ sub.s $f22, $f24, $f0
/* B80C 8003040C 4616B082 */ mul.s $f2, $f22, $f22
/* B810 80030410 00000000 */ nop
/* B814 80030414 C6000014 */ lwc1 $f0, 0x14($s0)
/* B818 80030418 4600D501 */ sub.s $f20, $f26, $f0
/* B81C 8003041C 4614A002 */ mul.s $f0, $f20, $f20
/* B820 80030420 00000000 */ nop
/* B824 80030424 46001600 */ add.s $f24, $f2, $f0
/* B828 80030428 44800000 */ mtc1 $zero, $f0
/* B82C 8003042C 00000000 */ nop
/* B830 80030430 4600C032 */ c.eq.s $f24, $f0
/* B834 80030434 00000000 */ nop
/* B838 80030438 45010035 */ bc1t .L80030510
/* B83C 8003043C 00000000 */ nop
/* B840 80030440 4600C184 */ sqrt.s $f6, $f24
/* B844 80030444 46063032 */ c.eq.s $f6, $f6
/* B848 80030448 00000000 */ nop
/* B84C 8003044C 45010004 */ bc1t .L80030460
/* B850 80030450 00000000 */ nop
/* B854 80030454 0C0187B0 */ jal func_80061EC0
/* B858 80030458 4600C306 */ mov.s $f12, $f24
/* B85C 8003045C 46000186 */ mov.s $f6, $f0
.L80030460:
/* B860 80030460 C6040018 */ lwc1 $f4, 0x18($s0)
/* B864 80030464 C600000C */ lwc1 $f0, 0xc($s0)
/* B868 80030468 46002101 */ sub.s $f4, $f4, $f0
/* B86C 8003046C 46042102 */ mul.s $f4, $f4, $f4
/* B870 80030470 00000000 */ nop
/* B874 80030474 C6020014 */ lwc1 $f2, 0x14($s0)
/* B878 80030478 C6000020 */ lwc1 $f0, 0x20($s0)
/* B87C 8003047C 46020001 */ sub.s $f0, $f0, $f2
/* B880 80030480 46000002 */ mul.s $f0, $f0, $f0
/* B884 80030484 00000000 */ nop
/* B888 80030488 3C013F80 */ lui $at, 0x3f80
/* B88C 8003048C 44811000 */ mtc1 $at, $f2
/* B890 80030490 46002300 */ add.s $f12, $f4, $f0
/* B894 80030494 46061603 */ div.s $f24, $f2, $f6
/* B898 80030498 46006084 */ sqrt.s $f2, $f12
/* B89C 8003049C 46021032 */ c.eq.s $f2, $f2
/* B8A0 800304A0 00000000 */ nop
/* B8A4 800304A4 45010004 */ bc1t .L800304B8
/* B8A8 800304A8 00000000 */ nop
/* B8AC 800304AC 0C0187B0 */ jal func_80061EC0
/* B8B0 800304B0 00000000 */ nop
/* B8B4 800304B4 46000086 */ mov.s $f2, $f0
.L800304B8:
/* B8B8 800304B8 4602B002 */ mul.s $f0, $f22, $f2
/* B8BC 800304BC 00000000 */ nop
/* B8C0 800304C0 4602A102 */ mul.s $f4, $f20, $f2
/* B8C4 800304C4 00000000 */ nop
/* B8C8 800304C8 46180002 */ mul.s $f0, $f0, $f24
/* B8CC 800304CC 00000000 */ nop
/* B8D0 800304D0 C602000C */ lwc1 $f2, 0xc($s0)
/* B8D4 800304D4 46001080 */ add.s $f2, $f2, $f0
/* B8D8 800304D8 46182102 */ mul.s $f4, $f4, $f24
/* B8DC 800304DC 00000000 */ nop
/* B8E0 800304E0 E63E0014 */ swc1 $f30, 0x14($s1)
/* B8E4 800304E4 E6220010 */ swc1 $f2, 0x10($s1)
/* B8E8 800304E8 C6000014 */ lwc1 $f0, 0x14($s0)
/* B8EC 800304EC 46040000 */ add.s $f0, $f0, $f4
/* B8F0 800304F0 0800C144 */ j .L80030510
/* B8F4 800304F4 E6200018 */ swc1 $f0, 0x18($s1)
/* B8F8 800304F8 2402FFFF */ addiu $v0, $zero, -1
/* B8FC 800304FC 0800C144 */ j .L80030510
/* B900 80030500 AE820000 */ sw $v0, ($s4)
/* B904 80030504 E6380010 */ swc1 $f24, 0x10($s1)
.L80030508:
/* B908 80030508 E63E0014 */ swc1 $f30, 0x14($s1)
/* B90C 8003050C E63A0018 */ swc1 $f26, 0x18($s1)
.L80030510:
/* B910 80030510 8FA20090 */ lw $v0, 0x90($sp)
/* B914 80030514 C7B800A0 */ lwc1 $f24, 0xa0($sp)
/* B918 80030518 C7BE00A4 */ lwc1 $f30, 0xa4($sp)
/* B91C 8003051C 8C500000 */ lw $s0, ($v0)
/* B920 80030520 C7BA00A8 */ lwc1 $f26, 0xa8($sp)
/* B924 80030524 16000005 */ bnez $s0, .L8003053C
/* B928 80030528 0260882D */ daddu $s1, $s3, $zero
/* B92C 8003052C E6780010 */ swc1 $f24, 0x10($s3)
/* B930 80030530 E67E0014 */ swc1 $f30, 0x14($s3)
/* B934 80030534 0800C414 */ j .L80031050
/* B938 80030538 E67A0018 */ swc1 $f26, 0x18($s3)
.L8003053C:
/* B93C 8003053C 8E030000 */ lw $v1, ($s0)
/* B940 80030540 2C620007 */ sltiu $v0, $v1, 7
/* B944 80030544 10400279 */ beqz $v0, .L80030F2C
/* B948 80030548 00031080 */ sll $v0, $v1, 2
/* B94C 8003054C 3C01800A */ lui $at, %hi(D_80098210)
/* B950 80030550 00220821 */ addu $at, $at, $v0
/* B954 80030554 8C228210 */ lw $v0, %lo(D_80098210)($at)
/* B958 80030558 00400008 */ jr $v0
/* B95C 8003055C 00000000 */ nop
/* B960 80030560 C6020018 */ lwc1 $f2, 0x18($s0)
/* B964 80030564 C600000C */ lwc1 $f0, 0xc($s0)
/* B968 80030568 46001081 */ sub.s $f2, $f2, $f0
/* B96C 8003056C C6000014 */ lwc1 $f0, 0x14($s0)
/* B970 80030570 44061000 */ mfc1 $a2, $f2
/* B974 80030574 C6020020 */ lwc1 $f2, 0x20($s0)
/* B978 80030578 4480A000 */ mtc1 $zero, $f20
/* B97C 8003057C 46001081 */ sub.s $f2, $f2, $f0
/* B980 80030580 4600A306 */ mov.s $f12, $f20
/* B984 80030584 44071000 */ mfc1 $a3, $f2
/* B988 80030588 0C00A710 */ jal func_80029C40
/* B98C 8003058C 4600A386 */ mov.s $f14, $f20
/* B990 80030590 E6200000 */ swc1 $f0, ($s1)
/* B994 80030594 C6000004 */ lwc1 $f0, 4($s0)
/* B998 80030598 4614003C */ c.lt.s $f0, $f20
/* B99C 8003059C 00000000 */ nop
/* B9A0 800305A0 45030001 */ bc1tl .L800305A8
/* B9A4 800305A4 46000007 */ neg.s $f0, $f0
.L800305A8:
/* B9A8 800305A8 E6200004 */ swc1 $f0, 4($s1)
/* B9AC 800305AC C6000008 */ lwc1 $f0, 8($s0)
/* B9B0 800305B0 E6200008 */ swc1 $f0, 8($s1)
/* B9B4 800305B4 C6000024 */ lwc1 $f0, 0x24($s0)
/* B9B8 800305B8 E620000C */ swc1 $f0, 0xc($s1)
/* B9BC 800305BC 8E020028 */ lw $v0, 0x28($s0)
/* B9C0 800305C0 50400023 */ beql $v0, $zero, .L80030650
/* B9C4 800305C4 E6380010 */ swc1 $f24, 0x10($s1)
/* B9C8 800305C8 C60A0014 */ lwc1 $f10, 0x14($s0)
/* B9CC 800305CC C60C0020 */ lwc1 $f12, 0x20($s0)
/* B9D0 800305D0 460C5281 */ sub.s $f10, $f10, $f12
/* B9D4 800305D4 C6000018 */ lwc1 $f0, 0x18($s0)
/* B9D8 800305D8 46005287 */ neg.s $f10, $f10
/* B9DC 800305DC 46005280 */ add.s $f10, $f10, $f0
/* B9E0 800305E0 460A0201 */ sub.s $f8, $f0, $f10
/* B9E4 800305E4 46084102 */ mul.s $f4, $f8, $f8
/* B9E8 800305E8 00000000 */ nop
/* B9EC 800305EC C606000C */ lwc1 $f6, 0xc($s0)
/* B9F0 800305F0 46003181 */ sub.s $f6, $f6, $f0
/* B9F4 800305F4 460C3180 */ add.s $f6, $f6, $f12
/* B9F8 800305F8 46066301 */ sub.s $f12, $f12, $f6
/* B9FC 800305FC 460C6382 */ mul.s $f14, $f12, $f12
/* BA00 80030600 00000000 */ nop
/* BA04 80030604 460AC081 */ sub.s $f2, $f24, $f10
/* BA08 80030608 46081082 */ mul.s $f2, $f2, $f8
/* BA0C 8003060C 00000000 */ nop
/* BA10 80030610 4606D001 */ sub.s $f0, $f26, $f6
/* BA14 80030614 460C0002 */ mul.s $f0, $f0, $f12
/* BA18 80030618 00000000 */ nop
/* BA1C 8003061C 460E2100 */ add.s $f4, $f4, $f14
/* BA20 80030620 46001080 */ add.s $f2, $f2, $f0
/* BA24 80030624 46041103 */ div.s $f4, $f2, $f4
/* BA28 80030628 46082202 */ mul.s $f8, $f4, $f8
/* BA2C 8003062C 00000000 */ nop
/* BA30 80030630 460C2102 */ mul.s $f4, $f4, $f12
/* BA34 80030634 00000000 */ nop
/* BA38 80030638 460A4200 */ add.s $f8, $f8, $f10
/* BA3C 8003063C 46062100 */ add.s $f4, $f4, $f6
/* BA40 80030640 E63E0014 */ swc1 $f30, 0x14($s1)
/* BA44 80030644 E6280010 */ swc1 $f8, 0x10($s1)
/* BA48 80030648 0800C1F8 */ j .L800307E0
/* BA4C 8003064C E6240018 */ swc1 $f4, 0x18($s1)
.L80030650:
/* BA50 80030650 E63E0014 */ swc1 $f30, 0x14($s1)
/* BA54 80030654 0800C1F8 */ j .L800307E0
/* BA58 80030658 E63A0018 */ swc1 $f26, 0x18($s1)
/* BA5C 8003065C C6020018 */ lwc1 $f2, 0x18($s0)
/* BA60 80030660 C600000C */ lwc1 $f0, 0xc($s0)
/* BA64 80030664 46001581 */ sub.s $f22, $f2, $f0
/* BA68 80030668 C6020020 */ lwc1 $f2, 0x20($s0)
/* BA6C 8003066C C6000014 */ lwc1 $f0, 0x14($s0)
/* BA70 80030670 46001081 */ sub.s $f2, $f2, $f0
/* BA74 80030674 44806000 */ mtc1 $zero, $f12
/* BA78 80030678 4600B587 */ neg.s $f22, $f22
/* BA7C 8003067C 4407B000 */ mfc1 $a3, $f22
/* BA80 80030680 44061000 */ mfc1 $a2, $f2
/* BA84 80030684 0C00A710 */ jal func_80029C40
/* BA88 80030688 46006386 */ mov.s $f14, $f12
/* BA8C 8003068C E6200000 */ swc1 $f0, ($s1)
/* BA90 80030690 C6000004 */ lwc1 $f0, 4($s0)
/* BA94 80030694 4480E000 */ mtc1 $zero, $f28
/* BA98 80030698 00000000 */ nop
/* BA9C 8003069C 461C003C */ c.lt.s $f0, $f28
/* BAA0 800306A0 00000000 */ nop
/* BAA4 800306A4 45030001 */ bc1tl .L800306AC
/* BAA8 800306A8 46000007 */ neg.s $f0, $f0
.L800306AC:
/* BAAC 800306AC E6200004 */ swc1 $f0, 4($s1)
/* BAB0 800306B0 C6000008 */ lwc1 $f0, 8($s0)
/* BAB4 800306B4 E6200008 */ swc1 $f0, 8($s1)
/* BAB8 800306B8 C6000024 */ lwc1 $f0, 0x24($s0)
/* BABC 800306BC E620000C */ swc1 $f0, 0xc($s1)
/* BAC0 800306C0 C60E000C */ lwc1 $f14, 0xc($s0)
/* BAC4 800306C4 C61C0018 */ lwc1 $f28, 0x18($s0)
/* BAC8 800306C8 460EE201 */ sub.s $f8, $f28, $f14
/* BACC 800306CC 46084502 */ mul.s $f20, $f8, $f8
/* BAD0 800306D0 00000000 */ nop
/* BAD4 800306D4 460EC081 */ sub.s $f2, $f24, $f14
/* BAD8 800306D8 46081082 */ mul.s $f2, $f2, $f8
/* BADC 800306DC 00000000 */ nop
/* BAE0 800306E0 E7BC0014 */ swc1 $f28, 0x14($sp)
/* BAE4 800306E4 C60C0014 */ lwc1 $f12, 0x14($s0)
/* BAE8 800306E8 C61C0020 */ lwc1 $f28, 0x20($s0)
/* BAEC 800306EC 460CE181 */ sub.s $f6, $f28, $f12
/* BAF0 800306F0 46063482 */ mul.s $f18, $f6, $f6
/* BAF4 800306F4 00000000 */ nop
/* BAF8 800306F8 460CD001 */ sub.s $f0, $f26, $f12
/* BAFC 800306FC 46060002 */ mul.s $f0, $f0, $f6
/* BB00 80030700 00000000 */ nop
/* BB04 80030704 4612A100 */ add.s $f4, $f20, $f18
/* BB08 80030708 46001080 */ add.s $f2, $f2, $f0
/* BB0C 8003070C 46041103 */ div.s $f4, $f2, $f4
/* BB10 80030710 46082002 */ mul.s $f0, $f4, $f8
/* BB14 80030714 00000000 */ nop
/* BB18 80030718 46062102 */ mul.s $f4, $f4, $f6
/* BB1C 8003071C 00000000 */ nop
/* BB20 80030720 460E0400 */ add.s $f16, $f0, $f14
/* BB24 80030724 46007586 */ mov.s $f22, $f14
/* BB28 80030728 46004386 */ mov.s $f14, $f8
/* BB2C 8003072C 46168201 */ sub.s $f8, $f16, $f22
/* BB30 80030730 46087002 */ mul.s $f0, $f14, $f8
/* BB34 80030734 00000000 */ nop
/* BB38 80030738 460C2280 */ add.s $f10, $f4, $f12
/* BB3C 8003073C 46006106 */ mov.s $f4, $f12
/* BB40 80030740 46003306 */ mov.s $f12, $f6
/* BB44 80030744 46045181 */ sub.s $f6, $f10, $f4
/* BB48 80030748 46066082 */ mul.s $f2, $f12, $f6
/* BB4C 8003074C 00000000 */ nop
/* BB50 80030750 4610C501 */ sub.s $f20, $f24, $f16
/* BB54 80030754 E7BC0018 */ swc1 $f28, 0x18($sp)
/* BB58 80030758 46020000 */ add.s $f0, $f0, $f2
/* BB5C 8003075C 4480E000 */ mtc1 $zero, $f28
/* BB60 80030760 00000000 */ nop
/* BB64 80030764 461C003C */ c.lt.s $f0, $f28
/* BB68 80030768 00000000 */ nop
/* BB6C 8003076C 45000004 */ bc1f .L80030780
/* BB70 80030770 460AD481 */ sub.s $f18, $f26, $f10
/* BB74 80030774 4600B406 */ mov.s $f16, $f22
/* BB78 80030778 0800C1F0 */ j .L800307C0
/* BB7C 8003077C 46002286 */ mov.s $f10, $f4
.L80030780:
/* BB80 80030780 46084082 */ mul.s $f2, $f8, $f8
/* BB84 80030784 00000000 */ nop
/* BB88 80030788 46063182 */ mul.s $f6, $f6, $f6
/* BB8C 8003078C 00000000 */ nop
/* BB90 80030790 460E7002 */ mul.s $f0, $f14, $f14
/* BB94 80030794 00000000 */ nop
/* BB98 80030798 460C6102 */ mul.s $f4, $f12, $f12
/* BB9C 8003079C 00000000 */ nop
/* BBA0 800307A0 46061080 */ add.s $f2, $f2, $f6
/* BBA4 800307A4 46040000 */ add.s $f0, $f0, $f4
/* BBA8 800307A8 4602003C */ c.lt.s $f0, $f2
/* BBAC 800307AC 00000000 */ nop
/* BBB0 800307B0 45000003 */ bc1f .L800307C0
/* BBB4 800307B4 00000000 */ nop
/* BBB8 800307B8 C7B00014 */ lwc1 $f16, 0x14($sp)
/* BBBC 800307BC C7AA0018 */ lwc1 $f10, 0x18($sp)
.L800307C0:
/* BBC0 800307C0 8E020028 */ lw $v0, 0x28($s0)
/* BBC4 800307C4 54400004 */ bnel $v0, $zero, .L800307D8
/* BBC8 800307C8 E6300010 */ swc1 $f16, 0x10($s1)
/* BBCC 800307CC 46148400 */ add.s $f16, $f16, $f20
/* BBD0 800307D0 46125280 */ add.s $f10, $f10, $f18
/* BBD4 800307D4 E6300010 */ swc1 $f16, 0x10($s1)
.L800307D8:
/* BBD8 800307D8 E63E0014 */ swc1 $f30, 0x14($s1)
/* BBDC 800307DC E62A0018 */ swc1 $f10, 0x18($s1)
.L800307E0:
/* BBE0 800307E0 12E0021B */ beqz $s7, .L80031050
/* BBE4 800307E4 00000000 */ nop
/* BBE8 800307E8 C6C00000 */ lwc1 $f0, ($s6)
/* BBEC 800307EC 3C013F80 */ lui $at, 0x3f80
/* BBF0 800307F0 44812000 */ mtc1 $at, $f4
/* BBF4 800307F4 00000000 */ nop
/* BBF8 800307F8 46040032 */ c.eq.s $f0, $f4
/* BBFC 800307FC 00000000 */ nop
/* BC00 80030800 450101CA */ bc1t .L80030F2C
/* BC04 80030804 00000000 */ nop
/* BC08 80030808 8E840000 */ lw $a0, ($s4)
/* BC0C 8003080C 24820002 */ addiu $v0, $a0, 2
/* BC10 80030810 2C420003 */ sltiu $v0, $v0, 3
/* BC14 80030814 144001C5 */ bnez $v0, .L80030F2C
/* BC18 80030818 00000000 */ nop
/* BC1C 8003081C 8C830000 */ lw $v1, ($a0)
/* BC20 80030820 8E020000 */ lw $v0, ($s0)
/* BC24 80030824 146201C1 */ bne $v1, $v0, .L80030F2C
/* BC28 80030828 00000000 */ nop
/* BC2C 8003082C C4820004 */ lwc1 $f2, 4($a0)
/* BC30 80030830 C6000004 */ lwc1 $f0, 4($s0)
/* BC34 80030834 46001032 */ c.eq.s $f2, $f0
/* BC38 80030838 00000000 */ nop
/* BC3C 8003083C 450001BB */ bc1f .L80030F2C
/* BC40 80030840 00000000 */ nop
/* BC44 80030844 C4820008 */ lwc1 $f2, 8($a0)
/* BC48 80030848 C6000008 */ lwc1 $f0, 8($s0)
/* BC4C 8003084C 46001032 */ c.eq.s $f2, $f0
/* BC50 80030850 00000000 */ nop
/* BC54 80030854 450001B5 */ bc1f .L80030F2C
/* BC58 80030858 00000000 */ nop
/* BC5C 8003085C C4820024 */ lwc1 $f2, 0x24($a0)
/* BC60 80030860 C6000024 */ lwc1 $f0, 0x24($s0)
/* BC64 80030864 46001032 */ c.eq.s $f2, $f0
/* BC68 80030868 00000000 */ nop
/* BC6C 8003086C 450001AF */ bc1f .L80030F2C
/* BC70 80030870 00000000 */ nop
/* BC74 80030874 8C830028 */ lw $v1, 0x28($a0)
/* BC78 80030878 8E020028 */ lw $v0, 0x28($s0)
/* BC7C 8003087C 546201AB */ bnel $v1, $v0, .L80030F2C
/* BC80 80030880 E6C40000 */ swc1 $f4, ($s6)
/* BC84 80030884 0800C3CB */ j .L80030F2C
/* BC88 80030888 00000000 */ nop
/* BC8C 8003088C C6040004 */ lwc1 $f4, 4($s0)
/* BC90 80030890 44800000 */ mtc1 $zero, $f0
/* BC94 80030894 00000000 */ nop
/* BC98 80030898 4600203C */ c.lt.s $f4, $f0
/* BC9C 8003089C 00000000 */ nop
/* BCA0 800308A0 45000008 */ bc1f .L800308C4
/* BCA4 800308A4 00000000 */ nop
/* BCA8 800308A8 C600000C */ lwc1 $f0, 0xc($s0)
/* BCAC 800308AC 4600C581 */ sub.s $f22, $f24, $f0
/* BCB0 800308B0 C6020014 */ lwc1 $f2, 0x14($s0)
/* BCB4 800308B4 46002007 */ neg.s $f0, $f4
/* BCB8 800308B8 E6200004 */ swc1 $f0, 4($s1)
/* BCBC 800308BC 0800C236 */ j .L800308D8
/* BCC0 800308C0 4602D501 */ sub.s $f20, $f26, $f2
.L800308C4:
/* BCC4 800308C4 C600000C */ lwc1 $f0, 0xc($s0)
/* BCC8 800308C8 46180581 */ sub.s $f22, $f0, $f24
/* BCCC 800308CC C6000014 */ lwc1 $f0, 0x14($s0)
/* BCD0 800308D0 E6240004 */ swc1 $f4, 4($s1)
/* BCD4 800308D4 461A0501 */ sub.s $f20, $f0, $f26
.L800308D8:
/* BCD8 800308D8 4406B000 */ mfc1 $a2, $f22
/* BCDC 800308DC 44806000 */ mtc1 $zero, $f12
/* BCE0 800308E0 4407A000 */ mfc1 $a3, $f20
/* BCE4 800308E4 0C00A710 */ jal func_80029C40
/* BCE8 800308E8 46006386 */ mov.s $f14, $f12
/* BCEC 800308EC E6200000 */ swc1 $f0, ($s1)
/* BCF0 800308F0 C6000008 */ lwc1 $f0, 8($s0)
/* BCF4 800308F4 E6200008 */ swc1 $f0, 8($s1)
/* BCF8 800308F8 C6000024 */ lwc1 $f0, 0x24($s0)
/* BCFC 800308FC E620000C */ swc1 $f0, 0xc($s1)
/* BD00 80030900 8E020028 */ lw $v0, 0x28($s0)
/* BD04 80030904 5040003E */ beql $v0, $zero, .L80030A00
/* BD08 80030908 E6380010 */ swc1 $f24, 0x10($s1)
/* BD0C 8003090C C600000C */ lwc1 $f0, 0xc($s0)
/* BD10 80030910 4600C581 */ sub.s $f22, $f24, $f0
/* BD14 80030914 4616B082 */ mul.s $f2, $f22, $f22
/* BD18 80030918 00000000 */ nop
/* BD1C 8003091C C6000014 */ lwc1 $f0, 0x14($s0)
/* BD20 80030920 4600D501 */ sub.s $f20, $f26, $f0
/* BD24 80030924 4614A002 */ mul.s $f0, $f20, $f20
/* BD28 80030928 00000000 */ nop
/* BD2C 8003092C 46001600 */ add.s $f24, $f2, $f0
/* BD30 80030930 4480E000 */ mtc1 $zero, $f28
/* BD34 80030934 00000000 */ nop
/* BD38 80030938 461CC032 */ c.eq.s $f24, $f28
/* BD3C 8003093C 00000000 */ nop
/* BD40 80030940 45010031 */ bc1t .L80030A08
/* BD44 80030944 00000000 */ nop
/* BD48 80030948 4600C184 */ sqrt.s $f6, $f24
/* BD4C 8003094C 46063032 */ c.eq.s $f6, $f6
/* BD50 80030950 00000000 */ nop
/* BD54 80030954 45010004 */ bc1t .L80030968
/* BD58 80030958 00000000 */ nop
/* BD5C 8003095C 0C0187B0 */ jal func_80061EC0
/* BD60 80030960 4600C306 */ mov.s $f12, $f24
/* BD64 80030964 46000186 */ mov.s $f6, $f0
.L80030968:
/* BD68 80030968 C6040018 */ lwc1 $f4, 0x18($s0)
/* BD6C 8003096C C600000C */ lwc1 $f0, 0xc($s0)
/* BD70 80030970 46002101 */ sub.s $f4, $f4, $f0
/* BD74 80030974 46042102 */ mul.s $f4, $f4, $f4
/* BD78 80030978 00000000 */ nop
/* BD7C 8003097C C6020014 */ lwc1 $f2, 0x14($s0)
/* BD80 80030980 C6000020 */ lwc1 $f0, 0x20($s0)
/* BD84 80030984 46020001 */ sub.s $f0, $f0, $f2
/* BD88 80030988 46000002 */ mul.s $f0, $f0, $f0
/* BD8C 8003098C 00000000 */ nop
/* BD90 80030990 3C013F80 */ lui $at, 0x3f80
/* BD94 80030994 44811000 */ mtc1 $at, $f2
/* BD98 80030998 46002300 */ add.s $f12, $f4, $f0
/* BD9C 8003099C 46061603 */ div.s $f24, $f2, $f6
/* BDA0 800309A0 46006084 */ sqrt.s $f2, $f12
/* BDA4 800309A4 46021032 */ c.eq.s $f2, $f2
/* BDA8 800309A8 00000000 */ nop
/* BDAC 800309AC 45010004 */ bc1t .L800309C0
/* BDB0 800309B0 00000000 */ nop
/* BDB4 800309B4 0C0187B0 */ jal func_80061EC0
/* BDB8 800309B8 00000000 */ nop
/* BDBC 800309BC 46000086 */ mov.s $f2, $f0
.L800309C0:
/* BDC0 800309C0 4602B002 */ mul.s $f0, $f22, $f2
/* BDC4 800309C4 00000000 */ nop
/* BDC8 800309C8 4602A102 */ mul.s $f4, $f20, $f2
/* BDCC 800309CC 00000000 */ nop
/* BDD0 800309D0 46180002 */ mul.s $f0, $f0, $f24
/* BDD4 800309D4 00000000 */ nop
/* BDD8 800309D8 C602000C */ lwc1 $f2, 0xc($s0)
/* BDDC 800309DC 46001080 */ add.s $f2, $f2, $f0
/* BDE0 800309E0 46182102 */ mul.s $f4, $f4, $f24
/* BDE4 800309E4 00000000 */ nop
/* BDE8 800309E8 E63E0014 */ swc1 $f30, 0x14($s1)
/* BDEC 800309EC E6220010 */ swc1 $f2, 0x10($s1)
/* BDF0 800309F0 C6000014 */ lwc1 $f0, 0x14($s0)
/* BDF4 800309F4 46040000 */ add.s $f0, $f0, $f4
/* BDF8 800309F8 0800C282 */ j .L80030A08
/* BDFC 800309FC E6200018 */ swc1 $f0, 0x18($s1)
.L80030A00:
/* BE00 80030A00 E63E0014 */ swc1 $f30, 0x14($s1)
/* BE04 80030A04 E63A0018 */ swc1 $f26, 0x18($s1)
.L80030A08:
/* BE08 80030A08 12E00191 */ beqz $s7, .L80031050
/* BE0C 80030A0C 00000000 */ nop
/* BE10 80030A10 C6C00000 */ lwc1 $f0, ($s6)
/* BE14 80030A14 3C013F80 */ lui $at, 0x3f80
/* BE18 80030A18 44812000 */ mtc1 $at, $f4
/* BE1C 80030A1C 00000000 */ nop
/* BE20 80030A20 46040032 */ c.eq.s $f0, $f4
/* BE24 80030A24 00000000 */ nop
/* BE28 80030A28 45010140 */ bc1t .L80030F2C
/* BE2C 80030A2C 00000000 */ nop
/* BE30 80030A30 8E840000 */ lw $a0, ($s4)
/* BE34 80030A34 24820002 */ addiu $v0, $a0, 2
/* BE38 80030A38 2C420003 */ sltiu $v0, $v0, 3
/* BE3C 80030A3C 1440013B */ bnez $v0, .L80030F2C
/* BE40 80030A40 00000000 */ nop
/* BE44 80030A44 8C830000 */ lw $v1, ($a0)
/* BE48 80030A48 8E020000 */ lw $v0, ($s0)
/* BE4C 80030A4C 14620137 */ bne $v1, $v0, .L80030F2C
/* BE50 80030A50 00000000 */ nop
/* BE54 80030A54 C4820004 */ lwc1 $f2, 4($a0)
/* BE58 80030A58 C6000004 */ lwc1 $f0, 4($s0)
/* BE5C 80030A5C 46001032 */ c.eq.s $f2, $f0
/* BE60 80030A60 00000000 */ nop
/* BE64 80030A64 45000131 */ bc1f .L80030F2C
/* BE68 80030A68 00000000 */ nop
/* BE6C 80030A6C C4820008 */ lwc1 $f2, 8($a0)
/* BE70 80030A70 C6000008 */ lwc1 $f0, 8($s0)
/* BE74 80030A74 46001032 */ c.eq.s $f2, $f0
/* BE78 80030A78 00000000 */ nop
/* BE7C 80030A7C 4500012B */ bc1f .L80030F2C
/* BE80 80030A80 00000000 */ nop
/* BE84 80030A84 C4820024 */ lwc1 $f2, 0x24($a0)
/* BE88 80030A88 C6000024 */ lwc1 $f0, 0x24($s0)
/* BE8C 80030A8C 46001032 */ c.eq.s $f2, $f0
/* BE90 80030A90 00000000 */ nop
/* BE94 80030A94 45000125 */ bc1f .L80030F2C
/* BE98 80030A98 00000000 */ nop
/* BE9C 80030A9C 8C830028 */ lw $v1, 0x28($a0)
/* BEA0 80030AA0 8E020028 */ lw $v0, 0x28($s0)
/* BEA4 80030AA4 10620121 */ beq $v1, $v0, .L80030F2C
/* BEA8 80030AA8 00000000 */ nop
/* BEAC 80030AAC C482000C */ lwc1 $f2, 0xc($a0)
/* BEB0 80030AB0 C600000C */ lwc1 $f0, 0xc($s0)
/* BEB4 80030AB4 46001032 */ c.eq.s $f2, $f0
/* BEB8 80030AB8 00000000 */ nop
/* BEBC 80030ABC 4500011B */ bc1f .L80030F2C
/* BEC0 80030AC0 00000000 */ nop
/* BEC4 80030AC4 C4820014 */ lwc1 $f2, 0x14($a0)
/* BEC8 80030AC8 C6000014 */ lwc1 $f0, 0x14($s0)
/* BECC 80030ACC 46001032 */ c.eq.s $f2, $f0
/* BED0 80030AD0 00000000 */ nop
/* BED4 80030AD4 45030115 */ bc1tl .L80030F2C
/* BED8 80030AD8 E6C40000 */ swc1 $f4, ($s6)
/* BEDC 80030ADC 0800C3CB */ j .L80030F2C
/* BEE0 80030AE0 00000000 */ nop
/* BEE4 80030AE4 8E020028 */ lw $v0, 0x28($s0)
/* BEE8 80030AE8 1440005D */ bnez $v0, .L80030C60
/* BEEC 80030AEC 00000000 */ nop
/* BEF0 80030AF0 C612000C */ lwc1 $f18, 0xc($s0)
/* BEF4 80030AF4 C6100018 */ lwc1 $f16, 0x18($s0)
/* BEF8 80030AF8 C60A0014 */ lwc1 $f10, 0x14($s0)
/* BEFC 80030AFC C60C0020 */ lwc1 $f12, 0x20($s0)
/* BF00 80030B00 C6040010 */ lwc1 $f4, 0x10($s0)
/* BF04 80030B04 C60E001C */ lwc1 $f14, 0x1c($s0)
/* BF08 80030B08 46109032 */ c.eq.s $f18, $f16
/* BF0C 80030B0C 00000000 */ nop
/* BF10 80030B10 45000007 */ bc1f .L80030B30
/* BF14 80030B14 46048201 */ sub.s $f8, $f16, $f4
/* BF18 80030B18 460C5032 */ c.eq.s $f10, $f12
/* BF1C 80030B1C 00000000 */ nop
/* BF20 80030B20 45000003 */ bc1f .L80030B30
/* BF24 80030B24 00000000 */ nop
/* BF28 80030B28 46002486 */ mov.s $f18, $f4
/* BF2C 80030B2C 46007286 */ mov.s $f10, $f14
.L80030B30:
/* BF30 80030B30 44800000 */ mtc1 $zero, $f0
/* BF34 80030B34 00000000 */ nop
/* BF38 80030B38 46004032 */ c.eq.s $f8, $f0
/* BF3C 80030B3C 00000000 */ nop
/* BF40 80030B40 45020017 */ bc1fl .L80030BA0
/* BF44 80030B44 460C5181 */ sub.s $f6, $f10, $f12
/* BF48 80030B48 46128181 */ sub.s $f6, $f16, $f18
/* BF4C 80030B4C 46064102 */ mul.s $f4, $f8, $f6
/* BF50 80030B50 00000000 */ nop
/* BF54 80030B54 461A6081 */ sub.s $f2, $f12, $f26
/* BF58 80030B58 46081082 */ mul.s $f2, $f2, $f8
/* BF5C 80030B5C 00000000 */ nop
/* BF60 80030B60 460C5281 */ sub.s $f10, $f10, $f12
/* BF64 80030B64 460E6201 */ sub.s $f8, $f12, $f14
/* BF68 80030B68 4610C001 */ sub.s $f0, $f24, $f16
/* BF6C 80030B6C 46081083 */ div.s $f2, $f2, $f8
/* BF70 80030B70 46020000 */ add.s $f0, $f0, $f2
/* BF74 80030B74 46005082 */ mul.s $f2, $f10, $f0
/* BF78 80030B78 00000000 */ nop
/* BF7C 80030B7C 46003182 */ mul.s $f6, $f6, $f0
/* BF80 80030B80 00000000 */ nop
/* BF84 80030B84 46082103 */ div.s $f4, $f4, $f8
/* BF88 80030B88 460A2101 */ sub.s $f4, $f4, $f10
/* BF8C 80030B8C 46041083 */ div.s $f2, $f2, $f4
/* BF90 80030B90 46181200 */ add.s $f8, $f2, $f24
/* BF94 80030B94 46043183 */ div.s $f6, $f6, $f4
/* BF98 80030B98 0800C2FC */ j .L80030BF0
/* BF9C 80030B9C 461A3000 */ add.s $f0, $f6, $f26
.L80030BA0:
/* BFA0 80030BA0 460E6081 */ sub.s $f2, $f12, $f14
/* BFA4 80030BA4 46023102 */ mul.s $f4, $f6, $f2
/* BFA8 80030BA8 00000000 */ nop
/* BFAC 80030BAC 46188001 */ sub.s $f0, $f16, $f24
/* BFB0 80030BB0 46020002 */ mul.s $f0, $f0, $f2
/* BFB4 80030BB4 00000000 */ nop
/* BFB8 80030BB8 460CD081 */ sub.s $f2, $f26, $f12
/* BFBC 80030BBC 46080003 */ div.s $f0, $f0, $f8
/* BFC0 80030BC0 46001080 */ add.s $f2, $f2, $f0
/* BFC4 80030BC4 46023182 */ mul.s $f6, $f6, $f2
/* BFC8 80030BC8 00000000 */ nop
/* BFCC 80030BCC 46128001 */ sub.s $f0, $f16, $f18
/* BFD0 80030BD0 46020082 */ mul.s $f2, $f0, $f2
/* BFD4 80030BD4 00000000 */ nop
/* BFD8 80030BD8 46082103 */ div.s $f4, $f4, $f8
/* BFDC 80030BDC 46002101 */ sub.s $f4, $f4, $f0
/* BFE0 80030BE0 46043183 */ div.s $f6, $f6, $f4
/* BFE4 80030BE4 46183200 */ add.s $f8, $f6, $f24
/* BFE8 80030BE8 46041083 */ div.s $f2, $f2, $f4
/* BFEC 80030BEC 461A1000 */ add.s $f0, $f2, $f26
.L80030BF0:
/* BFF0 80030BF0 E6280010 */ swc1 $f8, 0x10($s1)
/* BFF4 80030BF4 E63E0014 */ swc1 $f30, 0x14($s1)
/* BFF8 80030BF8 12A0003E */ beqz $s5, .L80030CF4
/* BFFC 80030BFC E6200018 */ swc1 $f0, 0x18($s1)
/* C000 80030C00 C6020018 */ lwc1 $f2, 0x18($s0)
/* C004 80030C04 C600000C */ lwc1 $f0, 0xc($s0)
/* C008 80030C08 46001081 */ sub.s $f2, $f2, $f0
/* C00C 80030C0C C6000014 */ lwc1 $f0, 0x14($s0)
/* C010 80030C10 44061000 */ mfc1 $a2, $f2
/* C014 80030C14 C6020020 */ lwc1 $f2, 0x20($s0)
/* C018 80030C18 4480A000 */ mtc1 $zero, $f20
/* C01C 80030C1C 46001081 */ sub.s $f2, $f2, $f0
/* C020 80030C20 4600A306 */ mov.s $f12, $f20
/* C024 80030C24 44071000 */ mfc1 $a3, $f2
/* C028 80030C28 0C00A710 */ jal func_80029C40
/* C02C 80030C2C 4600A386 */ mov.s $f14, $f20
/* C030 80030C30 E6200000 */ swc1 $f0, ($s1)
/* C034 80030C34 C6000004 */ lwc1 $f0, 4($s0)
/* C038 80030C38 4614003C */ c.lt.s $f0, $f20
/* C03C 80030C3C 00000000 */ nop
/* C040 80030C40 45030001 */ bc1tl .L80030C48
/* C044 80030C44 46000007 */ neg.s $f0, $f0
.L80030C48:
/* C048 80030C48 E6200004 */ swc1 $f0, 4($s1)
/* C04C 80030C4C C6000008 */ lwc1 $f0, 8($s0)
/* C050 80030C50 E6200008 */ swc1 $f0, 8($s1)
/* C054 80030C54 C6000024 */ lwc1 $f0, 0x24($s0)
/* C058 80030C58 0800C33D */ j .L80030CF4
/* C05C 80030C5C E620000C */ swc1 $f0, 0xc($s1)
.L80030C60:
/* C060 80030C60 12A0001D */ beqz $s5, .L80030CD8
/* C064 80030C64 00000000 */ nop
/* C068 80030C68 C6020018 */ lwc1 $f2, 0x18($s0)
/* C06C 80030C6C C600000C */ lwc1 $f0, 0xc($s0)
/* C070 80030C70 46001081 */ sub.s $f2, $f2, $f0
/* C074 80030C74 C6000014 */ lwc1 $f0, 0x14($s0)
/* C078 80030C78 44061000 */ mfc1 $a2, $f2
/* C07C 80030C7C C6020020 */ lwc1 $f2, 0x20($s0)
/* C080 80030C80 4480A000 */ mtc1 $zero, $f20
/* C084 80030C84 46001081 */ sub.s $f2, $f2, $f0
/* C088 80030C88 4600A306 */ mov.s $f12, $f20
/* C08C 80030C8C 44071000 */ mfc1 $a3, $f2
/* C090 80030C90 0C00A710 */ jal func_80029C40
/* C094 80030C94 4600A386 */ mov.s $f14, $f20
/* C098 80030C98 E6200000 */ swc1 $f0, ($s1)
/* C09C 80030C9C C6000004 */ lwc1 $f0, 4($s0)
/* C0A0 80030CA0 4614003C */ c.lt.s $f0, $f20
/* C0A4 80030CA4 00000000 */ nop
/* C0A8 80030CA8 45030001 */ bc1tl .L80030CB0
/* C0AC 80030CAC 46000007 */ neg.s $f0, $f0
.L80030CB0:
/* C0B0 80030CB0 E6200004 */ swc1 $f0, 4($s1)
/* C0B4 80030CB4 C6000008 */ lwc1 $f0, 8($s0)
/* C0B8 80030CB8 E6200008 */ swc1 $f0, 8($s1)
/* C0BC 80030CBC C6000024 */ lwc1 $f0, 0x24($s0)
/* C0C0 80030CC0 E620000C */ swc1 $f0, 0xc($s1)
/* C0C4 80030CC4 C6000018 */ lwc1 $f0, 0x18($s0)
/* C0C8 80030CC8 E6200010 */ swc1 $f0, 0x10($s1)
/* C0CC 80030CCC C6000020 */ lwc1 $f0, 0x20($s0)
/* C0D0 80030CD0 0800C33C */ j .L80030CF0
/* C0D4 80030CD4 E6200018 */ swc1 $f0, 0x18($s1)
.L80030CD8:
/* C0D8 80030CD8 52E00006 */ beql $s7, $zero, .L80030CF4
/* C0DC 80030CDC E63E0014 */ swc1 $f30, 0x14($s1)
/* C0E0 80030CE0 C6400010 */ lwc1 $f0, 0x10($s2)
/* C0E4 80030CE4 E6200010 */ swc1 $f0, 0x10($s1)
/* C0E8 80030CE8 C6400018 */ lwc1 $f0, 0x18($s2)
/* C0EC 80030CEC E6200018 */ swc1 $f0, 0x18($s1)
.L80030CF0:
/* C0F0 80030CF0 E63E0014 */ swc1 $f30, 0x14($s1)
.L80030CF4:
/* C0F4 80030CF4 0800C3CA */ j .L80030F28
/* C0F8 80030CF8 2402FFFF */ addiu $v0, $zero, -1
/* C0FC 80030CFC 8E020028 */ lw $v0, 0x28($s0)
/* C100 80030D00 1440003A */ bnez $v0, .L80030DEC
/* C104 80030D04 00000000 */ nop
/* C108 80030D08 C60C0010 */ lwc1 $f12, 0x10($s0)
/* C10C 80030D0C C6060018 */ lwc1 $f6, 0x18($s0)
/* C110 80030D10 460C3181 */ sub.s $f6, $f6, $f12
/* C114 80030D14 46063102 */ mul.s $f4, $f6, $f6
/* C118 80030D18 00000000 */ nop
/* C11C 80030D1C C60A001C */ lwc1 $f10, 0x1c($s0)
/* C120 80030D20 C6080020 */ lwc1 $f8, 0x20($s0)
/* C124 80030D24 460A4201 */ sub.s $f8, $f8, $f10
/* C128 80030D28 46084382 */ mul.s $f14, $f8, $f8
/* C12C 80030D2C 00000000 */ nop
/* C130 80030D30 460CC081 */ sub.s $f2, $f24, $f12
/* C134 80030D34 46061082 */ mul.s $f2, $f2, $f6
/* C138 80030D38 00000000 */ nop
/* C13C 80030D3C 460AD001 */ sub.s $f0, $f26, $f10
/* C140 80030D40 46080002 */ mul.s $f0, $f0, $f8
/* C144 80030D44 00000000 */ nop
/* C148 80030D48 460E2100 */ add.s $f4, $f4, $f14
/* C14C 80030D4C 46001080 */ add.s $f2, $f2, $f0
/* C150 80030D50 46041103 */ div.s $f4, $f2, $f4
/* C154 80030D54 46062182 */ mul.s $f6, $f4, $f6
/* C158 80030D58 00000000 */ nop
/* C15C 80030D5C 46082102 */ mul.s $f4, $f4, $f8
/* C160 80030D60 00000000 */ nop
/* C164 80030D64 460C3080 */ add.s $f2, $f6, $f12
/* C168 80030D68 44800000 */ mtc1 $zero, $f0
/* C16C 80030D6C 460A2100 */ add.s $f4, $f4, $f10
/* C170 80030D70 E63E0014 */ swc1 $f30, 0x14($s1)
/* C174 80030D74 E6220010 */ swc1 $f2, 0x10($s1)
/* C178 80030D78 E6240018 */ swc1 $f4, 0x18($s1)
/* C17C 80030D7C C6080004 */ lwc1 $f8, 4($s0)
/* C180 80030D80 4600403C */ c.lt.s $f8, $f0
/* C184 80030D84 00000000 */ nop
/* C188 80030D88 45000008 */ bc1f .L80030DAC
/* C18C 80030D8C 00000000 */ nop
/* C190 80030D90 C600000C */ lwc1 $f0, 0xc($s0)
/* C194 80030D94 46001581 */ sub.s $f22, $f2, $f0
/* C198 80030D98 C6020014 */ lwc1 $f2, 0x14($s0)
/* C19C 80030D9C 46004007 */ neg.s $f0, $f8
/* C1A0 80030DA0 E6200004 */ swc1 $f0, 4($s1)
/* C1A4 80030DA4 0800C370 */ j .L80030DC0
/* C1A8 80030DA8 46022501 */ sub.s $f20, $f4, $f2
.L80030DAC:
/* C1AC 80030DAC C600000C */ lwc1 $f0, 0xc($s0)
/* C1B0 80030DB0 46020581 */ sub.s $f22, $f0, $f2
/* C1B4 80030DB4 C6000014 */ lwc1 $f0, 0x14($s0)
/* C1B8 80030DB8 E6280004 */ swc1 $f8, 4($s1)
/* C1BC 80030DBC 46040501 */ sub.s $f20, $f0, $f4
.L80030DC0:
/* C1C0 80030DC0 4406B000 */ mfc1 $a2, $f22
/* C1C4 80030DC4 44806000 */ mtc1 $zero, $f12
/* C1C8 80030DC8 4407A000 */ mfc1 $a3, $f20
/* C1CC 80030DCC 0C00A710 */ jal func_80029C40
/* C1D0 80030DD0 46006386 */ mov.s $f14, $f12
/* C1D4 80030DD4 E6200000 */ swc1 $f0, ($s1)
/* C1D8 80030DD8 C6000008 */ lwc1 $f0, 8($s0)
/* C1DC 80030DDC E6200008 */ swc1 $f0, 8($s1)
/* C1E0 80030DE0 C6000024 */ lwc1 $f0, 0x24($s0)
/* C1E4 80030DE4 0800C3A6 */ j .L80030E98
/* C1E8 80030DE8 E620000C */ swc1 $f0, 0xc($s1)
.L80030DEC:
/* C1EC 80030DEC 12A00023 */ beqz $s5, .L80030E7C
/* C1F0 80030DF0 00000000 */ nop
/* C1F4 80030DF4 C6060004 */ lwc1 $f6, 4($s0)
/* C1F8 80030DF8 44800000 */ mtc1 $zero, $f0
/* C1FC 80030DFC 00000000 */ nop
/* C200 80030E00 4600303C */ c.lt.s $f6, $f0
/* C204 80030E04 00000000 */ nop
/* C208 80030E08 4500000A */ bc1f .L80030E34
/* C20C 80030E0C 00000000 */ nop
/* C210 80030E10 C6020018 */ lwc1 $f2, 0x18($s0)
/* C214 80030E14 C600000C */ lwc1 $f0, 0xc($s0)
/* C218 80030E18 46001581 */ sub.s $f22, $f2, $f0
/* C21C 80030E1C C6040020 */ lwc1 $f4, 0x20($s0)
/* C220 80030E20 C6020014 */ lwc1 $f2, 0x14($s0)
/* C224 80030E24 46003007 */ neg.s $f0, $f6
/* C228 80030E28 E6200004 */ swc1 $f0, 4($s1)
/* C22C 80030E2C 0800C394 */ j .L80030E50
/* C230 80030E30 46022501 */ sub.s $f20, $f4, $f2
.L80030E34:
/* C234 80030E34 C602000C */ lwc1 $f2, 0xc($s0)
/* C238 80030E38 C6000018 */ lwc1 $f0, 0x18($s0)
/* C23C 80030E3C 46001581 */ sub.s $f22, $f2, $f0
/* C240 80030E40 C6020014 */ lwc1 $f2, 0x14($s0)
/* C244 80030E44 C6000020 */ lwc1 $f0, 0x20($s0)
/* C248 80030E48 E6260004 */ swc1 $f6, 4($s1)
/* C24C 80030E4C 46001501 */ sub.s $f20, $f2, $f0
.L80030E50:
/* C250 80030E50 4406B000 */ mfc1 $a2, $f22
/* C254 80030E54 44806000 */ mtc1 $zero, $f12
/* C258 80030E58 4407A000 */ mfc1 $a3, $f20
/* C25C 80030E5C 0C00A710 */ jal func_80029C40
/* C260 80030E60 46006386 */ mov.s $f14, $f12
/* C264 80030E64 E6200000 */ swc1 $f0, ($s1)
/* C268 80030E68 C6000008 */ lwc1 $f0, 8($s0)
/* C26C 80030E6C E6200008 */ swc1 $f0, 8($s1)
/* C270 80030E70 C6000024 */ lwc1 $f0, 0x24($s0)
/* C274 80030E74 0800C3A1 */ j .L80030E84
/* C278 80030E78 E620000C */ swc1 $f0, 0xc($s1)
.L80030E7C:
/* C27C 80030E7C 52E00006 */ beql $s7, $zero, .L80030E98
/* C280 80030E80 E63E0014 */ swc1 $f30, 0x14($s1)
.L80030E84:
/* C284 80030E84 C6000018 */ lwc1 $f0, 0x18($s0)
/* C288 80030E88 E6200010 */ swc1 $f0, 0x10($s1)
/* C28C 80030E8C C6000020 */ lwc1 $f0, 0x20($s0)
/* C290 80030E90 E6200018 */ swc1 $f0, 0x18($s1)
/* C294 80030E94 E63E0014 */ swc1 $f30, 0x14($s1)
.L80030E98:
/* C298 80030E98 0800C3CA */ j .L80030F28
/* C29C 80030E9C 2402FFFF */ addiu $v0, $zero, -1
/* C2A0 80030EA0 E6380010 */ swc1 $f24, 0x10($s1)
/* C2A4 80030EA4 E63E0014 */ swc1 $f30, 0x14($s1)
/* C2A8 80030EA8 0800C3CB */ j .L80030F2C
/* C2AC 80030EAC E63A0018 */ swc1 $f26, 0x18($s1)
/* C2B0 80030EB0 C6020018 */ lwc1 $f2, 0x18($s0)
/* C2B4 80030EB4 C600000C */ lwc1 $f0, 0xc($s0)
/* C2B8 80030EB8 46001081 */ sub.s $f2, $f2, $f0
/* C2BC 80030EBC C6000014 */ lwc1 $f0, 0x14($s0)
/* C2C0 80030EC0 44061000 */ mfc1 $a2, $f2
/* C2C4 80030EC4 C6020020 */ lwc1 $f2, 0x20($s0)
/* C2C8 80030EC8 4480A000 */ mtc1 $zero, $f20
/* C2CC 80030ECC 46001081 */ sub.s $f2, $f2, $f0
/* C2D0 80030ED0 4600A306 */ mov.s $f12, $f20
/* C2D4 80030ED4 44071000 */ mfc1 $a3, $f2
/* C2D8 80030ED8 0C00A710 */ jal func_80029C40
/* C2DC 80030EDC 4600A386 */ mov.s $f14, $f20
/* C2E0 80030EE0 E6200000 */ swc1 $f0, ($s1)
/* C2E4 80030EE4 C6000004 */ lwc1 $f0, 4($s0)
/* C2E8 80030EE8 4614003C */ c.lt.s $f0, $f20
/* C2EC 80030EEC 00000000 */ nop
/* C2F0 80030EF0 45030001 */ bc1tl .L80030EF8
/* C2F4 80030EF4 46000007 */ neg.s $f0, $f0
.L80030EF8:
/* C2F8 80030EF8 E6200004 */ swc1 $f0, 4($s1)
/* C2FC 80030EFC C6000008 */ lwc1 $f0, 8($s0)
/* C300 80030F00 E6200008 */ swc1 $f0, 8($s1)
/* C304 80030F04 C6000024 */ lwc1 $f0, 0x24($s0)
/* C308 80030F08 E620000C */ swc1 $f0, 0xc($s1)
/* C30C 80030F0C C6000018 */ lwc1 $f0, 0x18($s0)
/* C310 80030F10 E6200010 */ swc1 $f0, 0x10($s1)
/* C314 80030F14 C600001C */ lwc1 $f0, 0x1c($s0)
/* C318 80030F18 E6200014 */ swc1 $f0, 0x14($s1)
/* C31C 80030F1C C6000020 */ lwc1 $f0, 0x20($s0)
/* C320 80030F20 2402FFFE */ addiu $v0, $zero, -2
/* C324 80030F24 E6200018 */ swc1 $f0, 0x18($s1)
.L80030F28:
/* C328 80030F28 AE820000 */ sw $v0, ($s4)
.L80030F2C:
/* C32C 80030F2C 12E00048 */ beqz $s7, .L80031050
/* C330 80030F30 24020005 */ addiu $v0, $zero, 5
/* C334 80030F34 8E030000 */ lw $v1, ($s0)
/* C338 80030F38 10620007 */ beq $v1, $v0, .L80030F58
/* C33C 80030F3C 00000000 */ nop
/* C340 80030F40 C6420000 */ lwc1 $f2, ($s2)
/* C344 80030F44 C6600000 */ lwc1 $f0, ($s3)
/* C348 80030F48 46001032 */ c.eq.s $f2, $f0
/* C34C 80030F4C 00000000 */ nop
/* C350 80030F50 4501003F */ bc1t .L80031050
/* C354 80030F54 00000000 */ nop
.L80030F58:
/* C358 80030F58 C6400000 */ lwc1 $f0, ($s2)
/* C35C 80030F5C C6620000 */ lwc1 $f2, ($s3)
/* C360 80030F60 46020001 */ sub.s $f0, $f0, $f2
/* C364 80030F64 3C014040 */ lui $at, 0x4040
/* C368 80030F68 44811000 */ mtc1 $at, $f2
/* C36C 80030F6C 46000005 */ abs.s $f0, $f0
/* C370 80030F70 4602003C */ c.lt.s $f0, $f2
/* C374 80030F74 00000000 */ nop
/* C378 80030F78 45000035 */ bc1f .L80031050
/* C37C 80030F7C 00000000 */ nop
/* C380 80030F80 C6400004 */ lwc1 $f0, 4($s2)
/* C384 80030F84 C6620004 */ lwc1 $f2, 4($s3)
/* C388 80030F88 46020001 */ sub.s $f0, $f0, $f2
/* C38C 80030F8C 3C014120 */ lui $at, 0x4120
/* C390 80030F90 44812000 */ mtc1 $at, $f4
/* C394 80030F94 46000005 */ abs.s $f0, $f0
/* C398 80030F98 4604003C */ c.lt.s $f0, $f4
/* C39C 80030F9C 00000000 */ nop
/* C3A0 80030FA0 4500002B */ bc1f .L80031050
/* C3A4 80030FA4 00000000 */ nop
/* C3A8 80030FA8 C6400008 */ lwc1 $f0, 8($s2)
/* C3AC 80030FAC C6620008 */ lwc1 $f2, 8($s3)
/* C3B0 80030FB0 46020001 */ sub.s $f0, $f0, $f2
/* C3B4 80030FB4 3C013F80 */ lui $at, 0x3f80
/* C3B8 80030FB8 44813000 */ mtc1 $at, $f6
/* C3BC 80030FBC 46000005 */ abs.s $f0, $f0
/* C3C0 80030FC0 4606003C */ c.lt.s $f0, $f6
/* C3C4 80030FC4 00000000 */ nop
/* C3C8 80030FC8 45000021 */ bc1f .L80031050
/* C3CC 80030FCC 00000000 */ nop
/* C3D0 80030FD0 C640000C */ lwc1 $f0, 0xc($s2)
/* C3D4 80030FD4 C662000C */ lwc1 $f2, 0xc($s3)
/* C3D8 80030FD8 46020001 */ sub.s $f0, $f0, $f2
/* C3DC 80030FDC 46000005 */ abs.s $f0, $f0
/* C3E0 80030FE0 4606003C */ c.lt.s $f0, $f6
/* C3E4 80030FE4 00000000 */ nop
/* C3E8 80030FE8 45000019 */ bc1f .L80031050
/* C3EC 80030FEC 00000000 */ nop
/* C3F0 80030FF0 C6400010 */ lwc1 $f0, 0x10($s2)
/* C3F4 80030FF4 C6620010 */ lwc1 $f2, 0x10($s3)
/* C3F8 80030FF8 46020001 */ sub.s $f0, $f0, $f2
/* C3FC 80030FFC 46000005 */ abs.s $f0, $f0
/* C400 80031000 4604003C */ c.lt.s $f0, $f4
/* C404 80031004 00000000 */ nop
/* C408 80031008 45000011 */ bc1f .L80031050
/* C40C 8003100C 00000000 */ nop
/* C410 80031010 C6400014 */ lwc1 $f0, 0x14($s2)
/* C414 80031014 C6620014 */ lwc1 $f2, 0x14($s3)
/* C418 80031018 46020001 */ sub.s $f0, $f0, $f2
/* C41C 8003101C 46000005 */ abs.s $f0, $f0
/* C420 80031020 4604003C */ c.lt.s $f0, $f4
/* C424 80031024 00000000 */ nop
/* C428 80031028 45000009 */ bc1f .L80031050
/* C42C 8003102C 00000000 */ nop
/* C430 80031030 C6400018 */ lwc1 $f0, 0x18($s2)
/* C434 80031034 C6620018 */ lwc1 $f2, 0x18($s3)
/* C438 80031038 46020001 */ sub.s $f0, $f0, $f2
/* C43C 8003103C 46000005 */ abs.s $f0, $f0
/* C440 80031040 4604003C */ c.lt.s $f0, $f4
/* C444 80031044 00000000 */ nop
/* C448 80031048 45030001 */ bc1tl .L80031050
/* C44C 8003104C E6C60000 */ swc1 $f6, ($s6)
.L80031050:
/* C450 80031050 8E830000 */ lw $v1, ($s4)
/* C454 80031054 2402FFFF */ addiu $v0, $zero, -1
/* C458 80031058 14620021 */ bne $v1, $v0, .L800310E0
/* C45C 8003105C 00000000 */ nop
/* C460 80031060 12E00010 */ beqz $s7, .L800310A4
/* C464 80031064 00000000 */ nop
/* C468 80031068 C6460010 */ lwc1 $f6, 0x10($s2)
/* C46C 8003106C C6600010 */ lwc1 $f0, 0x10($s3)
/* C470 80031070 C6440014 */ lwc1 $f4, 0x14($s2)
/* C474 80031074 46003181 */ sub.s $f6, $f6, $f0
/* C478 80031078 C6600014 */ lwc1 $f0, 0x14($s3)
/* C47C 8003107C C6420018 */ lwc1 $f2, 0x18($s2)
/* C480 80031080 46002101 */ sub.s $f4, $f4, $f0
/* C484 80031084 C6600018 */ lwc1 $f0, 0x18($s3)
/* C488 80031088 46001081 */ sub.s $f2, $f2, $f0
/* C48C 8003108C 3C01800A */ lui $at, %hi(D_8009E6F4)
/* C490 80031090 E426E6F4 */ swc1 $f6, %lo(D_8009E6F4)($at)
/* C494 80031094 3C01800A */ lui $at, %hi(D_8009E6F8)
/* C498 80031098 E424E6F8 */ swc1 $f4, %lo(D_8009E6F8)($at)
/* C49C 8003109C 3C01800A */ lui $at, %hi(D_8009E6FC)
/* C4A0 800310A0 E422E6FC */ swc1 $f2, %lo(D_8009E6FC)($at)
.L800310A4:
/* C4A4 800310A4 C6600010 */ lwc1 $f0, 0x10($s3)
/* C4A8 800310A8 3C01800A */ lui $at, %hi(D_8009E6F4)
/* C4AC 800310AC C422E6F4 */ lwc1 $f2, %lo(D_8009E6F4)($at)
/* C4B0 800310B0 46020000 */ add.s $f0, $f0, $f2
/* C4B4 800310B4 3C01800A */ lui $at, %hi(D_8009E6F8)
/* C4B8 800310B8 C422E6F8 */ lwc1 $f2, %lo(D_8009E6F8)($at)
/* C4BC 800310BC E6400010 */ swc1 $f0, 0x10($s2)
/* C4C0 800310C0 C6600014 */ lwc1 $f0, 0x14($s3)
/* C4C4 800310C4 46020000 */ add.s $f0, $f0, $f2
/* C4C8 800310C8 3C01800A */ lui $at, %hi(D_8009E6FC)
/* C4CC 800310CC C422E6FC */ lwc1 $f2, %lo(D_8009E6FC)($at)
/* C4D0 800310D0 E6400014 */ swc1 $f0, 0x14($s2)
/* C4D4 800310D4 C6600018 */ lwc1 $f0, 0x18($s3)
/* C4D8 800310D8 46020000 */ add.s $f0, $f0, $f2
/* C4DC 800310DC E6400018 */ swc1 $f0, 0x18($s2)
.L800310E0:
/* C4E0 800310E0 8FBF0048 */ lw $ra, 0x48($sp)
/* C4E4 800310E4 8FB70044 */ lw $s7, 0x44($sp)
/* C4E8 800310E8 8FB60040 */ lw $s6, 0x40($sp)
/* C4EC 800310EC 8FB5003C */ lw $s5, 0x3c($sp)
/* C4F0 800310F0 8FB40038 */ lw $s4, 0x38($sp)
/* C4F4 800310F4 8FB30034 */ lw $s3, 0x34($sp)
/* C4F8 800310F8 8FB20030 */ lw $s2, 0x30($sp)
/* C4FC 800310FC 8FB1002C */ lw $s1, 0x2c($sp)
/* C500 80031100 8FB00028 */ lw $s0, 0x28($sp)
/* C504 80031104 D7BE0078 */ ldc1 $f30, 0x78($sp)
/* C508 80031108 D7BC0070 */ ldc1 $f28, 0x70($sp)
/* C50C 8003110C D7BA0068 */ ldc1 $f26, 0x68($sp)
/* C510 80031110 D7B80060 */ ldc1 $f24, 0x60($sp)
/* C514 80031114 D7B60058 */ ldc1 $f22, 0x58($sp)
/* C518 80031118 D7B40050 */ ldc1 $f20, 0x50($sp)
/* C51C 8003111C 03E00008 */ jr $ra
/* C520 80031120 27BD0080 */ addiu $sp, $sp, 0x80