
;  GNU C 2.7.2 [AL 1.1, MM 40] RISC NEWS-OS compiled by CC

;  Cc1 defaults:
;  -mmemcpy

;  Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1):
;  -quiet -dumpbase -O2 -Wall -o

gcc2_compiled.:
__gnu_compiled_c:
	.code
	.align	1
	.global	frnd
frnd:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	rnd32@rm	; 	xcall	rnd32
	call	rnd32@rl
	ext	0xf		; 	xand	%r10,%r10,0x000003ff
	and	%r10,0x3f
	ret
	.align	1
	.global	frnd_range
frnd_range:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	rnd32_range@rm	; 	xcall	rnd32_range
	call	rnd32_range@rl
	ret
; APP
	
	.code
	.align 1
	.global fsqrt
fsqrt:
	ld.w %r13, %r12		; %r13:%r12 = a<<FRACT_BITS
	sll	%r12,0x8	; 	xsll %r12, 10		; 10=FRACT_BITS
	sll	%r12,0x2
	srl	%r13,0x8	; 	xsrl %r13, 22		; 22=VALUE_BITS
	srl	%r13,0x8
	srl	%r13,0x6
	;
	ld.w	%r10,0x0	; 	xld.w %r10, 0
	ext	0x1000		; 	xld.w %r11, 0x80000000	; ※TODO:もっと小さな数から始めてもいい
	ext	0x0
	ld.w	%r11,0x0
	;
__fsqrt_loop:
	mltu.w %r10, %r10	; %ahr:%alr = %r10*%r10
	ld.w %r15, %ahr
	cmp %r15, %r13
	jrult	__fsqrt_ult	; 	xjrult __fsqrt_ult
	jrugt	__fsqrt_ugt	; 	xjrugt __fsqrt_ugt
	ld.w %r14, %alr		; (ld.w %rd,%ss はdelay不可!!) -> 2006/07/11追記 undoc'dでdelay可だが、この行はdelayにする意味無し。
	cmp %r14, %r12
	jrult	__fsqrt_ult	; 	xjrult __fsqrt_ult
	jrugt	__fsqrt_ugt	; 	xjrugt __fsqrt_ugt
	ret			; %r10*%r10 == a<<FRACT_SCALE
	;
__fsqrt_ult:			; %r10*%r10 <  a<<FRACT_SCALE
	add %r10, %r11
	srl	%r11,0x1	; 	xsrl %r11, 1
	jrne	__fsqrt_loop	; 	xjrne __fsqrt_loop
	ret
	;
__fsqrt_ugt:			; %r10*%r10 >  a<<FRACT_SCALE
	sub %r10, %r11
	srl	%r11,0x1	; 	xsrl %r11, 1
	jrne	__fsqrt_loop	; 	xjrne __fsqrt_loop
	ret
	
; NO_APP
	.align	1
	.global	fsin
fsin:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	ext	0x19		; 	xsub	%r12,%r12,1608
	sub	%r12,0x8
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ret
	.code
	.align	2
fcos_tbl:
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1024
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1023
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1022
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1021
	.half	1020
	.half	1020
	.half	1020
	.half	1020
	.half	1020
	.half	1020
	.half	1020
	.half	1020
	.half	1020
	.half	1020
	.half	1020
	.half	1020
	.half	1019
	.half	1019
	.half	1019
	.half	1019
	.half	1019
	.half	1019
	.half	1019
	.half	1019
	.half	1019
	.half	1019
	.half	1018
	.half	1018
	.half	1018
	.half	1018
	.half	1018
	.half	1018
	.half	1018
	.half	1018
	.half	1018
	.half	1017
	.half	1017
	.half	1017
	.half	1017
	.half	1017
	.half	1017
	.half	1017
	.half	1017
	.half	1016
	.half	1016
	.half	1016
	.half	1016
	.half	1016
	.half	1016
	.half	1016
	.half	1016
	.half	1015
	.half	1015
	.half	1015
	.half	1015
	.half	1015
	.half	1015
	.half	1015
	.half	1015
	.half	1014
	.half	1014
	.half	1014
	.half	1014
	.half	1014
	.half	1014
	.half	1014
	.half	1013
	.half	1013
	.half	1013
	.half	1013
	.half	1013
	.half	1013
	.half	1013
	.half	1012
	.half	1012
	.half	1012
	.half	1012
	.half	1012
	.half	1012
	.half	1012
	.half	1011
	.half	1011
	.half	1011
	.half	1011
	.half	1011
	.half	1011
	.half	1010
	.half	1010
	.half	1010
	.half	1010
	.half	1010
	.half	1010
	.half	1009
	.half	1009
	.half	1009
	.half	1009
	.half	1009
	.half	1009
	.half	1008
	.half	1008
	.half	1008
	.half	1008
	.half	1008
	.half	1008
	.half	1007
	.half	1007
	.half	1007
	.half	1007
	.half	1007
	.half	1006
	.half	1006
	.half	1006
	.half	1006
	.half	1006
	.half	1005
	.half	1005
	.half	1005
	.half	1005
	.half	1005
	.half	1005
	.half	1004
	.half	1004
	.half	1004
	.half	1004
	.half	1004
	.half	1003
	.half	1003
	.half	1003
	.half	1003
	.half	1003
	.half	1002
	.half	1002
	.half	1002
	.half	1002
	.half	1001
	.half	1001
	.half	1001
	.half	1001
	.half	1001
	.half	1000
	.half	1000
	.half	1000
	.half	1000
	.half	1000
	.half	999
	.half	999
	.half	999
	.half	999
	.half	998
	.half	998
	.half	998
	.half	998
	.half	998
	.half	997
	.half	997
	.half	997
	.half	997
	.half	996
	.half	996
	.half	996
	.half	996
	.half	996
	.half	995
	.half	995
	.half	995
	.half	995
	.half	994
	.half	994
	.half	994
	.half	994
	.half	993
	.half	993
	.half	993
	.half	993
	.half	992
	.half	992
	.half	992
	.half	992
	.half	991
	.half	991
	.half	991
	.half	991
	.half	990
	.half	990
	.half	990
	.half	990
	.half	989
	.half	989
	.half	989
	.half	989
	.half	988
	.half	988
	.half	988
	.half	988
	.half	987
	.half	987
	.half	987
	.half	986
	.half	986
	.half	986
	.half	986
	.half	985
	.half	985
	.half	985
	.half	985
	.half	984
	.half	984
	.half	984
	.half	983
	.half	983
	.half	983
	.half	983
	.half	982
	.half	982
	.half	982
	.half	981
	.half	981
	.half	981
	.half	981
	.half	980
	.half	980
	.half	980
	.half	979
	.half	979
	.half	979
	.half	979
	.half	978
	.half	978
	.half	978
	.half	977
	.half	977
	.half	977
	.half	977
	.half	976
	.half	976
	.half	976
	.half	975
	.half	975
	.half	975
	.half	974
	.half	974
	.half	974
	.half	973
	.half	973
	.half	973
	.half	973
	.half	972
	.half	972
	.half	972
	.half	971
	.half	971
	.half	971
	.half	970
	.half	970
	.half	970
	.half	969
	.half	969
	.half	969
	.half	968
	.half	968
	.half	968
	.half	967
	.half	967
	.half	967
	.half	966
	.half	966
	.half	966
	.half	965
	.half	965
	.half	965
	.half	964
	.half	964
	.half	964
	.half	963
	.half	963
	.half	963
	.half	962
	.half	962
	.half	962
	.half	961
	.half	961
	.half	961
	.half	960
	.half	960
	.half	960
	.half	959
	.half	959
	.half	959
	.half	958
	.half	958
	.half	957
	.half	957
	.half	957
	.half	956
	.half	956
	.half	956
	.half	955
	.half	955
	.half	955
	.half	954
	.half	954
	.half	954
	.half	953
	.half	953
	.half	952
	.half	952
	.half	952
	.half	951
	.half	951
	.half	951
	.half	950
	.half	950
	.half	949
	.half	949
	.half	949
	.half	948
	.half	948
	.half	948
	.half	947
	.half	947
	.half	946
	.half	946
	.half	946
	.half	945
	.half	945
	.half	945
	.half	944
	.half	944
	.half	943
	.half	943
	.half	943
	.half	942
	.half	942
	.half	941
	.half	941
	.half	941
	.half	940
	.half	940
	.half	939
	.half	939
	.half	939
	.half	938
	.half	938
	.half	937
	.half	937
	.half	937
	.half	936
	.half	936
	.half	935
	.half	935
	.half	935
	.half	934
	.half	934
	.half	933
	.half	933
	.half	933
	.half	932
	.half	932
	.half	931
	.half	931
	.half	930
	.half	930
	.half	930
	.half	929
	.half	929
	.half	928
	.half	928
	.half	927
	.half	927
	.half	927
	.half	926
	.half	926
	.half	925
	.half	925
	.half	925
	.half	924
	.half	924
	.half	923
	.half	923
	.half	922
	.half	922
	.half	921
	.half	921
	.half	921
	.half	920
	.half	920
	.half	919
	.half	919
	.half	918
	.half	918
	.half	918
	.half	917
	.half	917
	.half	916
	.half	916
	.half	915
	.half	915
	.half	914
	.half	914
	.half	913
	.half	913
	.half	913
	.half	912
	.half	912
	.half	911
	.half	911
	.half	910
	.half	910
	.half	909
	.half	909
	.half	908
	.half	908
	.half	908
	.half	907
	.half	907
	.half	906
	.half	906
	.half	905
	.half	905
	.half	904
	.half	904
	.half	903
	.half	903
	.half	902
	.half	902
	.half	901
	.half	901
	.half	900
	.half	900
	.half	900
	.half	899
	.half	899
	.half	898
	.half	898
	.half	897
	.half	897
	.half	896
	.half	896
	.half	895
	.half	895
	.half	894
	.half	894
	.half	893
	.half	893
	.half	892
	.half	892
	.half	891
	.half	891
	.half	890
	.half	890
	.half	889
	.half	889
	.half	888
	.half	888
	.half	887
	.half	887
	.half	886
	.half	886
	.half	885
	.half	885
	.half	884
	.half	884
	.half	883
	.half	883
	.half	882
	.half	882
	.half	881
	.half	881
	.half	880
	.half	880
	.half	879
	.half	879
	.half	878
	.half	878
	.half	877
	.half	877
	.half	876
	.half	876
	.half	875
	.half	875
	.half	874
	.half	874
	.half	873
	.half	872
	.half	872
	.half	871
	.half	871
	.half	870
	.half	870
	.half	869
	.half	869
	.half	868
	.half	868
	.half	867
	.half	867
	.half	866
	.half	866
	.half	865
	.half	865
	.half	864
	.half	863
	.half	863
	.half	862
	.half	862
	.half	861
	.half	861
	.half	860
	.half	860
	.half	859
	.half	859
	.half	858
	.half	857
	.half	857
	.half	856
	.half	856
	.half	855
	.half	855
	.half	854
	.half	854
	.half	853
	.half	853
	.half	852
	.half	851
	.half	851
	.half	850
	.half	850
	.half	849
	.half	849
	.half	848
	.half	848
	.half	847
	.half	846
	.half	846
	.half	845
	.half	845
	.half	844
	.half	844
	.half	843
	.half	842
	.half	842
	.half	841
	.half	841
	.half	840
	.half	840
	.half	839
	.half	838
	.half	838
	.half	837
	.half	837
	.half	836
	.half	836
	.half	835
	.half	834
	.half	834
	.half	833
	.half	833
	.half	832
	.half	831
	.half	831
	.half	830
	.half	830
	.half	829
	.half	829
	.half	828
	.half	827
	.half	827
	.half	826
	.half	826
	.half	825
	.half	824
	.half	824
	.half	823
	.half	823
	.half	822
	.half	821
	.half	821
	.half	820
	.half	820
	.half	819
	.half	818
	.half	818
	.half	817
	.half	817
	.half	816
	.half	815
	.half	815
	.half	814
	.half	814
	.half	813
	.half	812
	.half	812
	.half	811
	.half	811
	.half	810
	.half	809
	.half	809
	.half	808
	.half	807
	.half	807
	.half	806
	.half	806
	.half	805
	.half	804
	.half	804
	.half	803
	.half	803
	.half	802
	.half	801
	.half	801
	.half	800
	.half	799
	.half	799
	.half	798
	.half	798
	.half	797
	.half	796
	.half	796
	.half	795
	.half	794
	.half	794
	.half	793
	.half	793
	.half	792
	.half	791
	.half	791
	.half	790
	.half	789
	.half	789
	.half	788
	.half	787
	.half	787
	.half	786
	.half	786
	.half	785
	.half	784
	.half	784
	.half	783
	.half	782
	.half	782
	.half	781
	.half	780
	.half	780
	.half	779
	.half	778
	.half	778
	.half	777
	.half	776
	.half	776
	.half	775
	.half	774
	.half	774
	.half	773
	.half	773
	.half	772
	.half	771
	.half	771
	.half	770
	.half	769
	.half	769
	.half	768
	.half	767
	.half	767
	.half	766
	.half	765
	.half	765
	.half	764
	.half	763
	.half	763
	.half	762
	.half	761
	.half	761
	.half	760
	.half	759
	.half	759
	.half	758
	.half	757
	.half	757
	.half	756
	.half	755
	.half	755
	.half	754
	.half	753
	.half	752
	.half	752
	.half	751
	.half	750
	.half	750
	.half	749
	.half	748
	.half	748
	.half	747
	.half	746
	.half	746
	.half	745
	.half	744
	.half	744
	.half	743
	.half	742
	.half	742
	.half	741
	.half	740
	.half	739
	.half	739
	.half	738
	.half	737
	.half	737
	.half	736
	.half	735
	.half	735
	.half	734
	.half	733
	.half	733
	.half	732
	.half	731
	.half	730
	.half	730
	.half	729
	.half	728
	.half	728
	.half	727
	.half	726
	.half	725
	.half	725
	.half	724
	.half	723
	.half	723
	.half	722
	.half	721
	.half	721
	.half	720
	.half	719
	.half	718
	.half	718
	.half	717
	.half	716
	.half	716
	.half	715
	.half	714
	.half	713
	.half	713
	.half	712
	.half	711
	.half	711
	.half	710
	.half	709
	.half	708
	.half	708
	.half	707
	.half	706
	.half	705
	.half	705
	.half	704
	.half	703
	.half	703
	.half	702
	.half	701
	.half	700
	.half	700
	.half	699
	.half	698
	.half	697
	.half	697
	.half	696
	.half	695
	.half	695
	.half	694
	.half	693
	.half	692
	.half	692
	.half	691
	.half	690
	.half	689
	.half	689
	.half	688
	.half	687
	.half	686
	.half	686
	.half	685
	.half	684
	.half	683
	.half	683
	.half	682
	.half	681
	.half	680
	.half	680
	.half	679
	.half	678
	.half	677
	.half	677
	.half	676
	.half	675
	.half	674
	.half	674
	.half	673
	.half	672
	.half	671
	.half	671
	.half	670
	.half	669
	.half	668
	.half	668
	.half	667
	.half	666
	.half	665
	.half	665
	.half	664
	.half	663
	.half	662
	.half	662
	.half	661
	.half	660
	.half	659
	.half	658
	.half	658
	.half	657
	.half	656
	.half	655
	.half	655
	.half	654
	.half	653
	.half	652
	.half	652
	.half	651
	.half	650
	.half	649
	.half	648
	.half	648
	.half	647
	.half	646
	.half	645
	.half	645
	.half	644
	.half	643
	.half	642
	.half	641
	.half	641
	.half	640
	.half	639
	.half	638
	.half	638
	.half	637
	.half	636
	.half	635
	.half	634
	.half	634
	.half	633
	.half	632
	.half	631
	.half	630
	.half	630
	.half	629
	.half	628
	.half	627
	.half	627
	.half	626
	.half	625
	.half	624
	.half	623
	.half	623
	.half	622
	.half	621
	.half	620
	.half	619
	.half	619
	.half	618
	.half	617
	.half	616
	.half	615
	.half	615
	.half	614
	.half	613
	.half	612
	.half	611
	.half	611
	.half	610
	.half	609
	.half	608
	.half	607
	.half	607
	.half	606
	.half	605
	.half	604
	.half	603
	.half	603
	.half	602
	.half	601
	.half	600
	.half	599
	.half	598
	.half	598
	.half	597
	.half	596
	.half	595
	.half	594
	.half	594
	.half	593
	.half	592
	.half	591
	.half	590
	.half	590
	.half	589
	.half	588
	.half	587
	.half	586
	.half	585
	.half	585
	.half	584
	.half	583
	.half	582
	.half	581
	.half	580
	.half	580
	.half	579
	.half	578
	.half	577
	.half	576
	.half	576
	.half	575
	.half	574
	.half	573
	.half	572
	.half	571
	.half	571
	.half	570
	.half	569
	.half	568
	.half	567
	.half	566
	.half	566
	.half	565
	.half	564
	.half	563
	.half	562
	.half	561
	.half	561
	.half	560
	.half	559
	.half	558
	.half	557
	.half	556
	.half	556
	.half	555
	.half	554
	.half	553
	.half	552
	.half	551
	.half	550
	.half	550
	.half	549
	.half	548
	.half	547
	.half	546
	.half	545
	.half	545
	.half	544
	.half	543
	.half	542
	.half	541
	.half	540
	.half	539
	.half	539
	.half	538
	.half	537
	.half	536
	.half	535
	.half	534
	.half	534
	.half	533
	.half	532
	.half	531
	.half	530
	.half	529
	.half	528
	.half	528
	.half	527
	.half	526
	.half	525
	.half	524
	.half	523
	.half	522
	.half	521
	.half	521
	.half	520
	.half	519
	.half	518
	.half	517
	.half	516
	.half	515
	.half	515
	.half	514
	.half	513
	.half	512
	.half	511
	.half	510
	.half	509
	.half	509
	.half	508
	.half	507
	.half	506
	.half	505
	.half	504
	.half	503
	.half	502
	.half	502
	.half	501
	.half	500
	.half	499
	.half	498
	.half	497
	.half	496
	.half	495
	.half	495
	.half	494
	.half	493
	.half	492
	.half	491
	.half	490
	.half	489
	.half	488
	.half	488
	.half	487
	.half	486
	.half	485
	.half	484
	.half	483
	.half	482
	.half	481
	.half	481
	.half	480
	.half	479
	.half	478
	.half	477
	.half	476
	.half	475
	.half	474
	.half	473
	.half	473
	.half	472
	.half	471
	.half	470
	.half	469
	.half	468
	.half	467
	.half	466
	.half	465
	.half	465
	.half	464
	.half	463
	.half	462
	.half	461
	.half	460
	.half	459
	.half	458
	.half	457
	.half	456
	.half	456
	.half	455
	.half	454
	.half	453
	.half	452
	.half	451
	.half	450
	.half	449
	.half	448
	.half	448
	.half	447
	.half	446
	.half	445
	.half	444
	.half	443
	.half	442
	.half	441
	.half	440
	.half	439
	.half	438
	.half	438
	.half	437
	.half	436
	.half	435
	.half	434
	.half	433
	.half	432
	.half	431
	.half	430
	.half	429
	.half	429
	.half	428
	.half	427
	.half	426
	.half	425
	.half	424
	.half	423
	.half	422
	.half	421
	.half	420
	.half	419
	.half	419
	.half	418
	.half	417
	.half	416
	.half	415
	.half	414
	.half	413
	.half	412
	.half	411
	.half	410
	.half	409
	.half	408
	.half	408
	.half	407
	.half	406
	.half	405
	.half	404
	.half	403
	.half	402
	.half	401
	.half	400
	.half	399
	.half	398
	.half	397
	.half	396
	.half	396
	.half	395
	.half	394
	.half	393
	.half	392
	.half	391
	.half	390
	.half	389
	.half	388
	.half	387
	.half	386
	.half	385
	.half	384
	.half	384
	.half	383
	.half	382
	.half	381
	.half	380
	.half	379
	.half	378
	.half	377
	.half	376
	.half	375
	.half	374
	.half	373
	.half	372
	.half	371
	.half	371
	.half	370
	.half	369
	.half	368
	.half	367
	.half	366
	.half	365
	.half	364
	.half	363
	.half	362
	.half	361
	.half	360
	.half	359
	.half	358
	.half	357
	.half	356
	.half	356
	.half	355
	.half	354
	.half	353
	.half	352
	.half	351
	.half	350
	.half	349
	.half	348
	.half	347
	.half	346
	.half	345
	.half	344
	.half	343
	.half	342
	.half	341
	.half	340
	.half	340
	.half	339
	.half	338
	.half	337
	.half	336
	.half	335
	.half	334
	.half	333
	.half	332
	.half	331
	.half	330
	.half	329
	.half	328
	.half	327
	.half	326
	.half	325
	.half	324
	.half	323
	.half	323
	.half	322
	.half	321
	.half	320
	.half	319
	.half	318
	.half	317
	.half	316
	.half	315
	.half	314
	.half	313
	.half	312
	.half	311
	.half	310
	.half	309
	.half	308
	.half	307
	.half	306
	.half	305
	.half	304
	.half	303
	.half	303
	.half	302
	.half	301
	.half	300
	.half	299
	.half	298
	.half	297
	.half	296
	.half	295
	.half	294
	.half	293
	.half	292
	.half	291
	.half	290
	.half	289
	.half	288
	.half	287
	.half	286
	.half	285
	.half	284
	.half	283
	.half	282
	.half	281
	.half	280
	.half	279
	.half	279
	.half	278
	.half	277
	.half	276
	.half	275
	.half	274
	.half	273
	.half	272
	.half	271
	.half	270
	.half	269
	.half	268
	.half	267
	.half	266
	.half	265
	.half	264
	.half	263
	.half	262
	.half	261
	.half	260
	.half	259
	.half	258
	.half	257
	.half	256
	.half	255
	.half	254
	.half	253
	.half	252
	.half	251
	.half	251
	.half	250
	.half	249
	.half	248
	.half	247
	.half	246
	.half	245
	.half	244
	.half	243
	.half	242
	.half	241
	.half	240
	.half	239
	.half	238
	.half	237
	.half	236
	.half	235
	.half	234
	.half	233
	.half	232
	.half	231
	.half	230
	.half	229
	.half	228
	.half	227
	.half	226
	.half	225
	.half	224
	.half	223
	.half	222
	.half	221
	.half	220
	.half	219
	.half	218
	.half	217
	.half	216
	.half	215
	.half	214
	.half	213
	.half	213
	.half	212
	.half	211
	.half	210
	.half	209
	.half	208
	.half	207
	.half	206
	.half	205
	.half	204
	.half	203
	.half	202
	.half	201
	.half	200
	.half	199
	.half	198
	.half	197
	.half	196
	.half	195
	.half	194
	.half	193
	.half	192
	.half	191
	.half	190
	.half	189
	.half	188
	.half	187
	.half	186
	.half	185
	.half	184
	.half	183
	.half	182
	.half	181
	.half	180
	.half	179
	.half	178
	.half	177
	.half	176
	.half	175
	.half	174
	.half	173
	.half	172
	.half	171
	.half	170
	.half	169
	.half	168
	.half	167
	.half	166
	.half	165
	.half	164
	.half	163
	.half	162
	.half	161
	.half	160
	.half	159
	.half	158
	.half	157
	.half	156
	.half	155
	.half	154
	.half	153
	.half	152
	.half	151
	.half	150
	.half	150
	.half	149
	.half	148
	.half	147
	.half	146
	.half	145
	.half	144
	.half	143
	.half	142
	.half	141
	.half	140
	.half	139
	.half	138
	.half	137
	.half	136
	.half	135
	.half	134
	.half	133
	.half	132
	.half	131
	.half	130
	.half	129
	.half	128
	.half	127
	.half	126
	.half	125
	.half	124
	.half	123
	.half	122
	.half	121
	.half	120
	.half	119
	.half	118
	.half	117
	.half	116
	.half	115
	.half	114
	.half	113
	.half	112
	.half	111
	.half	110
	.half	109
	.half	108
	.half	107
	.half	106
	.half	105
	.half	104
	.half	103
	.half	102
	.half	101
	.half	100
	.half	99
	.half	98
	.half	97
	.half	96
	.half	95
	.half	94
	.half	93
	.half	92
	.half	91
	.half	90
	.half	89
	.half	88
	.half	87
	.half	86
	.half	85
	.half	84
	.half	83
	.half	82
	.half	81
	.half	80
	.half	79
	.half	78
	.half	77
	.half	76
	.half	75
	.half	74
	.half	73
	.half	72
	.half	71
	.half	70
	.half	69
	.half	68
	.half	67
	.half	66
	.half	65
	.half	64
	.half	63
	.half	62
	.half	61
	.half	60
	.half	59
	.half	58
	.half	57
	.half	56
	.half	55
	.half	54
	.half	53
	.half	52
	.half	51
	.half	50
	.half	49
	.half	48
	.half	47
	.half	46
	.half	45
	.half	44
	.half	43
	.half	42
	.half	41
	.half	40
	.half	39
	.half	38
	.half	37
	.half	36
	.half	35
	.half	34
	.half	33
	.half	32
	.half	31
	.half	30
	.half	29
	.half	28
	.half	27
	.half	26
	.half	25
	.half	24
	.half	23
	.half	22
	.half	21
	.half	20
	.half	19
	.half	18
	.half	17
	.half	16
	.half	15
	.half	14
	.half	13
	.half	12
	.half	11
	.half	10
	.half	9
	.half	8
	.half	7
	.half	6
	.half	5
	.half	4
	.half	3
	.half	2
	.half	1
	.half	0
	.code
	.align	1
	.global	fcos
fcos:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r10,%r12
	cmp	%r10,0x0
	jrge	__LX75		; 	xjrge	__L75
	not	%r10,%r10
	add	%r10,1
__LX75:				; __L75:
	ext	0x64		; 	xld.w	%r0,0x00001920		; 6432
	ld.w	%r0,0x20
	cmp	%r10,%r0
	jrle	__LX76		; 	xjrle	__L76
	ld.w	%r12,%r10
	ld.w	%r13,%r0
	ext	__modsi3@rm	; 	xcall	__modsi3
	call	__modsi3@rl
__LX76:				; __L76:
	ext	0x19		; 	xcmp	%r10,1608
	cmp	%r10,0x8
	jrle	__LX84		; 	xjrle	__L84
	ext	0x32		; 	xld.w	%r11,0x00000c90		; 3216
	ld.w	%r11,0x10
	cmp	%r10,%r11
	jrgt	__LX79		; 	xjrgt	__L79
	sub	%r11,%r10
	ld.w	%r10,%r11
	sll	%r10,0x1	; 	xsll	%r10,1
	ext	fcos_tbl+0x0@h	; 	xld.h	%r10,[%r10+fcos_tbl]
	ext	fcos_tbl+0x0@m
	ld.w	%r9,fcos_tbl+0x0@l
	add	%r9,%r10
	ld.h	%r10,[%r9]
	jp	__LX85		; 	xjp	__L85
__LX79:				; __L79:
	ext	0x4b		; 	xcmp	%r10,4824
	cmp	%r10,0x18
	jrle	__LX81		; 	xjrle	__L81
	sub	%r0,%r10
	ld.w	%r10,%r0
__LX84:				; __L84:
	sll	%r10,0x1	; 	xsll	%r10,1
	ext	fcos_tbl+0x0@h	; 	xld.h	%r10,[%r10+fcos_tbl]
	ext	fcos_tbl+0x0@m
	ld.w	%r9,fcos_tbl+0x0@l
	add	%r9,%r10
	ld.h	%r10,[%r9]
	jp	__LX83		; 	xjp	__L83
__LX81:				; __L81:
	sll	%r10,0x1	; 	xsll	%r10,1
	ext	fcos_tbl-0x1920@h	; 	xld.h	%r10,[%r10+fcos_tbl-6432]
	ext	fcos_tbl-0x1920@m
	ld.w	%r9,fcos_tbl-0x1920@l
	add	%r9,%r10
	ld.h	%r10,[%r9]
__LX85:				; __L85:
	not	%r10,%r10
	add	%r10,1
__LX83:				; __L83:
	popn	%r0
	ret
	.align	1
	.global	ftan
ftan:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r12
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	call	fcos		; 	xcall	fcos
	ld.w	%r12,%r1
	ld.w	%r13,%r10
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	popn	%r1
	ret
	.align	1
	.global	fasin
fasin:
;	.frame	%sp,64,$31		# vars= 48, regs= 4/0, args= 0, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	sub	%sp,0xc		; 	xsub	%sp,%sp,48
	ld.w	%r2,%r12
	ext	0xf		; 	xcmp	%r2,1023
	cmp	%r2,0x3f
	jrle	__LX88		; 	xjrle	__L88
	ext	0x19		; 	xld.w	%r10,0x00000648		; 1608
	ld.w	%r10,0x8
	jp	__LX115		; 	xjp	__L115
__LX88:				; __L88:
	ext	0x1ff0		; 	xcmp	%r2,-1023
	cmp	%r2,0x1
	jrge	__LX89		; 	xjrge	__L89
	ext	0x1fe6		; 	xld.w	%r10,-1608			; 0xfffff9b8
	ld.w	%r10,0x38
	jp	__LX115		; 	xjp	__L115
__LX89:				; __L89:
	ld.w	%r1,0x0
	ext	0x19		; 	xld.w	%r12,0x00000648		; 1608
	ld.w	%r12,0x8
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	%r0,%r10
__LX92:				; __L92:
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	cmp	%r2,%r10
	jrle	__LX95		; 	xjrle	__L95
	add	%r1,%r0
	jp	__LX101		; 	xjp	__L101
__LX95:				; __L95:
	cmp	%r2,%r10
	jrge	__LX93		; 	xjrge	__L93
	sub	%r1,%r0
__LX101:				; __L101:
	ld.w	%r12,%r0
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX92		; 	xjrne	__L92
__LX93:				; __L93:
	ld.w	%r10,%r1
__LX115:				; __L115:
	add	%sp,0xc		; 	xadd	%sp,%sp,48
	popn	%r2
	ret
	.align	1
	.global	facos
facos:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	call	fasin		; 	xcall	fasin
	ext	0x19		; 	xld.w	%r11,0x00000648		; 1608
	ld.w	%r11,0x8
	sub	%r11,%r10
	ld.w	%r10,%r11
	ret
	.align	1
	.global	fatan2
fatan2:
;	.frame	%sp,92,$31		# vars= 72, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x12	; 	xsub	%sp,%sp,72
	ld.w	%r2,0x0
	cmp	%r12,0x0
	jrge	__LX119		; 	xjrge	__L119
	not	%r12,%r12
	add	%r12,1
	ld.w	%r2,0x4		; 	xld.w	%r2,0x00000004		; 4
__LX119:				; __L119:
	cmp	%r13,0x0
	jrge	__LX121		; 	xjrge	__L121
	not	%r13,%r13
	add	%r13,1
	or	%r2,0x2		; 	xoor	%r2,%r2,0x00000002
__LX121:				; __L121:
	cmp	%r13,%r12
	jrge	__LX123		; 	xjrge	__L123
	ld.w	%r10,%r13
	ld.w	%r13,%r12
	ld.w	%r12,%r10
	or	%r2,0x1		; 	xoor	%r2,%r2,0x00000001
__LX123:				; __L123:
	cmp	%r12,0x0
	jrne	__LX124		; 	xjrne	__L124
	ld.w	%r1,%r12
	jp	__LX125		; 	xjp	__L125
__LX124:				; __L124:
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	%r3,%r10
	ext	0x19		; 	xld.w	%r12,0x00000648		; 1608
	ld.w	%r12,0x8
	ld.w	%r13,0x4	; 	xld.w	%r13,0x00000004		; 4
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	%r1,%r10
	ext	0x19		; 	xld.w	%r12,0x00000648		; 1608
	ld.w	%r12,0x8
	ld.w	%r13,0x8	; 	xld.w	%r13,0x00000008		; 8
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	%r0,%r10
__LX128:				; __L128:
	ld.w	%r12,%r1
	call	ftan		; 	xcall	ftan
	cmp	%r3,%r10
	jrle	__LX131		; 	xjrle	__L131
	add	%r1,%r0
	jp	__LX133		; 	xjp	__L133
__LX131:				; __L131:
	cmp	%r3,%r10
	jrge	__LX125		; 	xjrge	__L125
	sub	%r1,%r0
__LX133:				; __L133:
	ld.w	%r12,%r0
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	%r0,%r10
	cmp	%r0,0x0
	jrne	__LX128		; 	xjrne	__L128
__LX125:				; __L125:
	ld.w	%r10,%r2
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001
	jreq	__LX139		; 	xjreq	__L139
	ext	0x19		; 	xld.w	%r10,0x00000648		; 1608
	ld.w	%r10,0x8
	sub	%r10,%r1
	ld.w	%r1,%r10
__LX139:				; __L139:
	ld.w	%r10,%r2
	and	%r10,0x2	; 	xand	%r10,%r10,0x00000002
	jreq	__LX141		; 	xjreq	__L141
	ext	0x32		; 	xld.w	%r10,0x00000c90		; 3216
	ld.w	%r10,0x10
	sub	%r10,%r1
	ld.w	%r1,%r10
__LX141:				; __L141:
	ld.w	%r10,%r2
	and	%r10,0x4	; 	xand	%r10,%r10,0x00000004
	jreq	__LX143		; 	xjreq	__L143
	not	%r1,%r1
	add	%r1,1
__LX143:				; __L143:
	ld.w	%r10,%r1
	add	%sp,0x12	; 	xadd	%sp,%sp,72
	popn	%r3
	ret
	.global	VECTOR_0
	.code
	.align	2
VECTOR_0:
	.word	0
	.word	0
	.word	0
	.global	VECTOR_X
	.align	2
VECTOR_X:
	.word	1024
	.word	0
	.word	0
	.global	VECTOR_Y
	.align	2
VECTOR_Y:
	.word	0
	.word	1024
	.word	0
	.global	VECTOR_Z
	.align	2
VECTOR_Z:
	.word	0
	.word	0
	.word	1024
	.code
	.align	1
	.global	vchs
vchs:
;	.frame	%sp,20,$31		# vars= 12, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r0,%r12
	ld.w	%r10,[%sp+0x5]	; 	xld.w	%r10,[%sp+20]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r10,[%sp+0x7]	; 	xld.w	%r10,[%sp+28]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r0
	ret
	.align	1
	.global	vadd
vadd:
;	.frame	%sp,20,$31		# vars= 12, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r0,%r12
	ld.w	%r10,[%sp+0x5]	; 	xld.w	%r10,[%sp+20]
	ld.w	%r11,[%sp+0x8]	; 	xld.w	%r11,[%sp+32]
	add	%r10,%r11
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	ld.w	%r11,[%sp+0x9]	; 	xld.w	%r11,[%sp+36]
	add	%r10,%r11
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r10,[%sp+0x7]	; 	xld.w	%r10,[%sp+28]
	ld.w	%r11,[%sp+0xa]	; 	xld.w	%r11,[%sp+40]
	add	%r10,%r11
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r0
	ret
	.align	1
	.global	vsub
vsub:
;	.frame	%sp,20,$31		# vars= 12, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r0,%r12
	ld.w	%r10,[%sp+0x5]	; 	xld.w	%r10,[%sp+20]
	ld.w	%r11,[%sp+0x8]	; 	xld.w	%r11,[%sp+32]
	sub	%r10,%r11
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	ld.w	%r11,[%sp+0x9]	; 	xld.w	%r11,[%sp+36]
	sub	%r10,%r11
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r10,[%sp+0x7]	; 	xld.w	%r10,[%sp+28]
	ld.w	%r11,[%sp+0xa]	; 	xld.w	%r11,[%sp+40]
	sub	%r10,%r11
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r0
	ret
	.align	1
	.global	vmul
vmul:
;	.frame	%sp,20,$31		# vars= 12, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r0,%r12
	ld.w	%r12,[%sp+0x5]	; 	xld.w	%r12,[%sp+20]
	ld.w	%r13,[%sp+0x8]	; 	xld.w	%r13,[%sp+32]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r12,[%sp+0x6]	; 	xld.w	%r12,[%sp+24]
	ld.w	%r13,[%sp+0x9]	; 	xld.w	%r13,[%sp+36]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,[%sp+0xa]	; 	xld.w	%r13,[%sp+40]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r12,%r0
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r0
	ret
	.align	1
	.global	vfmul
vfmul:
;	.frame	%sp,24,$31		# vars= 12, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r12,[%sp+0x6]	; 	xld.w	%r12,[%sp+24]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r12,%r1
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r1
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r1
	ret
	.align	1
	.global	vimul
vimul:
;	.frame	%sp,20,$31		# vars= 12, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r0,%r12
	ld.w	%r10,[%sp+0x5]	; 	xld.w	%r10,[%sp+20]
	mlt.w	%r10,%r13
	ld.w	%r11,%alr
	ld.w	[%sp+0x0],%r11	; 	xld.w	[%sp],%r11
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	mlt.w	%r10,%r13
	ld.w	%r11,%alr
	ld.w	[%sp+0x1],%r11	; 	xld.w	[%sp+4],%r11
	ld.w	%r10,[%sp+0x7]	; 	xld.w	%r10,[%sp+28]
	mlt.w	%r10,%r13
	ld.w	%r11,%alr
	ld.w	[%sp+0x2],%r11	; 	xld.w	[%sp+8],%r11
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r0
	ret
	.align	1
	.global	vdiv
vdiv:
;	.frame	%sp,20,$31		# vars= 12, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r0,%r12
	ld.w	%r12,[%sp+0x5]	; 	xld.w	%r12,[%sp+20]
	ld.w	%r13,[%sp+0x8]	; 	xld.w	%r13,[%sp+32]
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r12,[%sp+0x6]	; 	xld.w	%r12,[%sp+24]
	ld.w	%r13,[%sp+0x9]	; 	xld.w	%r13,[%sp+36]
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,[%sp+0xa]	; 	xld.w	%r13,[%sp+40]
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r12,%r0
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r0
	ret
	.align	1
	.global	vfdiv
vfdiv:
;	.frame	%sp,24,$31		# vars= 12, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r12,[%sp+0x6]	; 	xld.w	%r12,[%sp+24]
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,%r0
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,%r0
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r12,%r1
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r1
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r1
	ret
	.align	1
	.global	vidiv
vidiv:
;	.frame	%sp,24,$31		# vars= 12, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r12,[%sp+0x6]	; 	xld.w	%r12,[%sp+24]
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,%r0
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,%r0
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r12,%r1
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r1
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r1
	ret
	.align	1
	.global	vdot
vdot:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r13,[%sp+0x5]	; 	xld.w	%r13,[%sp+20]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x3]	; 	xld.w	%r12,[%sp+12]
	ld.w	%r13,[%sp+0x6]	; 	xld.w	%r13,[%sp+24]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x4]	; 	xld.w	%r12,[%sp+16]
	ld.w	%r13,[%sp+0x7]	; 	xld.w	%r13,[%sp+28]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r10,%r0
	popn	%r0
	ret
	.align	1
	.global	vcross
vcross:
;	.frame	%sp,24,$31		# vars= 12, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r1,%r12
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,[%sp+0xb]	; 	xld.w	%r13,[%sp+44]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,[%sp+0xa]	; 	xld.w	%r13,[%sp+40]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x0],%r0	; 	xld.w	[%sp],%r0
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,[%sp+0x9]	; 	xld.w	%r13,[%sp+36]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x6]	; 	xld.w	%r12,[%sp+24]
	ld.w	%r13,[%sp+0xb]	; 	xld.w	%r13,[%sp+44]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x1],%r0	; 	xld.w	[%sp+4],%r0
	ld.w	%r12,[%sp+0x6]	; 	xld.w	%r12,[%sp+24]
	ld.w	%r13,[%sp+0xa]	; 	xld.w	%r13,[%sp+40]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,[%sp+0x9]	; 	xld.w	%r13,[%sp+36]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x2],%r0	; 	xld.w	[%sp+8],%r0
	ld.w	%r12,%r1
	ld.w	%r13,%sp
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r1
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r1
	ret
	.align	1
	.global	vnormal
vnormal:
;	.frame	%sp,24,$31		# vars= 0, regs= 3/0, args= 12, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r0,%r12
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,24
	add	%r13,0x18
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	call	vmag		; 	xcall	vmag
	ld.w	%r1,%r10
	cmp	%r1,0x0
	jreq	__LX177		; 	xjreq	__L177
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,24
	add	%r13,0x18
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	vfdiv@rm	; 	xcall	vfdiv
	call	vfdiv@rl
	jp	__LX176		; 	xjp	__L176
__LX177:				; __L177:
	ld.w	%r12,%r0
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,24
	add	%r13,0x18
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
__LX176:				; __L176:
	ld.w	%r10,%r0
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	popn	%r1
	ret
	.align	1
	.global	vmag
vmag:
;	.frame	%sp,16,$31		# vars= 0, regs= 1/0, args= 12, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x3		; 	xsub	%sp,%sp,12
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,16
	add	%r13,0x10
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	call	vmag2		; 	xcall	vmag2
	ld.w	%r12,%r10
	ext	fsqrt@rm	; 	xcall	fsqrt
	call	fsqrt@rl
	add	%sp,0x3		; 	xadd	%sp,%sp,12
	ret
	.align	1
	.global	vmag2
vmag2:
;	.frame	%sp,28,$31		# vars= 0, regs= 1/0, args= 24, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x6		; 	xsub	%sp,%sp,24
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,28
	add	%r13,0x1c
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,12
	add	%r12,0xc
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,28
	add	%r13,0x1c
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	call	vdot		; 	xcall	vdot
	add	%sp,0x6		; 	xadd	%sp,%sp,24
	ret
	.align	1
	.global	vreflect
vreflect:
;	.frame	%sp,56,$31		# vars= 12, regs= 5/0, args= 24, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x9		; 	xsub	%sp,%sp,36
	ld.w	%r3,%r12
	ld.w	%r2,%sp		; 	xadd	%r2,%sp,68
	ext	0x1
	add	%r2,0x4
	ld.w	%r12,%sp
	ld.w	%r13,%r2
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r1,%sp		; 	xadd	%r1,%sp,12
	add	%r1,0xc
	ld.w	%r12,%r1
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,56
	add	%r13,0x38
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	vdot@rm		; 	xcall	vdot
	call	vdot@rl
	ld.w	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,56
	add	%r13,0x38
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,24
	add	%r12,0x18
	ld.w	%r13,%r0
	ext	vfmul@rm	; 	xcall	vfmul
	call	vfmul@rl
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,24
	add	%r13,0x18
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r1
	ld.w	%r13,%r2
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r3
	ext	vsub@rm		; 	xcall	vsub
	call	vsub@rl
	ld.w	%r10,%r3
	add	%sp,0x9		; 	xadd	%sp,%sp,36
	popn	%r3
	ret
	.global	MATRIX_I
	.code
	.align	2
MATRIX_I:
	.word	1024
	.word	0
	.word	0
	.word	0
	.word	0
	.word	1024
	.word	0
	.word	0
	.word	0
	.word	0
	.word	1024
	.word	0
	.code
	.align	1
	.global	mxpose
mxpose:
;	.frame	%sp,56,$31		# vars= 48, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0xc		; 	xsub	%sp,%sp,48
	ld.w	%r0,%r12
	ld.w	%r10,[%sp+0xe]	; 	xld.w	%r10,[%sp+56]
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r10,[%sp+0x12]	; 	xld.w	%r10,[%sp+72]
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r10,[%sp+0x16]	; 	xld.w	%r10,[%sp+88]
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x3],%r11	; 	xld.w	[%sp+12],%r11
	ld.w	%r10,[%sp+0xf]	; 	xld.w	%r10,[%sp+60]
	ld.w	[%sp+0x4],%r10	; 	xld.w	[%sp+16],%r10
	ld.w	%r10,[%sp+0x13]	; 	xld.w	%r10,[%sp+76]
	ld.w	[%sp+0x5],%r10	; 	xld.w	[%sp+20],%r10
	ld.w	%r10,[%sp+0x17]	; 	xld.w	%r10,[%sp+92]
	ld.w	[%sp+0x6],%r10	; 	xld.w	[%sp+24],%r10
	ld.w	[%sp+0x7],%r11	; 	xld.w	[%sp+28],%r11
	ld.w	%r10,[%sp+0x10]	; 	xld.w	%r10,[%sp+64]
	ld.w	[%sp+0x8],%r10	; 	xld.w	[%sp+32],%r10
	ld.w	%r10,[%sp+0x14]	; 	xld.w	%r10,[%sp+80]
	ld.w	[%sp+0x9],%r10	; 	xld.w	[%sp+36],%r10
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	ld.w	[%sp+0xa],%r10	; 	xld.w	[%sp+40],%r10
	ld.w	[%sp+0xb],%r11	; 	xld.w	[%sp+44],%r11
	ld.w	%r13,%sp
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0xc		; 	xadd	%sp,%sp,48
	popn	%r0
	ret
	.code
	.align	2
__LC0:
	.word	0
	.word	0
	.word	0
	.word	1024
	.word	0
	.word	0
	.word	0
	.word	1024
	.code
	.align	1
	.global	minv
minv:
;	.frame	%sp,420,$31		# vars= 400, regs= 5/0, args= 0, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x64	; 	xsub	%sp,%sp,400
	ext	0x5		; 	xld.w	[%sp+368],%r12
	ld.w	[%sp+0x30],%r12
	ext	0x6		; 	xld.w	%r10,[%sp+420]
	ld.w	%r10,[%sp+0x24]
	ext	0x4		; 	xld.w	[%sp+256],%r10
	ld.w	[%sp+0x0],%r10
	ext	0x6		; 	xld.w	%r10,[%sp+424]
	ld.w	%r10,[%sp+0x28]
	ext	0x4		; 	xld.w	[%sp+260],%r10
	ld.w	[%sp+0x4],%r10
	ext	0x6		; 	xld.w	%r10,[%sp+428]
	ld.w	%r10,[%sp+0x2c]
	ext	0x4		; 	xld.w	[%sp+264],%r10
	ld.w	[%sp+0x8],%r10
	ext	0x6		; 	xld.w	%r10,[%sp+432]
	ld.w	%r10,[%sp+0x30]
	ext	0x4		; 	xld.w	[%sp+268],%r10
	ld.w	[%sp+0xc],%r10
	ext	0x10		; 	xld.w	%r0,0x00000400		; 1024
	ld.w	%r0,0x0
	ext	0x4		; 	xld.w	[%sp+272],%r0
	ld.w	[%sp+0x10],%r0
	ld.w	%r6,0x0
	ext	0x4		; 	xld.w	[%sp+276],%r6
	ld.w	[%sp+0x14],%r6
	ext	0x4		; 	xld.w	[%sp+280],%r6
	ld.w	[%sp+0x18],%r6
	ext	0x4		; 	xld.w	[%sp+284],%r6
	ld.w	[%sp+0x1c],%r6
	ext	0x2		; 	xld.w	%r2,0x00000080		; 128
	ld.w	%r2,0x0
	ld.w	%r1,%sp
	add	%r1,%r2
	ld.w	%r12,%r1
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,256
	ext	0x4
	add	%r13,0x0
	ext	0x0		; 	xld.w	%r14,0x00000020		; 32
	ld.w	%r14,0x20
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x6		; 	xld.w	%r10,[%sp+436]
	ld.w	%r10,[%sp+0x34]
	ext	0x4		; 	xld.w	[%sp+288],%r10
	ld.w	[%sp+0x20],%r10
	ext	0x6		; 	xld.w	%r10,[%sp+440]
	ld.w	%r10,[%sp+0x38]
	ext	0x4		; 	xld.w	[%sp+292],%r10
	ld.w	[%sp+0x24],%r10
	ext	0x6		; 	xld.w	%r10,[%sp+444]
	ld.w	%r10,[%sp+0x3c]
	ext	0x4		; 	xld.w	[%sp+296],%r10
	ld.w	[%sp+0x28],%r10
	ext	0x7		; 	xld.w	%r10,[%sp+448]
	ld.w	%r10,[%sp+0x0]
	ext	0x4		; 	xld.w	[%sp+300],%r10
	ld.w	[%sp+0x2c],%r10
	ld.w	%r6,0x0
	ext	0x4		; 	xld.w	[%sp+304],%r6
	ld.w	[%sp+0x30],%r6
	ext	0x4		; 	xld.w	[%sp+308],%r0
	ld.w	[%sp+0x34],%r0
	ext	0x4		; 	xld.w	[%sp+312],%r6
	ld.w	[%sp+0x38],%r6
	ext	0x4		; 	xld.w	[%sp+316],%r6
	ld.w	[%sp+0x3c],%r6
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,160
	ext	0x2
	add	%r12,0x20
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,288
	ext	0x4
	add	%r13,0x20
	ext	0x0		; 	xld.w	%r14,0x00000020		; 32
	ld.w	%r14,0x20
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x7		; 	xld.w	%r10,[%sp+452]
	ld.w	%r10,[%sp+0x4]
	ext	0x5		; 	xld.w	[%sp+320],%r10
	ld.w	[%sp+0x0],%r10
	ext	0x7		; 	xld.w	%r10,[%sp+456]
	ld.w	%r10,[%sp+0x8]
	ext	0x5		; 	xld.w	[%sp+324],%r10
	ld.w	[%sp+0x4],%r10
	ext	0x7		; 	xld.w	%r10,[%sp+460]
	ld.w	%r10,[%sp+0xc]
	ext	0x5		; 	xld.w	[%sp+328],%r10
	ld.w	[%sp+0x8],%r10
	ext	0x7		; 	xld.w	%r10,[%sp+464]
	ld.w	%r10,[%sp+0x10]
	ext	0x5		; 	xld.w	[%sp+332],%r10
	ld.w	[%sp+0xc],%r10
	ld.w	%r6,0x0
	ext	0x5		; 	xld.w	[%sp+336],%r6
	ld.w	[%sp+0x10],%r6
	ext	0x5		; 	xld.w	[%sp+340],%r6
	ld.w	[%sp+0x14],%r6
	ext	0x5		; 	xld.w	[%sp+344],%r0
	ld.w	[%sp+0x18],%r0
	ext	0x5		; 	xld.w	[%sp+348],%r6
	ld.w	[%sp+0x1c],%r6
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,192
	ext	0x3
	add	%r12,0x0
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,320
	ext	0x5
	add	%r13,0x0
	ext	0x0		; 	xld.w	%r14,0x00000020		; 32
	ld.w	%r14,0x20
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,224
	ext	0x3
	add	%r12,0x20
	ext	__LC0+0x0@h	; 	xld.w	%r13,__LC0
	ext	__LC0+0x0@m
	ld.w	%r13,__LC0+0x0@l
	ext	0x0		; 	xld.w	%r14,0x00000020		; 32
	ld.w	%r14,0x20
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp
	ld.w	%r13,%r1
	ld.w	%r14,%r2
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r4,0x0
	ext	0x5		; 	xld.w	[%sp+372],%r4
	ld.w	[%sp+0x34],%r4
	ld.w	%r9,%sp		; 	xld.w	[%sp+376],%sp
	ext	0x5
	ld.w	[%sp+0x38],%r9
	ld.w	%r9,%sp		; 	xld.w	[%sp+380],%sp
	ext	0x5
	ld.w	[%sp+0x3c],%r9
__LX187:				; __L187:
	ld.w	%r3,%r4
	ext	0x5		; 	xld.w	%r6,[%sp+380]
	ld.w	%r6,[%sp+0x3c]
	ld.w	%r10,[%r6]	; 	xld.w	%r10,[%r6]
	cmp	%r10,0x0
	jrge	__LX189		; 	xjrge	__L189
	not	%r14,%r10
	add	%r14,1
	jp	__LX188		; 	xjp	__L188
__LX189:				; __L189:
	ld.w	%r14,%r10
__LX188:				; __L188:
	ext	0x1		; 	xadd	%r1,%r3,1
	add	%r1,%r3
	cmp	%r1,0x3		; 	xcmp	%r1,3
	jrgt	__LX192		; 	xjrgt	__L192
	ext	0x5		; 	xld.w	%r12,[%sp+372]
	ld.w	%r12,[%sp+0x34]
	ld.w	%r10,%r1
	sll	%r10,0x5	; 	xsll	%r10,5
	ld.w	%r11,%r10
	ld.w	%r9,%sp		; 	xadd	%r11,%r11,%sp
	add	%r11,%r9
__LX194:				; __L194:
	ld.w	%r10,%r12
	add	%r10,%r11
	ld.w	%r10,[%r10]	; 	xld.w	%r10,[%r10]
	cmp	%r10,0x0
	jrge	__LX196		; 	xjrge	__L196
	not	%r10,%r10
	add	%r10,1
__LX196:				; __L196:
	cmp	%r10,%r14
	jrle	__LX193		; 	xjrle	__L193
	ld.w	%r3,%r1
	ld.w	%r14,%r10
__LX193:				; __L193:
	add	%r11,0x20	; 	xadd	%r11,%r11,32
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0x3		; 	xcmp	%r1,3
	jrle	__LX194		; 	xjrle	__L194
__LX192:				; __L192:
	cmp	%r4,%r3
	jreq	__LX200		; 	xjreq	__L200
	ld.w	%r1,0x0
	ld.w	%r10,%r3
	sll	%r10,0x5	; 	xsll	%r10,5
	ld.w	%r12,%r10
	ld.w	%r9,%sp		; 	xadd	%r12,%r12,%sp
	add	%r12,%r9
	ext	0x5		; 	xld.w	%r11,[%sp+376]
	ld.w	%r11,[%sp+0x38]
__LX204:				; __L204:
	ld.w	%r14,[%r11]	; 	xld.w	%r14,[%r11]
	ld.w	%r10,[%r12]	; 	xld.w	%r10,[%r12]
	ld.w	[%r11],%r10	; 	xld.w	[%r11],%r10
	ld.w	[%r12],%r14	; 	xld.w	[%r12],%r14
	add	%r12,0x4	; 	xadd	%r12,%r12,4
	add	%r11,0x4	; 	xadd	%r11,%r11,4
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	cmp	%r1,0x7		; 	xcmp	%r1,7
	jrle	__LX204		; 	xjrle	__L204
__LX200:				; __L200:
	ext	0x10		; 	xld.w	%r12,0x00000400		; 1024
	ld.w	%r12,0x0
	ext	0x5		; 	xld.w	%r6,[%sp+380]
	ld.w	%r6,[%sp+0x3c]
	ld.w	%r13,[%r6]	; 	xld.w	%r13,[%r6]
	ext	0x6		; 	xld.w	[%sp+392],%r4
	ld.w	[%sp+0x8],%r4
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	%r14,%r10
	ld.w	%r3,0x0
	ext	0x5		; 	xld.w	%r0,[%sp+376]
	ld.w	%r0,[%sp+0x38]
	ext	0x6		; 	xld.w	%r4,[%sp+392]
	ld.w	%r4,[%sp+0x8]
__LX209:				; __L209:
	ld.w	%r12,[%r0]	; 	xld.w	%r12,[%r0]
	ld.w	%r13,%r14
	ext	0x6		; 	xld.w	[%sp+384],%r14
	ld.w	[%sp+0x0],%r14
	ext	0x6		; 	xld.w	[%sp+392],%r4
	ld.w	[%sp+0x8],%r4
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%r0],%r10	; 	xld.w	[%r0],%r10
	add	%r0,0x4		; 	xadd	%r0,%r0,4
	add	%r3,0x1		; 	xadd	%r3,%r3,1
	ext	0x6		; 	xld.w	%r14,[%sp+384]
	ld.w	%r14,[%sp+0x0]
	ext	0x6		; 	xld.w	%r4,[%sp+392]
	ld.w	%r4,[%sp+0x8]
	cmp	%r3,0x7		; 	xcmp	%r3,7
	jrle	__LX209		; 	xjrle	__L209
	ld.w	%r3,0x0
	ext	0x5		; 	xld.w	%r5,[%sp+376]
	ld.w	%r5,[%sp+0x38]
	ld.w	%r15,%sp
__LX214:				; __L214:
	cmp	%r3,%r4
	jreq	__LX213		; 	xjreq	__L213
	ext	0x5		; 	xld.w	%r10,[%sp+372]
	ld.w	%r10,[%sp+0x34]
	add	%r10,%r15
	ld.w	%r14,[%r10]	; 	xld.w	%r14,[%r10]
	ld.w	%r1,0x0
	ld.w	%r0,%r15
	ld.w	%r2,%r5
__LX219:				; __L219:
	ld.w	%r12,[%r2]	; 	xld.w	%r12,[%r2]
	ld.w	%r13,%r14
	ext	0x6		; 	xld.w	[%sp+384],%r14
	ld.w	[%sp+0x0],%r14
	ext	0x6		; 	xld.w	[%sp+388],%r15
	ld.w	[%sp+0x4],%r15
	ext	0x6		; 	xld.w	[%sp+392],%r4
	ld.w	[%sp+0x8],%r4
	ext	0x6		; 	xld.w	[%sp+396],%r5
	ld.w	[%sp+0xc],%r5
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r11,[%r0]	; 	xld.w	%r11,[%r0]
	sub	%r11,%r10
	ld.w	[%r0],%r11	; 	xld.w	[%r0],%r11
	add	%r0,0x4		; 	xadd	%r0,%r0,4
	add	%r2,0x4		; 	xadd	%r2,%r2,4
	add	%r1,0x1		; 	xadd	%r1,%r1,1
	ext	0x6		; 	xld.w	%r14,[%sp+384]
	ld.w	%r14,[%sp+0x0]
	ext	0x6		; 	xld.w	%r15,[%sp+388]
	ld.w	%r15,[%sp+0x4]
	ext	0x6		; 	xld.w	%r4,[%sp+392]
	ld.w	%r4,[%sp+0x8]
	ext	0x6		; 	xld.w	%r5,[%sp+396]
	ld.w	%r5,[%sp+0xc]
	cmp	%r1,0x7		; 	xcmp	%r1,7
	jrle	__LX219		; 	xjrle	__L219
__LX213:				; __L213:
	ext	0x0		; 	xld.w	%r10,0x00000020		; 32
	ld.w	%r10,0x20
	add	%r15,%r10
	add	%r3,0x1		; 	xadd	%r3,%r3,1
	cmp	%r3,0x3		; 	xcmp	%r3,3
	jrle	__LX214		; 	xjrle	__L214
	ext	0x5		; 	xld.w	%r6,[%sp+372]
	ld.w	%r6,[%sp+0x34]
	add	%r6,0x4		; 	xadd	%r6,%r6,4
	ext	0x5		; 	xld.w	[%sp+372],%r6
	ld.w	[%sp+0x34],%r6
	ext	0x5		; 	xld.w	%r6,[%sp+376]
	ld.w	%r6,[%sp+0x38]
	add	%r6,%r10
	ext	0x5		; 	xld.w	[%sp+376],%r6
	ld.w	[%sp+0x38],%r6
	ext	0x5		; 	xld.w	%r6,[%sp+380]
	ld.w	%r6,[%sp+0x3c]
	add	%r6,0x24	; 	xadd	%r6,%r6,36
	ext	0x5		; 	xld.w	[%sp+380],%r6
	ld.w	[%sp+0x3c],%r6
	add	%r4,0x1		; 	xadd	%r4,%r4,1
	cmp	%r4,0x3		; 	xcmp	%r4,3
	ext	__LX187@rm	; 	xjrle	__L187
	jrle	__LX187@rl
	ld.w	%r10,[%sp+0x4]	; 	xld.w	%r10,[%sp+16]
	ld.w	[%sp+0x20],%r10	; 	xld.w	[%sp+128],%r10
	ld.w	%r10,[%sp+0x5]	; 	xld.w	%r10,[%sp+20]
	ld.w	[%sp+0x21],%r10	; 	xld.w	[%sp+132],%r10
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	ld.w	[%sp+0x22],%r10	; 	xld.w	[%sp+136],%r10
	ld.w	%r10,[%sp+0x7]	; 	xld.w	%r10,[%sp+28]
	ld.w	[%sp+0x23],%r10	; 	xld.w	[%sp+140],%r10
	ld.w	%r10,[%sp+0xc]	; 	xld.w	%r10,[%sp+48]
	ld.w	[%sp+0x24],%r10	; 	xld.w	[%sp+144],%r10
	ld.w	%r10,[%sp+0xd]	; 	xld.w	%r10,[%sp+52]
	ld.w	[%sp+0x25],%r10	; 	xld.w	[%sp+148],%r10
	ld.w	%r10,[%sp+0xe]	; 	xld.w	%r10,[%sp+56]
	ld.w	[%sp+0x26],%r10	; 	xld.w	[%sp+152],%r10
	ld.w	%r10,[%sp+0xf]	; 	xld.w	%r10,[%sp+60]
	ld.w	[%sp+0x27],%r10	; 	xld.w	[%sp+156],%r10
	ld.w	%r10,[%sp+0x14]	; 	xld.w	%r10,[%sp+80]
	ld.w	[%sp+0x28],%r10	; 	xld.w	[%sp+160],%r10
	ld.w	%r10,[%sp+0x15]	; 	xld.w	%r10,[%sp+84]
	ld.w	[%sp+0x29],%r10	; 	xld.w	[%sp+164],%r10
	ld.w	%r10,[%sp+0x16]	; 	xld.w	%r10,[%sp+88]
	ld.w	[%sp+0x2a],%r10	; 	xld.w	[%sp+168],%r10
	ld.w	%r10,[%sp+0x17]	; 	xld.w	%r10,[%sp+92]
	ld.w	[%sp+0x2b],%r10	; 	xld.w	[%sp+172],%r10
	ext	0x5		; 	xld.w	%r12,[%sp+368]
	ld.w	%r12,[%sp+0x30]
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,128
	ext	0x2
	add	%r13,0x0
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x5		; 	xld.w	%r10,[%sp+368]
	ld.w	%r10,[%sp+0x30]
	add	%sp,0x64	; 	xadd	%sp,%sp,400
	popn	%r3
	ret
	.align	1
	.global	minvno
minvno:
;	.frame	%sp,60,$31		# vars= 48, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0xc		; 	xsub	%sp,%sp,48
	ld.w	%r1,%r12
	ld.w	%r12,[%sp+0xf]	; 	xld.w	%r12,[%sp+60]
	ld.w	[%sp+0x0],%r12	; 	xld.w	[%sp],%r12
	ld.w	%r10,[%sp+0x13]	; 	xld.w	%r10,[%sp+76]
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r10,[%sp+0x17]	; 	xld.w	%r10,[%sp+92]
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r13,[%sp+0x12]	; 	xld.w	%r13,[%sp+72]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x13]	; 	xld.w	%r12,[%sp+76]
	ld.w	%r13,[%sp+0x16]	; 	xld.w	%r13,[%sp+88]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x17]	; 	xld.w	%r12,[%sp+92]
	ld.w	%r13,[%sp+0x1a]	; 	xld.w	%r13,[%sp+104]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	not	%r0,%r0
	add	%r0,1
	ld.w	[%sp+0x3],%r0	; 	xld.w	[%sp+12],%r0
	ld.w	%r12,[%sp+0x10]	; 	xld.w	%r12,[%sp+64]
	ld.w	[%sp+0x4],%r12	; 	xld.w	[%sp+16],%r12
	ld.w	%r10,[%sp+0x14]	; 	xld.w	%r10,[%sp+80]
	ld.w	[%sp+0x5],%r10	; 	xld.w	[%sp+20],%r10
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	ld.w	[%sp+0x6],%r10	; 	xld.w	[%sp+24],%r10
	ld.w	%r13,[%sp+0x12]	; 	xld.w	%r13,[%sp+72]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x14]	; 	xld.w	%r12,[%sp+80]
	ld.w	%r13,[%sp+0x16]	; 	xld.w	%r13,[%sp+88]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ld.w	%r13,[%sp+0x1a]	; 	xld.w	%r13,[%sp+104]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	not	%r0,%r0
	add	%r0,1
	ld.w	[%sp+0x7],%r0	; 	xld.w	[%sp+28],%r0
	ld.w	%r12,[%sp+0x11]	; 	xld.w	%r12,[%sp+68]
	ld.w	[%sp+0x8],%r12	; 	xld.w	[%sp+32],%r12
	ld.w	%r10,[%sp+0x15]	; 	xld.w	%r10,[%sp+84]
	ld.w	[%sp+0x9],%r10	; 	xld.w	[%sp+36],%r10
	ld.w	%r10,[%sp+0x19]	; 	xld.w	%r10,[%sp+100]
	ld.w	[%sp+0xa],%r10	; 	xld.w	[%sp+40],%r10
	ld.w	%r13,[%sp+0x12]	; 	xld.w	%r13,[%sp+72]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x15]	; 	xld.w	%r12,[%sp+84]
	ld.w	%r13,[%sp+0x16]	; 	xld.w	%r13,[%sp+88]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1a]	; 	xld.w	%r13,[%sp+104]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	not	%r0,%r0
	add	%r0,1
	ld.w	[%sp+0xb],%r0	; 	xld.w	[%sp+44],%r0
	ld.w	%r12,%r1
	ld.w	%r13,%sp
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r1
	add	%sp,0xc		; 	xadd	%sp,%sp,48
	popn	%r1
	ret
	.align	1
	.global	mxlate
mxlate:
;	.frame	%sp,116,$31		# vars= 0, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x18	; 	xsub	%sp,%sp,96
	ld.w	%r2,%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r3,%r15
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,116
	ext	0x1
	add	%r13,0x34
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x10		; 	xld.w	%r10,0x00000400		; 1024
	ld.w	%r10,0x0
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xd],%r11	; 	xld.w	[%sp+52],%r11
	ld.w	[%sp+0xe],%r11	; 	xld.w	[%sp+56],%r11
	ld.w	[%sp+0xf],%r0	; 	xld.w	[%sp+60],%r0
	ld.w	[%sp+0x10],%r11	; 	xld.w	[%sp+64],%r11
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	[%sp+0x12],%r11	; 	xld.w	[%sp+72],%r11
	ld.w	[%sp+0x13],%r1	; 	xld.w	[%sp+76],%r1
	ld.w	[%sp+0x14],%r11	; 	xld.w	[%sp+80],%r11
	ld.w	[%sp+0x15],%r11	; 	xld.w	[%sp+84],%r11
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	[%sp+0x17],%r3	; 	xld.w	[%sp+92],%r3
	ld.w	%r12,%r2
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,%r2
	add	%sp,0x18	; 	xadd	%sp,%sp,96
	popn	%r3
	ret
	.align	1
	.global	mscale
mscale:
;	.frame	%sp,116,$31		# vars= 0, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x18	; 	xsub	%sp,%sp,96
	ld.w	%r2,%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r3,%r15
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,116
	ext	0x1
	add	%r13,0x34
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	[%sp+0xc],%r0	; 	xld.w	[%sp+48],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0xd],%r11	; 	xld.w	[%sp+52],%r11
	ld.w	[%sp+0xe],%r11	; 	xld.w	[%sp+56],%r11
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	[%sp+0x10],%r11	; 	xld.w	[%sp+64],%r11
	ld.w	[%sp+0x11],%r1	; 	xld.w	[%sp+68],%r1
	ld.w	[%sp+0x12],%r11	; 	xld.w	[%sp+72],%r11
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	[%sp+0x14],%r11	; 	xld.w	[%sp+80],%r11
	ld.w	[%sp+0x15],%r11	; 	xld.w	[%sp+84],%r11
	ld.w	[%sp+0x16],%r3	; 	xld.w	[%sp+88],%r3
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,%r2
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,%r2
	add	%sp,0x18	; 	xadd	%sp,%sp,96
	popn	%r3
	ret
	.align	1
	.global	mfscale
mfscale:
;	.frame	%sp,108,$31		# vars= 0, regs= 3/0, args= 96, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x18	; 	xsub	%sp,%sp,96
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,108
	ext	0x1
	add	%r13,0x2c
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	[%sp+0xc],%r0	; 	xld.w	[%sp+48],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0xd],%r11	; 	xld.w	[%sp+52],%r11
	ld.w	[%sp+0xe],%r11	; 	xld.w	[%sp+56],%r11
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	[%sp+0x10],%r11	; 	xld.w	[%sp+64],%r11
	ld.w	[%sp+0x11],%r0	; 	xld.w	[%sp+68],%r0
	ld.w	[%sp+0x12],%r11	; 	xld.w	[%sp+72],%r11
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	[%sp+0x14],%r11	; 	xld.w	[%sp+80],%r11
	ld.w	[%sp+0x15],%r11	; 	xld.w	[%sp+84],%r11
	ld.w	[%sp+0x16],%r0	; 	xld.w	[%sp+88],%r0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,%r1
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,%r1
	add	%sp,0x18	; 	xadd	%sp,%sp,96
	popn	%r1
	ret
	.align	1
	.global	mrot
mrot:
;	.frame	%sp,144,$31		# vars= 28, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1f	; 	xsub	%sp,%sp,124
	ld.w	[%sp+0x1b],%r12	; 	xld.w	[%sp+108],%r12
	ld.w	%r0,[%sp+0x30]	; 	xld.w	%r0,[%sp+192]
	ld.w	[%sp+0x0],%r13	; 	xld.w	[%sp],%r13
	ld.w	[%sp+0x1],%r14	; 	xld.w	[%sp+4],%r14
	ld.w	[%sp+0x2],%r15	; 	xld.w	[%sp+8],%r15
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,96
	ext	0x1
	add	%r12,0x20
	ext	vnormal@rm	; 	xcall	vnormal
	call	vnormal@rl
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1d],%r10	; 	xld.w	[%sp+116],%r10
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1e],%r10	; 	xld.w	[%sp+120],%r10
	ext	0x10		; 	xld.w	%r3,0x00000400		; 1024
	ld.w	%r3,0x0
	sub	%r3,%r10
	ld.w	%r2,[%sp+0x18]	; 	xld.w	%r2,[%sp+96]
	ld.w	%r1,[%sp+0x19]	; 	xld.w	%r1,[%sp+100]
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	ld.w	[%sp+0x1c],%r11	; 	xld.w	[%sp+112],%r11
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,144
	ext	0x2
	add	%r13,0x10
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r2
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r11,[%sp+0x1e]	; 	xld.w	%r11,[%sp+120]
	add	%r10,%r11
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r12,%r2
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1c]	; 	xld.w	%r12,[%sp+112]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0xd],%r0	; 	xld.w	[%sp+52],%r0
	ld.w	%r12,%r2
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r1
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xe],%r0	; 	xld.w	[%sp+56],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,%r1
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1c]	; 	xld.w	%r12,[%sp+112]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x10],%r0	; 	xld.w	[%sp+64],%r0
	ld.w	%r12,%r1
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r11,[%sp+0x1e]	; 	xld.w	%r11,[%sp+120]
	add	%r10,%r11
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	%r12,%r1
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r2
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x12],%r0	; 	xld.w	[%sp+72],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r12,[%sp+0x1c]	; 	xld.w	%r12,[%sp+112]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r1
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x14],%r0	; 	xld.w	[%sp+80],%r0
	ld.w	%r12,[%sp+0x1c]	; 	xld.w	%r12,[%sp+112]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r2
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x15],%r0	; 	xld.w	[%sp+84],%r0
	ld.w	%r12,[%sp+0x1c]	; 	xld.w	%r12,[%sp+112]
	ld.w	%r13,%r12
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r11,[%sp+0x1e]	; 	xld.w	%r11,[%sp+120]
	add	%r10,%r11
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x1b]	; 	xld.w	%r10,[%sp+108]
	add	%sp,0x1f	; 	xadd	%sp,%sp,124
	popn	%r3
	ret
	.align	1
	.global	mrotx
mrotx:
;	.frame	%sp,112,$31		# vars= 0, regs= 4/0, args= 96, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	sub	%sp,0x18	; 	xsub	%sp,%sp,96
	ld.w	%r2,%r12
	ld.w	%r0,%r13
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,112
	ext	0x1
	add	%r13,0x30
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x10		; 	xld.w	%r10,0x00000400		; 1024
	ld.w	%r10,0x0
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xd],%r11	; 	xld.w	[%sp+52],%r11
	ld.w	[%sp+0xe],%r11	; 	xld.w	[%sp+56],%r11
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	[%sp+0x10],%r11	; 	xld.w	[%sp+64],%r11
	ld.w	[%sp+0x11],%r1	; 	xld.w	[%sp+68],%r1
	not	%r10,%r0
	add	%r10,1
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	[%sp+0x14],%r11	; 	xld.w	[%sp+80],%r11
	ld.w	[%sp+0x15],%r0	; 	xld.w	[%sp+84],%r0
	ld.w	[%sp+0x16],%r1	; 	xld.w	[%sp+88],%r1
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,%r2
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,%r2
	add	%sp,0x18	; 	xadd	%sp,%sp,96
	popn	%r2
	ret
	.align	1
	.global	mroty
mroty:
;	.frame	%sp,112,$31		# vars= 0, regs= 4/0, args= 96, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	sub	%sp,0x18	; 	xsub	%sp,%sp,96
	ld.w	%r2,%r12
	ld.w	%r0,%r13
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,112
	ext	0x1
	add	%r13,0x30
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	[%sp+0xc],%r1	; 	xld.w	[%sp+48],%r1
	ld.w	%r11,0x0
	ld.w	[%sp+0xd],%r11	; 	xld.w	[%sp+52],%r11
	ld.w	[%sp+0xe],%r0	; 	xld.w	[%sp+56],%r0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	[%sp+0x10],%r11	; 	xld.w	[%sp+64],%r11
	ext	0x10		; 	xld.w	%r10,0x00000400		; 1024
	ld.w	%r10,0x0
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	[%sp+0x12],%r11	; 	xld.w	[%sp+72],%r11
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	not	%r0,%r0
	add	%r0,1
	ld.w	[%sp+0x14],%r0	; 	xld.w	[%sp+80],%r0
	ld.w	[%sp+0x15],%r11	; 	xld.w	[%sp+84],%r11
	ld.w	[%sp+0x16],%r1	; 	xld.w	[%sp+88],%r1
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,%r2
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,%r2
	add	%sp,0x18	; 	xadd	%sp,%sp,96
	popn	%r2
	ret
	.align	1
	.global	mrotz
mrotz:
;	.frame	%sp,112,$31		# vars= 0, regs= 4/0, args= 96, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	sub	%sp,0x18	; 	xsub	%sp,%sp,96
	ld.w	%r2,%r12
	ld.w	%r0,%r13
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,112
	ext	0x1
	add	%r13,0x30
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	[%sp+0xc],%r1	; 	xld.w	[%sp+48],%r1
	not	%r10,%r0
	add	%r10,1
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xe],%r11	; 	xld.w	[%sp+56],%r11
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	[%sp+0x10],%r0	; 	xld.w	[%sp+64],%r0
	ld.w	[%sp+0x11],%r1	; 	xld.w	[%sp+68],%r1
	ld.w	[%sp+0x12],%r11	; 	xld.w	[%sp+72],%r11
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	[%sp+0x14],%r11	; 	xld.w	[%sp+80],%r11
	ld.w	[%sp+0x15],%r11	; 	xld.w	[%sp+84],%r11
	ext	0x10		; 	xld.w	%r10,0x00000400		; 1024
	ld.w	%r10,0x0
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,%r2
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,%r2
	add	%sp,0x18	; 	xadd	%sp,%sp,96
	popn	%r2
	ret
	.align	1
	.global	mrotxyx
mrotxyx:
;	.frame	%sp,144,$31		# vars= 28, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1f	; 	xsub	%sp,%sp,124
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	[%sp+0x19],%r15	; 	xld.w	[%sp+100],%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r2,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1d],%r10	; 	xld.w	[%sp+116],%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1e],%r10	; 	xld.w	[%sp+120],%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,144
	ext	0x2
	add	%r13,0x10
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r11,[%sp+0x1c]	; 	xld.w	%r11,[%sp+112]
	ld.w	[%sp+0xc],%r11	; 	xld.w	[%sp+48],%r11
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	not	%r2,%r2
	add	%r2,1
	ld.w	%r11,[%sp+0x1e]	; 	xld.w	%r11,[%sp+120]
	not	%r1,%r11
	add	%r1,1
	ld.w	%r12,%r2
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x10],%r10	; 	xld.w	[%sp+64],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x11],%r0	; 	xld.w	[%sp+68],%r0
	ld.w	%r11,[%sp+0x1b]	; 	xld.w	%r11,[%sp+108]
	not	%r3,%r11
	add	%r3,1
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x12],%r0	; 	xld.w	[%sp+72],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r12,%r2
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x14],%r10	; 	xld.w	[%sp+80],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1e]	; 	xld.w	%r13,[%sp+120]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x15],%r0	; 	xld.w	[%sp+84],%r0
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x1e]	; 	xld.w	%r13,[%sp+120]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x16],%r0	; 	xld.w	[%sp+88],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1f	; 	xadd	%sp,%sp,124
	popn	%r3
	ret
	.align	1
	.global	mrotxzx
mrotxzx:
;	.frame	%sp,140,$31		# vars= 24, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1e	; 	xsub	%sp,%sp,120
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	%r3,%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1d],%r10	; 	xld.w	[%sp+116],%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,140
	ext	0x2
	add	%r13,0xc
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	[%sp+0xc],%r3	; 	xld.w	[%sp+48],%r3
	ld.w	%r11,[%sp+0x1b]	; 	xld.w	%r11,[%sp+108]
	not	%r0,%r11
	add	%r0,1
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r2,%r11
	add	%r2,1
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x10],%r10	; 	xld.w	[%sp+64],%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r11,[%sp+0x1d]	; 	xld.w	%r11,[%sp+116]
	not	%r1,%r11
	add	%r1,1
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x11],%r0	; 	xld.w	[%sp+68],%r0
	ld.w	%r12,%r2
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x12],%r0	; 	xld.w	[%sp+72],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x14],%r10	; 	xld.w	[%sp+80],%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x15],%r0	; 	xld.w	[%sp+84],%r0
	ld.w	%r12,%r2
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x16],%r0	; 	xld.w	[%sp+88],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1e	; 	xadd	%sp,%sp,120
	popn	%r3
	ret
	.align	1
	.global	mrotyxy
mrotyxy:
;	.frame	%sp,136,$31		# vars= 20, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1d	; 	xsub	%sp,%sp,116
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	%r3,%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r1,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,136
	ext	0x2
	add	%r13,0x8
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r2,%r11
	add	%r2,1
	ld.w	%r12,%r2
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xc],%r0	; 	xld.w	[%sp+48],%r0
	ld.w	%r12,[%sp+0x1c]	; 	xld.w	%r12,[%sp+112]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xe],%r0	; 	xld.w	[%sp+56],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r11,[%sp+0x1c]	; 	xld.w	%r11,[%sp+112]
	not	%r0,%r11
	add	%r0,1
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x10],%r10	; 	xld.w	[%sp+64],%r10
	ld.w	%r11,[%sp+0x1b]	; 	xld.w	%r11,[%sp+108]
	ld.w	[%sp+0x11],%r11	; 	xld.w	[%sp+68],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	not	%r1,%r1
	add	%r1,1
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r2
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x14],%r0	; 	xld.w	[%sp+80],%r0
	ld.w	%r12,[%sp+0x1c]	; 	xld.w	%r12,[%sp+112]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x15],%r10	; 	xld.w	[%sp+84],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x16],%r0	; 	xld.w	[%sp+88],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1d	; 	xadd	%sp,%sp,116
	popn	%r3
	ret
	.align	1
	.global	mrotyzy
mrotyzy:
;	.frame	%sp,140,$31		# vars= 24, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1e	; 	xsub	%sp,%sp,120
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r3,%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r1,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,140
	ext	0x2
	add	%r13,0xc
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r11,%r11
	add	%r11,1
	ld.w	[%sp+0x1d],%r11	; 	xld.w	[%sp+116],%r11
	ld.w	%r12,[%sp+0x1d]	; 	xld.w	%r12,[%sp+116]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xc],%r0	; 	xld.w	[%sp+48],%r0
	not	%r2,%r3
	add	%r2,1
	ld.w	%r12,%r2
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xe],%r0	; 	xld.w	[%sp+56],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x10],%r10	; 	xld.w	[%sp+64],%r10
	ld.w	%r11,[%sp+0x1b]	; 	xld.w	%r11,[%sp+108]
	ld.w	[%sp+0x11],%r11	; 	xld.w	[%sp+68],%r11
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	not	%r1,%r1
	add	%r1,1
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1d]	; 	xld.w	%r12,[%sp+116]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x14],%r0	; 	xld.w	[%sp+80],%r0
	ld.w	%r12,%r2
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x15],%r10	; 	xld.w	[%sp+84],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x16],%r0	; 	xld.w	[%sp+88],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1e	; 	xadd	%sp,%sp,120
	popn	%r3
	ret
	.align	1
	.global	mrotzxz
mrotzxz:
;	.frame	%sp,144,$31		# vars= 28, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1f	; 	xsub	%sp,%sp,124
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1d],%r10	; 	xld.w	[%sp+116],%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r2,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,144
	ext	0x2
	add	%r13,0x10
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	not	%r1,%r2
	add	%r1,1
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xc],%r0	; 	xld.w	[%sp+48],%r0
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r11,%r11
	add	%r11,1
	ld.w	[%sp+0x1e],%r11	; 	xld.w	[%sp+120],%r11
	ld.w	%r12,[%sp+0x1e]	; 	xld.w	%r12,[%sp+120]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xd],%r0	; 	xld.w	[%sp+52],%r0
	ld.w	%r11,[%sp+0x1c]	; 	xld.w	%r11,[%sp+112]
	not	%r3,%r11
	add	%r3,1
	ld.w	%r12,%r3
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x10],%r0	; 	xld.w	[%sp+64],%r0
	ld.w	%r12,[%sp+0x1e]	; 	xld.w	%r12,[%sp+120]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x11],%r0	; 	xld.w	[%sp+68],%r0
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x14],%r10	; 	xld.w	[%sp+80],%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x15],%r10	; 	xld.w	[%sp+84],%r10
	ld.w	%r11,[%sp+0x1b]	; 	xld.w	%r11,[%sp+108]
	ld.w	[%sp+0x16],%r11	; 	xld.w	[%sp+88],%r11
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1f	; 	xadd	%sp,%sp,124
	popn	%r3
	ret
	.align	1
	.global	mrotzyz
mrotzyz:
;	.frame	%sp,140,$31		# vars= 24, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1e	; 	xsub	%sp,%sp,120
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r3,%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,140
	ext	0x2
	add	%r13,0xc
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r11,[%sp+0x1c]	; 	xld.w	%r11,[%sp+112]
	not	%r2,%r11
	add	%r2,1
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xc],%r0	; 	xld.w	[%sp+48],%r0
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r11,%r11
	add	%r11,1
	ld.w	[%sp+0x1d],%r11	; 	xld.w	[%sp+116],%r11
	ld.w	%r12,[%sp+0x1d]	; 	xld.w	%r12,[%sp+116]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xd],%r0	; 	xld.w	[%sp+52],%r0
	ld.w	%r12,%r3
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x10],%r0	; 	xld.w	[%sp+64],%r0
	ld.w	%r12,[%sp+0x1d]	; 	xld.w	%r12,[%sp+116]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x11],%r0	; 	xld.w	[%sp+68],%r0
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	not	%r3,%r3
	add	%r3,1
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x14],%r10	; 	xld.w	[%sp+80],%r10
	ld.w	%r12,[%sp+0x1d]	; 	xld.w	%r12,[%sp+116]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x15],%r10	; 	xld.w	[%sp+84],%r10
	ld.w	%r11,[%sp+0x1b]	; 	xld.w	%r11,[%sp+108]
	ld.w	[%sp+0x16],%r11	; 	xld.w	[%sp+88],%r11
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1e	; 	xadd	%sp,%sp,120
	popn	%r3
	ret
	.align	1
	.global	mrotxyz
mrotxyz:
;	.frame	%sp,140,$31		# vars= 24, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1e	; 	xsub	%sp,%sp,120
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1d],%r10	; 	xld.w	[%sp+116],%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,140
	ext	0x2
	add	%r13,0xc
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r11,[%sp+0x1d]	; 	xld.w	%r11,[%sp+116]
	not	%r2,%r11
	add	%r2,1
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xd],%r0	; 	xld.w	[%sp+52],%r0
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r3,%r11
	add	%r3,1
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xe],%r0	; 	xld.w	[%sp+56],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x10],%r10	; 	xld.w	[%sp+64],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x11],%r0	; 	xld.w	[%sp+68],%r0
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x12],%r0	; 	xld.w	[%sp+72],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	not	%r1,%r1
	add	%r1,1
	ld.w	[%sp+0x14],%r1	; 	xld.w	[%sp+80],%r1
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x15],%r10	; 	xld.w	[%sp+84],%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1e	; 	xadd	%sp,%sp,120
	popn	%r3
	ret
	.align	1
	.global	mrotxzy
mrotxzy:
;	.frame	%sp,140,$31		# vars= 24, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1e	; 	xsub	%sp,%sp,120
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1d],%r10	; 	xld.w	[%sp+116],%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r1,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,140
	ext	0x2
	add	%r13,0xc
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r11,[%sp+0x1c]	; 	xld.w	%r11,[%sp+112]
	not	%r3,%r11
	add	%r3,1
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xd],%r0	; 	xld.w	[%sp+52],%r0
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r2,%r11
	add	%r2,1
	ld.w	%r12,%r2
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xe],%r0	; 	xld.w	[%sp+56],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r11,[%sp+0x1c]	; 	xld.w	%r11,[%sp+112]
	ld.w	[%sp+0x10],%r11	; 	xld.w	[%sp+64],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	%r12,%r2
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	not	%r1,%r1
	add	%r1,1
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x14],%r10	; 	xld.w	[%sp+80],%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x15],%r0	; 	xld.w	[%sp+84],%r0
	ld.w	%r12,%r2
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x16],%r0	; 	xld.w	[%sp+88],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1e	; 	xadd	%sp,%sp,120
	popn	%r3
	ret
	.align	1
	.global	mrotyxz
mrotyxz:
;	.frame	%sp,144,$31		# vars= 28, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1f	; 	xsub	%sp,%sp,124
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	%r3,%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1d],%r10	; 	xld.w	[%sp+116],%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,144
	ext	0x2
	add	%r13,0x10
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r11,%r11
	add	%r11,1
	ld.w	[%sp+0x1e],%r11	; 	xld.w	[%sp+120],%r11
	ld.w	%r11,[%sp+0x1c]	; 	xld.w	%r11,[%sp+112]
	not	%r2,%r11
	add	%r2,1
	ld.w	%r12,[%sp+0x1e]	; 	xld.w	%r12,[%sp+120]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r11,[%sp+0x1d]	; 	xld.w	%r11,[%sp+116]
	not	%r1,%r11
	add	%r1,1
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xc],%r0	; 	xld.w	[%sp+48],%r0
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xe],%r0	; 	xld.w	[%sp+56],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1e]	; 	xld.w	%r12,[%sp+120]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x10],%r0	; 	xld.w	[%sp+64],%r0
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x12],%r0	; 	xld.w	[%sp+72],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r12,[%sp+0x1e]	; 	xld.w	%r12,[%sp+120]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x14],%r10	; 	xld.w	[%sp+80],%r10
	ld.w	%r11,[%sp+0x1c]	; 	xld.w	%r11,[%sp+112]
	ld.w	[%sp+0x15],%r11	; 	xld.w	[%sp+84],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1f	; 	xadd	%sp,%sp,124
	popn	%r3
	ret
	.align	1
	.global	mrotyzx
mrotyzx:
;	.frame	%sp,140,$31		# vars= 24, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1e	; 	xsub	%sp,%sp,120
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1d],%r10	; 	xld.w	[%sp+116],%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,140
	ext	0x2
	add	%r13,0xc
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	not	%r10,%r1
	add	%r10,1
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r3,%r11
	add	%r3,1
	ld.w	%r11,[%sp+0x1d]	; 	xld.w	%r11,[%sp+116]
	not	%r2,%r11
	add	%r2,1
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x10],%r0	; 	xld.w	[%sp+64],%r0
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x12],%r0	; 	xld.w	[%sp+72],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x14],%r0	; 	xld.w	[%sp+80],%r0
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x15],%r10	; 	xld.w	[%sp+84],%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x16],%r0	; 	xld.w	[%sp+88],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1e	; 	xadd	%sp,%sp,120
	popn	%r3
	ret
	.align	1
	.global	mrotzxy
mrotzxy:
;	.frame	%sp,136,$31		# vars= 20, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1d	; 	xsub	%sp,%sp,116
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r2,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r3,%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r1,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,136
	ext	0x2
	add	%r13,0x8
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xc],%r0	; 	xld.w	[%sp+48],%r0
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r2,%r11
	add	%r2,1
	ld.w	%r12,%r2
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0xd],%r0	; 	xld.w	[%sp+52],%r0
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x10],%r10	; 	xld.w	[%sp+64],%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	not	%r10,%r3
	add	%r10,1
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	not	%r1,%r1
	add	%r1,1
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x14],%r0	; 	xld.w	[%sp+80],%r0
	ld.w	%r12,%r2
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x15],%r0	; 	xld.w	[%sp+84],%r0
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1d	; 	xadd	%sp,%sp,116
	popn	%r3
	ret
	.align	1
	.global	mrotzyx
mrotzyx:
;	.frame	%sp,140,$31		# vars= 24, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x1e	; 	xsub	%sp,%sp,120
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r0,%r13
	ld.w	%r1,%r14
	ld.w	%r3,%r15
	ld.w	%r12,%r0
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x19],%r10	; 	xld.w	[%sp+100],%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1a],%r10	; 	xld.w	[%sp+104],%r10
	ld.w	%r12,%r1
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	%r12,%r1
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r2,%r10
	ld.w	%r12,%r3
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x1c],%r10	; 	xld.w	[%sp+112],%r10
	ld.w	%r12,%r3
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	[%sp+0x1d],%r10	; 	xld.w	[%sp+116],%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,140
	ext	0x2
	add	%r13,0xc
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r11,[%sp+0x1a]	; 	xld.w	%r11,[%sp+104]
	not	%r3,%r11
	add	%r3,1
	ld.w	%r12,%r3
	ld.w	%r13,[%sp+0x1b]	; 	xld.w	%r13,[%sp+108]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	[%sp+0xe],%r2	; 	xld.w	[%sp+56],%r2
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	not	%r2,%r2
	add	%r2,1
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r11,[%sp+0x1d]	; 	xld.w	%r11,[%sp+116]
	not	%r1,%r11
	add	%r1,1
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x10],%r0	; 	xld.w	[%sp+64],%r0
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x11],%r0	; 	xld.w	[%sp+68],%r0
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x14],%r0	; 	xld.w	[%sp+80],%r0
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,[%sp+0x1d]	; 	xld.w	%r13,[%sp+116]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r3
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r12,%r10
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	[%sp+0x15],%r0	; 	xld.w	[%sp+84],%r0
	ld.w	%r12,[%sp+0x1b]	; 	xld.w	%r12,[%sp+108]
	ld.w	%r13,[%sp+0x1c]	; 	xld.w	%r13,[%sp+112]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x1e	; 	xadd	%sp,%sp,120
	popn	%r3
	ret
	.align	1
	.global	morient
morient:
;	.frame	%sp,156,$31		# vars= 40, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x22	; 	xsub	%sp,%sp,136
	ld.w	[%sp+0x21],%r12	; 	xld.w	[%sp+132],%r12
	ld.w	%r0,[%sp+0x33]	; 	xld.w	%r0,[%sp+204]
	ld.w	%r2,[%sp+0x34]	; 	xld.w	%r2,[%sp+208]
	ld.w	%r3,[%sp+0x35]	; 	xld.w	%r3,[%sp+212]
	ld.w	[%sp+0x1e],%r13	; 	xld.w	[%sp+120],%r13
	ld.w	[%sp+0x1f],%r14	; 	xld.w	[%sp+124],%r14
	ld.w	[%sp+0x20],%r15	; 	xld.w	[%sp+128],%r15
	ld.w	%r1,%sp		; 	xadd	%r1,%sp,120
	ext	0x1
	add	%r1,0x38
	ld.w	%r12,%sp
	ld.w	%r13,%r1
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r1
	ext	vnormal@rm	; 	xcall	vnormal
	call	vnormal@rl
	ld.w	[%sp+0x1b],%r0	; 	xld.w	[%sp+108],%r0
	ld.w	[%sp+0x1c],%r2	; 	xld.w	[%sp+112],%r2
	ld.w	[%sp+0x1d],%r3	; 	xld.w	[%sp+116],%r3
	ld.w	%r3,%sp		; 	xadd	%r3,%sp,108
	ext	0x1
	add	%r3,0x2c
	ld.w	%r12,%sp
	ld.w	%r13,%r3
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r2,%sp		; 	xadd	%r2,%sp,12
	add	%r2,0xc
	ld.w	%r12,%r2
	ld.w	%r13,%r1
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,96
	ext	0x1
	add	%r12,0x20
	ext	vcross@rm	; 	xcall	vcross
	call	vcross@rl
	ld.w	%r0,%sp		; 	xadd	%r0,%sp,96
	ext	0x1
	add	%r0,0x20
	ld.w	%r12,%sp
	ld.w	%r13,%r0
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r0
	ext	vnormal@rm	; 	xcall	vnormal
	call	vnormal@rl
	ld.w	%r12,%sp
	ld.w	%r13,%r1
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r3
	ext	vcross@rm	; 	xcall	vcross
	call	vcross@rl
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,156
	ext	0x2
	add	%r13,0x1c
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r10,[%sp+0x1b]	; 	xld.w	%r10,[%sp+108]
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r10,[%sp+0x1e]	; 	xld.w	%r10,[%sp+120]
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r10,[%sp+0x19]	; 	xld.w	%r10,[%sp+100]
	ld.w	[%sp+0x10],%r10	; 	xld.w	[%sp+64],%r10
	ld.w	%r10,[%sp+0x1c]	; 	xld.w	%r10,[%sp+112]
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	%r10,[%sp+0x1f]	; 	xld.w	%r10,[%sp+124]
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r10,[%sp+0x1a]	; 	xld.w	%r10,[%sp+104]
	ld.w	[%sp+0x14],%r10	; 	xld.w	[%sp+80],%r10
	ld.w	%r10,[%sp+0x1d]	; 	xld.w	%r10,[%sp+116]
	ld.w	[%sp+0x15],%r10	; 	xld.w	[%sp+84],%r10
	ld.w	%r10,[%sp+0x20]	; 	xld.w	%r10,[%sp+128]
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,[%sp+0x21]	; 	xld.w	%r12,[%sp+132]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x21]	; 	xld.w	%r10,[%sp+132]
	add	%sp,0x22	; 	xadd	%sp,%sp,136
	popn	%r3
	ret
	.align	1
	.global	mlookat
mlookat:
;	.frame	%sp,204,$31		# vars= 88, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x2e	; 	xsub	%sp,%sp,184
	ld.w	[%sp+0x2a],%r12	; 	xld.w	[%sp+168],%r12
	ld.w	%r3,%r13
	ld.w	%r2,%r14
	ld.w	%r1,%r15
	ld.w	%r0,%sp		; 	xadd	%r0,%sp,96
	ext	0x1
	add	%r0,0x20
	ld.w	%r12,%r0
	ext	MATRIX_I+0x0@h	; 	xld.w	%r13,MATRIX_I
	ext	MATRIX_I+0x0@m
	ld.w	%r13,MATRIX_I+0x0@l
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp
	ld.w	%r13,%r0
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r0
	ld.w	%r13,%r3
	ld.w	%r14,%r2
	ld.w	%r15,%r1
	ext	mxlate@rm	; 	xcall	mxlate
	call	mxlate@rl
	ld.w	%r4,[%sp+0x3f]	; 	xld.w	%r4,[%sp+252]
	sub	%r4,%r3
	ld.w	[%sp+0x24],%r4	; 	xld.w	[%sp+144],%r4
	ext	0x4		; 	xld.w	%r4,[%sp+256]
	ld.w	%r4,[%sp+0x0]
	sub	%r4,%r2
	ld.w	[%sp+0x25],%r4	; 	xld.w	[%sp+148],%r4
	ext	0x4		; 	xld.w	%r4,[%sp+260]
	ld.w	%r4,[%sp+0x4]
	sub	%r4,%r1
	ld.w	[%sp+0x26],%r4	; 	xld.w	[%sp+152],%r4
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,144
	ext	0x2
	add	%r13,0x10
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	vmag@rm		; 	xcall	vmag
	call	vmag@rl
	ld.w	%r11,%r10
	ld.w	%r10,[%sp+0x24]	; 	xld.w	%r10,[%sp+144]
	cmp	%r10,0x0
	jrne	__LX407		; 	xjrne	__L407
	ld.w	%r10,[%sp+0x26]	; 	xld.w	%r10,[%sp+152]
	cmp	%r10,0x0
	jreq	__LX406		; 	xjreq	__L406
__LX407:				; __L407:
	ld.w	%r4,0x0
	ld.w	[%sp+0x27],%r4	; 	xld.w	[%sp+156],%r4
	ld.w	[%sp+0x28],%r11	; 	xld.w	[%sp+160],%r11
	ld.w	[%sp+0x29],%r4	; 	xld.w	[%sp+164],%r4
	jp	__LX408		; 	xjp	__L408
__LX406:				; __L406:
	ld.w	[%sp+0x27],%r10	; 	xld.w	[%sp+156],%r10
	ld.w	[%sp+0x28],%r10	; 	xld.w	[%sp+160],%r10
	ld.w	[%sp+0x29],%r11	; 	xld.w	[%sp+164],%r11
__LX408:				; __L408:
	ld.w	%r4,[%sp+0x24]	; 	xld.w	%r4,[%sp+144]
	ld.w	[%sp+0x2b],%r4	; 	xld.w	[%sp+172],%r4
	ld.w	%r4,[%sp+0x25]	; 	xld.w	%r4,[%sp+148]
	ld.w	[%sp+0x2c],%r4	; 	xld.w	[%sp+176],%r4
	ld.w	%r4,[%sp+0x26]	; 	xld.w	%r4,[%sp+152]
	ld.w	[%sp+0x2d],%r4	; 	xld.w	[%sp+180],%r4
	ld.w	%r0,%sp		; 	xadd	%r0,%sp,96
	ext	0x1
	add	%r0,0x20
	ld.w	%r12,%sp
	ld.w	%r13,%r0
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,[%sp+0x27]	; 	xld.w	%r10,[%sp+156]
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r10,[%sp+0x28]	; 	xld.w	%r10,[%sp+160]
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r10,[%sp+0x29]	; 	xld.w	%r10,[%sp+164]
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r12,%r0
	ld.w	%r13,[%sp+0x2b]	; 	xld.w	%r13,[%sp+172]
	ld.w	%r14,[%sp+0x2c]	; 	xld.w	%r14,[%sp+176]
	ld.w	%r15,[%sp+0x2d]	; 	xld.w	%r15,[%sp+180]
	ext	morient@rm	; 	xcall	morient
	call	morient@rl
	ld.w	%r12,%sp
	ld.w	%r13,%r0
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r0
	ext	0x4		; 	xld.w	%r13,[%sp+264]
	ld.w	%r13,[%sp+0x8]
	ext	mrotz@rm	; 	xcall	mrotz
	call	mrotz@rl
	ld.w	%r12,%sp
	ld.w	%r13,%r0
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r0
	ext	minvno@rm	; 	xcall	minvno
	call	minvno@rl
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,204
	ext	0x3
	add	%r13,0xc
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ld.w	%r12,%sp
	add	%r12,%r14
	ld.w	%r13,%r0
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x2a]	; 	xld.w	%r12,[%sp+168]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x2a]	; 	xld.w	%r10,[%sp+168]
	add	%sp,0x2e	; 	xadd	%sp,%sp,184
	popn	%r3
	ret
	.align	1
	.global	mfrustum
mfrustum:
;	.frame	%sp,116,$31		# vars= 0, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x18	; 	xsub	%sp,%sp,96
	ld.w	%r3,%r12
	ld.w	%r0,%r13
	ld.w	%r2,%r14
	ld.w	%r1,%r15
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,116
	ext	0x1
	add	%r13,0x34
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r1
	ld.w	%r13,%r0
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	sll	%r10,0x1	; 	xsll	%r10,1
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xd],%r11	; 	xld.w	[%sp+52],%r11
	ld.w	[%sp+0xe],%r11	; 	xld.w	[%sp+56],%r11
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	[%sp+0x10],%r11	; 	xld.w	[%sp+64],%r11
	ld.w	%r12,%r1
	ld.w	%r13,%r2
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	sll	%r10,0x1	; 	xsll	%r10,1
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0x12],%r11	; 	xld.w	[%sp+72],%r11
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	[%sp+0x14],%r11	; 	xld.w	[%sp+80],%r11
	ld.w	[%sp+0x15],%r11	; 	xld.w	[%sp+84],%r11
	ext	0x10		; 	xld.w	%r10,0x00000400		; 1024
	ld.w	%r10,0x0
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,%r3
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,%r3
	add	%sp,0x18	; 	xadd	%sp,%sp,96
	popn	%r3
	ret
	.align	1
	.global	mperspect
mperspect:
;	.frame	%sp,68,$31		# vars= 0, regs= 5/0, args= 48, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0xc		; 	xsub	%sp,%sp,48
	ld.w	%r3,%r12
	ld.w	%r12,%r13
	ld.w	%r0,%r14
	ld.w	%r2,%r15
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	%r12,%r10
	ext	ftan@rm		; 	xcall	ftan
	call	ftan@rl
	ld.w	%r12,%r2
	ld.w	%r13,%r10
	sll	%r13,0x1	; 	xsll	%r13,1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r1
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,68
	ext	0x1
	add	%r13,0x4
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r3
	ld.w	%r13,%r0
	ld.w	%r14,%r1
	ld.w	%r15,%r2
	call	mfrustum	; 	xcall	mfrustum
	ld.w	%r10,%r3
	add	%sp,0xc		; 	xadd	%sp,%sp,48
	popn	%r3
	ret
	.align	1
	.global	mviewport
mviewport:
;	.frame	%sp,120,$31		# vars= 4, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x19	; 	xsub	%sp,%sp,100
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r2,%r13
	ld.w	%r3,%r14
	ld.w	%r0,%r15
	ld.w	%r1,[%sp+0x2a]	; 	xld.w	%r1,[%sp+168]
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,120
	ext	0x1
	add	%r13,0x38
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	srl	%r10,0x8	; 	xsrl	%r10,31
	srl	%r10,0x8
	srl	%r10,0x8
	srl	%r10,0x7
	add	%r0,%r10
	sra	%r0,0x1		; 	xsra	%r0,1
	ld.w	%r10,%r0
	sll	%r10,0x8	; 	xsll	%r10,10
	sll	%r10,0x2
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r4,0x0
	ld.w	[%sp+0xd],%r4	; 	xld.w	[%sp+52],%r4
	ld.w	[%sp+0xe],%r4	; 	xld.w	[%sp+56],%r4
	add	%r2,%r0
	sll	%r2,0x8		; 	xsll	%r2,10
	sll	%r2,0x2
	ld.w	[%sp+0xf],%r2	; 	xld.w	[%sp+60],%r2
	ld.w	[%sp+0x10],%r4	; 	xld.w	[%sp+64],%r4
	not	%r10,%r1
	add	%r10,1
	ld.w	%r11,%r10
	srl	%r11,0x8	; 	xsrl	%r11,31
	srl	%r11,0x8
	srl	%r11,0x8
	srl	%r11,0x7
	add	%r10,%r11
	sra	%r10,0x1	; 	xsra	%r10,1
	sll	%r10,0x8	; 	xsll	%r10,10
	sll	%r10,0x2
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	[%sp+0x12],%r4	; 	xld.w	[%sp+72],%r4
	ld.w	%r10,%r1
	srl	%r10,0x8	; 	xsrl	%r10,31
	srl	%r10,0x8
	srl	%r10,0x8
	srl	%r10,0x7
	add	%r1,%r10
	sra	%r1,0x1		; 	xsra	%r1,1
	add	%r3,%r1
	sll	%r3,0x8		; 	xsll	%r3,10
	sll	%r3,0x2
	ld.w	[%sp+0x13],%r3	; 	xld.w	[%sp+76],%r3
	ld.w	[%sp+0x14],%r4	; 	xld.w	[%sp+80],%r4
	ld.w	[%sp+0x15],%r4	; 	xld.w	[%sp+84],%r4
	ext	0x10		; 	xld.w	%r10,0x00000400		; 1024
	ld.w	%r10,0x0
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	[%sp+0x17],%r4	; 	xld.w	[%sp+92],%r4
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x19	; 	xadd	%sp,%sp,100
	popn	%r3
	ret
	.align	1
	.global	mviewportz
mviewportz:
;	.frame	%sp,120,$31		# vars= 4, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x19	; 	xsub	%sp,%sp,100
	ld.w	[%sp+0x18],%r12	; 	xld.w	[%sp+96],%r12
	ld.w	%r2,%r13
	ld.w	%r3,%r14
	ld.w	%r0,%r15
	ld.w	%r1,[%sp+0x2a]	; 	xld.w	%r1,[%sp+168]
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,120
	ext	0x1
	add	%r13,0x38
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	srl	%r10,0x8	; 	xsrl	%r10,31
	srl	%r10,0x8
	srl	%r10,0x8
	srl	%r10,0x7
	add	%r0,%r10
	sra	%r0,0x1		; 	xsra	%r0,1
	ld.w	%r10,%r0
	sll	%r10,0x8	; 	xsll	%r10,10
	sll	%r10,0x2
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r4,0x0
	ld.w	[%sp+0xd],%r4	; 	xld.w	[%sp+52],%r4
	add	%r2,%r0
	sll	%r2,0x8		; 	xsll	%r2,10
	sll	%r2,0x2
	ld.w	[%sp+0xe],%r2	; 	xld.w	[%sp+56],%r2
	ld.w	[%sp+0xf],%r4	; 	xld.w	[%sp+60],%r4
	ld.w	[%sp+0x10],%r4	; 	xld.w	[%sp+64],%r4
	not	%r10,%r1
	add	%r10,1
	ld.w	%r11,%r10
	srl	%r11,0x8	; 	xsrl	%r11,31
	srl	%r11,0x8
	srl	%r11,0x8
	srl	%r11,0x7
	add	%r10,%r11
	sra	%r10,0x1	; 	xsra	%r10,1
	sll	%r10,0x8	; 	xsll	%r10,10
	sll	%r10,0x2
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	%r10,%r1
	srl	%r10,0x8	; 	xsrl	%r10,31
	srl	%r10,0x8
	srl	%r10,0x8
	srl	%r10,0x7
	add	%r1,%r10
	sra	%r1,0x1		; 	xsra	%r1,1
	add	%r3,%r1
	sll	%r3,0x8		; 	xsll	%r3,10
	sll	%r3,0x2
	ld.w	[%sp+0x12],%r3	; 	xld.w	[%sp+72],%r3
	ld.w	[%sp+0x13],%r4	; 	xld.w	[%sp+76],%r4
	ld.w	[%sp+0x14],%r4	; 	xld.w	[%sp+80],%r4
	ld.w	[%sp+0x15],%r4	; 	xld.w	[%sp+84],%r4
	ext	0x10		; 	xld.w	%r10,0x00000400		; 1024
	ld.w	%r10,0x0
	ld.w	[%sp+0x16],%r10	; 	xld.w	[%sp+88],%r10
	ld.w	[%sp+0x17],%r4	; 	xld.w	[%sp+92],%r4
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x18]	; 	xld.w	%r10,[%sp+96]
	add	%sp,0x19	; 	xadd	%sp,%sp,100
	popn	%r3
	ret
	.align	1
	.global	mshadow
mshadow:
;	.frame	%sp,160,$31		# vars= 44, regs= 5/0, args= 96, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x23	; 	xsub	%sp,%sp,140
	ld.w	[%sp+0x21],%r12	; 	xld.w	[%sp+132],%r12
	ld.w	%r10,[%sp+0x34]	; 	xld.w	%r10,[%sp+208]
	ld.w	%r11,[%sp+0x35]	; 	xld.w	%r11,[%sp+212]
	ld.w	%r12,[%sp+0x36]	; 	xld.w	%r12,[%sp+216]
	ld.w	[%sp+0x18],%r13	; 	xld.w	[%sp+96],%r13
	ld.w	[%sp+0x19],%r14	; 	xld.w	[%sp+100],%r14
	ld.w	[%sp+0x1a],%r15	; 	xld.w	[%sp+104],%r15
	ld.w	[%sp+0x1b],%r10	; 	xld.w	[%sp+108],%r10
	ld.w	[%sp+0x1c],%r11	; 	xld.w	[%sp+112],%r11
	ld.w	[%sp+0x1d],%r12	; 	xld.w	[%sp+116],%r12
	ld.w	%r4,[%sp+0x37]	; 	xld.w	%r4,[%sp+220]
	ld.w	[%sp+0x1e],%r4	; 	xld.w	[%sp+120],%r4
	ld.w	%r4,[%sp+0x38]	; 	xld.w	%r4,[%sp+224]
	ld.w	[%sp+0x1f],%r4	; 	xld.w	[%sp+124],%r4
	ld.w	%r4,[%sp+0x39]	; 	xld.w	%r4,[%sp+228]
	ld.w	[%sp+0x20],%r4	; 	xld.w	[%sp+128],%r4
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,96
	ext	0x1
	add	%r13,0x20
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r1,%sp		; 	xadd	%r1,%sp,12
	add	%r1,0xc
	ld.w	%r2,%sp		; 	xadd	%r2,%sp,120
	ext	0x1
	add	%r2,0x38
	ld.w	%r12,%r1
	ld.w	%r13,%r2
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	vdot@rm		; 	xcall	vdot
	call	vdot@rl
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,108
	ext	0x1
	add	%r13,0x2c
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r1
	ld.w	%r13,%r2
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	vdot@rm		; 	xcall	vdot
	call	vdot@rl
	ld.w	[%sp+0x22],%r10	; 	xld.w	[%sp+136],%r10
	ld.w	%r12,[%sp+0x18]	; 	xld.w	%r12,[%sp+96]
	ld.w	%r13,%r0
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	%r1,%r10
	ld.w	%r12,[%sp+0x19]	; 	xld.w	%r12,[%sp+100]
	ld.w	%r13,%r0
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	%r2,%r10
	ld.w	%r12,[%sp+0x1a]	; 	xld.w	%r12,[%sp+104]
	ld.w	%r13,%r0
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	%r3,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,160
	ext	0x2
	add	%r13,0x20
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x37]	; 	xld.w	%r12,[%sp+220]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ext	0x10		; 	xld.w	%r0,0x00000400		; 1024
	ld.w	%r0,0x0
	ld.w	%r4,%r0
	sub	%r4,%r10
	ld.w	%r10,%r4
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r12,[%sp+0x38]	; 	xld.w	%r12,[%sp+224]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r12,[%sp+0x39]	; 	xld.w	%r12,[%sp+228]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r12,[%sp+0x22]	; 	xld.w	%r12,[%sp+136]
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0xf],%r10	; 	xld.w	[%sp+60],%r10
	ld.w	%r12,[%sp+0x37]	; 	xld.w	%r12,[%sp+220]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x10],%r10	; 	xld.w	[%sp+64],%r10
	ld.w	%r12,[%sp+0x38]	; 	xld.w	%r12,[%sp+224]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r4,%r0
	sub	%r4,%r10
	ld.w	%r10,%r4
	ld.w	[%sp+0x11],%r10	; 	xld.w	[%sp+68],%r10
	ld.w	%r12,[%sp+0x39]	; 	xld.w	%r12,[%sp+228]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x12],%r10	; 	xld.w	[%sp+72],%r10
	ld.w	%r12,[%sp+0x22]	; 	xld.w	%r12,[%sp+136]
	ld.w	%r13,%r2
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x13],%r10	; 	xld.w	[%sp+76],%r10
	ld.w	%r12,[%sp+0x37]	; 	xld.w	%r12,[%sp+220]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x14],%r10	; 	xld.w	[%sp+80],%r10
	ld.w	%r12,[%sp+0x38]	; 	xld.w	%r12,[%sp+224]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x15],%r10	; 	xld.w	[%sp+84],%r10
	ld.w	%r12,[%sp+0x39]	; 	xld.w	%r12,[%sp+228]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x16],%r0	; 	xld.w	[%sp+88],%r0
	ld.w	%r12,[%sp+0x22]	; 	xld.w	%r12,[%sp+136]
	ld.w	%r13,%r3
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x17],%r10	; 	xld.w	[%sp+92],%r10
	ld.w	%r12,[%sp+0x21]	; 	xld.w	%r12,[%sp+132]
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,[%sp+0x21]	; 	xld.w	%r10,[%sp+132]
	add	%sp,0x23	; 	xadd	%sp,%sp,140
	popn	%r3
	ret
