/* Class403 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
import java.util.Arrays;

public final class Class403
{
    public float[] aFloatArray4592;
    public static Class403 aClass403_4593 = new Class403();
    
    public void method4859() {
	float f = aFloatArray4592[0];
	float f_0_ = aFloatArray4592[4];
	float f_1_ = aFloatArray4592[8];
	float f_2_ = aFloatArray4592[12];
	float f_3_ = aFloatArray4592[1];
	float f_4_ = aFloatArray4592[5];
	float f_5_ = aFloatArray4592[9];
	float f_6_ = aFloatArray4592[13];
	float f_7_ = aFloatArray4592[2];
	float f_8_ = aFloatArray4592[6];
	float f_9_ = aFloatArray4592[10];
	float f_10_ = aFloatArray4592[14];
	float f_11_ = aFloatArray4592[3];
	float f_12_ = aFloatArray4592[7];
	float f_13_ = aFloatArray4592[11];
	float f_14_ = aFloatArray4592[15];
	aFloatArray4592[0] = f;
	aFloatArray4592[1] = f_0_;
	aFloatArray4592[2] = f_1_;
	aFloatArray4592[3] = f_2_;
	aFloatArray4592[4] = f_3_;
	aFloatArray4592[5] = f_4_;
	aFloatArray4592[6] = f_5_;
	aFloatArray4592[7] = f_6_;
	aFloatArray4592[8] = f_7_;
	aFloatArray4592[9] = f_8_;
	aFloatArray4592[10] = f_9_;
	aFloatArray4592[11] = f_10_;
	aFloatArray4592[12] = f_11_;
	aFloatArray4592[13] = f_12_;
	aFloatArray4592[14] = f_13_;
	aFloatArray4592[15] = f_14_;
    }
    
    public void method4860() {
	aFloatArray4592[0] = 1.0F;
	aFloatArray4592[1] = 0.0F;
	aFloatArray4592[2] = 0.0F;
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[4] = 0.0F;
	aFloatArray4592[5] = 1.0F;
	aFloatArray4592[6] = 0.0F;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[8] = 0.0F;
	aFloatArray4592[9] = 0.0F;
	aFloatArray4592[10] = 1.0F;
	aFloatArray4592[11] = 0.0F;
	aFloatArray4592[12] = 0.0F;
	aFloatArray4592[13] = 0.0F;
	aFloatArray4592[14] = 0.0F;
	aFloatArray4592[15] = 1.0F;
    }
    
    void method4861(float f, float f_15_, float f_16_, float f_17_,
		    float f_18_, float f_19_) {
	aFloatArray4592[0] = 2.0F * f_18_ / (f_15_ - f);
	aFloatArray4592[1] = 0.0F;
	aFloatArray4592[2] = 0.0F;
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[4] = 0.0F;
	aFloatArray4592[5] = 2.0F * f_18_ / (f_17_ - f_16_);
	aFloatArray4592[6] = 0.0F;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[8] = (f_15_ + f) / (f_15_ - f);
	aFloatArray4592[9] = (f_17_ + f_16_) / (f_17_ - f_16_);
	aFloatArray4592[10] = (f_19_ + f_18_) / (f_19_ - f_18_);
	aFloatArray4592[11] = 1.0F;
	aFloatArray4592[12] = 0.0F;
	aFloatArray4592[13] = 0.0F;
	aFloatArray4592[14] = -(2.0F * f_19_ * f_18_) / (f_19_ - f_18_);
	aFloatArray4592[15] = 0.0F;
    }
    
    public void method4862(Class403 class403_20_) {
	System.arraycopy(class403_20_.aFloatArray4592, 0, aFloatArray4592, 0,
			 11);
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[11] = 0.0F;
	aFloatArray4592[12] = 0.0F;
	aFloatArray4592[13] = 0.0F;
	aFloatArray4592[14] = 0.0F;
	aFloatArray4592[15] = 1.0F;
    }
    
    public void method4863(Class403 class403_21_) {
	float f = (aFloatArray4592[0] * class403_21_.aFloatArray4592[0]
		   + aFloatArray4592[1] * class403_21_.aFloatArray4592[4]
		   + aFloatArray4592[2] * class403_21_.aFloatArray4592[8]
		   + aFloatArray4592[3] * class403_21_.aFloatArray4592[12]);
	float f_22_
	    = (aFloatArray4592[0] * class403_21_.aFloatArray4592[1]
	       + aFloatArray4592[1] * class403_21_.aFloatArray4592[5]
	       + aFloatArray4592[2] * class403_21_.aFloatArray4592[9]
	       + aFloatArray4592[3] * class403_21_.aFloatArray4592[13]);
	float f_23_
	    = (aFloatArray4592[0] * class403_21_.aFloatArray4592[2]
	       + aFloatArray4592[1] * class403_21_.aFloatArray4592[6]
	       + aFloatArray4592[2] * class403_21_.aFloatArray4592[10]
	       + aFloatArray4592[3] * class403_21_.aFloatArray4592[14]);
	float f_24_
	    = (aFloatArray4592[0] * class403_21_.aFloatArray4592[3]
	       + aFloatArray4592[1] * class403_21_.aFloatArray4592[7]
	       + aFloatArray4592[2] * class403_21_.aFloatArray4592[11]
	       + aFloatArray4592[3] * class403_21_.aFloatArray4592[15]);
	float f_25_
	    = (aFloatArray4592[4] * class403_21_.aFloatArray4592[0]
	       + aFloatArray4592[5] * class403_21_.aFloatArray4592[4]
	       + aFloatArray4592[6] * class403_21_.aFloatArray4592[8]
	       + aFloatArray4592[7] * class403_21_.aFloatArray4592[12]);
	float f_26_
	    = (aFloatArray4592[4] * class403_21_.aFloatArray4592[1]
	       + aFloatArray4592[5] * class403_21_.aFloatArray4592[5]
	       + aFloatArray4592[6] * class403_21_.aFloatArray4592[9]
	       + aFloatArray4592[7] * class403_21_.aFloatArray4592[13]);
	float f_27_
	    = (aFloatArray4592[4] * class403_21_.aFloatArray4592[2]
	       + aFloatArray4592[5] * class403_21_.aFloatArray4592[6]
	       + aFloatArray4592[6] * class403_21_.aFloatArray4592[10]
	       + aFloatArray4592[7] * class403_21_.aFloatArray4592[14]);
	float f_28_
	    = (aFloatArray4592[4] * class403_21_.aFloatArray4592[3]
	       + aFloatArray4592[5] * class403_21_.aFloatArray4592[7]
	       + aFloatArray4592[6] * class403_21_.aFloatArray4592[11]
	       + aFloatArray4592[7] * class403_21_.aFloatArray4592[15]);
	float f_29_
	    = (aFloatArray4592[8] * class403_21_.aFloatArray4592[0]
	       + aFloatArray4592[9] * class403_21_.aFloatArray4592[4]
	       + aFloatArray4592[10] * class403_21_.aFloatArray4592[8]
	       + aFloatArray4592[11] * class403_21_.aFloatArray4592[12]);
	float f_30_
	    = (aFloatArray4592[8] * class403_21_.aFloatArray4592[1]
	       + aFloatArray4592[9] * class403_21_.aFloatArray4592[5]
	       + aFloatArray4592[10] * class403_21_.aFloatArray4592[9]
	       + aFloatArray4592[11] * class403_21_.aFloatArray4592[13]);
	float f_31_
	    = (aFloatArray4592[8] * class403_21_.aFloatArray4592[2]
	       + aFloatArray4592[9] * class403_21_.aFloatArray4592[6]
	       + aFloatArray4592[10] * class403_21_.aFloatArray4592[10]
	       + aFloatArray4592[11] * class403_21_.aFloatArray4592[14]);
	float f_32_
	    = (aFloatArray4592[8] * class403_21_.aFloatArray4592[3]
	       + aFloatArray4592[9] * class403_21_.aFloatArray4592[7]
	       + aFloatArray4592[10] * class403_21_.aFloatArray4592[11]
	       + aFloatArray4592[11] * class403_21_.aFloatArray4592[15]);
	float f_33_
	    = (aFloatArray4592[12] * class403_21_.aFloatArray4592[0]
	       + aFloatArray4592[13] * class403_21_.aFloatArray4592[4]
	       + aFloatArray4592[14] * class403_21_.aFloatArray4592[8]
	       + aFloatArray4592[15] * class403_21_.aFloatArray4592[12]);
	float f_34_
	    = (aFloatArray4592[12] * class403_21_.aFloatArray4592[1]
	       + aFloatArray4592[13] * class403_21_.aFloatArray4592[5]
	       + aFloatArray4592[14] * class403_21_.aFloatArray4592[9]
	       + aFloatArray4592[15] * class403_21_.aFloatArray4592[13]);
	float f_35_
	    = (aFloatArray4592[12] * class403_21_.aFloatArray4592[2]
	       + aFloatArray4592[13] * class403_21_.aFloatArray4592[6]
	       + aFloatArray4592[14] * class403_21_.aFloatArray4592[10]
	       + aFloatArray4592[15] * class403_21_.aFloatArray4592[14]);
	float f_36_
	    = (aFloatArray4592[12] * class403_21_.aFloatArray4592[3]
	       + aFloatArray4592[13] * class403_21_.aFloatArray4592[7]
	       + aFloatArray4592[14] * class403_21_.aFloatArray4592[11]
	       + aFloatArray4592[15] * class403_21_.aFloatArray4592[15]);
	aFloatArray4592[0] = f;
	aFloatArray4592[1] = f_22_;
	aFloatArray4592[2] = f_23_;
	aFloatArray4592[3] = f_24_;
	aFloatArray4592[4] = f_25_;
	aFloatArray4592[5] = f_26_;
	aFloatArray4592[6] = f_27_;
	aFloatArray4592[7] = f_28_;
	aFloatArray4592[8] = f_29_;
	aFloatArray4592[9] = f_30_;
	aFloatArray4592[10] = f_31_;
	aFloatArray4592[11] = f_32_;
	aFloatArray4592[12] = f_33_;
	aFloatArray4592[13] = f_34_;
	aFloatArray4592[14] = f_35_;
	aFloatArray4592[15] = f_36_;
    }
    
    public void method4864(Class403 class403_37_) {
	System.arraycopy(class403_37_.aFloatArray4592, 0, aFloatArray4592, 0,
			 16);
    }
    
    public void method4865(Class400 class400) {
	aFloatArray4592[0] = ((Class400) class400).aFloat4574;
	aFloatArray4592[1] = ((Class400) class400).aFloat4575;
	aFloatArray4592[2] = ((Class400) class400).aFloat4581;
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[4] = ((Class400) class400).aFloat4577;
	aFloatArray4592[5] = ((Class400) class400).aFloat4578;
	aFloatArray4592[6] = ((Class400) class400).aFloat4579;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[8] = ((Class400) class400).aFloat4580;
	aFloatArray4592[9] = ((Class400) class400).aFloat4573;
	aFloatArray4592[10] = ((Class400) class400).aFloat4582;
	aFloatArray4592[11] = 0.0F;
	aFloatArray4592[12] = ((Class400) class400).aFloat4584;
	aFloatArray4592[13] = ((Class400) class400).aFloat4576;
	aFloatArray4592[14] = ((Class400) class400).aFloat4585;
	aFloatArray4592[15] = 1.0F;
    }
    
    float method4866() {
	return ((aFloatArray4592[0] * aFloatArray4592[5] * aFloatArray4592[10]
		 * aFloatArray4592[15])
		- (aFloatArray4592[0] * aFloatArray4592[5]
		   * aFloatArray4592[11] * aFloatArray4592[14])
		- (aFloatArray4592[0] * aFloatArray4592[6] * aFloatArray4592[9]
		   * aFloatArray4592[15])
		+ (aFloatArray4592[0] * aFloatArray4592[6]
		   * aFloatArray4592[11] * aFloatArray4592[13])
		+ (aFloatArray4592[0] * aFloatArray4592[7] * aFloatArray4592[9]
		   * aFloatArray4592[14])
		- (aFloatArray4592[0] * aFloatArray4592[7]
		   * aFloatArray4592[10] * aFloatArray4592[13])
		- (aFloatArray4592[1] * aFloatArray4592[4]
		   * aFloatArray4592[10] * aFloatArray4592[15])
		+ (aFloatArray4592[1] * aFloatArray4592[4]
		   * aFloatArray4592[11] * aFloatArray4592[14])
		+ (aFloatArray4592[1] * aFloatArray4592[6] * aFloatArray4592[8]
		   * aFloatArray4592[15])
		- (aFloatArray4592[1] * aFloatArray4592[6]
		   * aFloatArray4592[11] * aFloatArray4592[12])
		- (aFloatArray4592[1] * aFloatArray4592[7] * aFloatArray4592[8]
		   * aFloatArray4592[14])
		+ (aFloatArray4592[1] * aFloatArray4592[7]
		   * aFloatArray4592[10] * aFloatArray4592[12])
		+ (aFloatArray4592[2] * aFloatArray4592[4] * aFloatArray4592[9]
		   * aFloatArray4592[15])
		- (aFloatArray4592[2] * aFloatArray4592[4]
		   * aFloatArray4592[11] * aFloatArray4592[13])
		- (aFloatArray4592[2] * aFloatArray4592[5] * aFloatArray4592[8]
		   * aFloatArray4592[15])
		+ (aFloatArray4592[2] * aFloatArray4592[5]
		   * aFloatArray4592[11] * aFloatArray4592[12])
		+ (aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[8]
		   * aFloatArray4592[13])
		- (aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[9]
		   * aFloatArray4592[12])
		- (aFloatArray4592[3] * aFloatArray4592[4] * aFloatArray4592[9]
		   * aFloatArray4592[14])
		+ (aFloatArray4592[3] * aFloatArray4592[4]
		   * aFloatArray4592[10] * aFloatArray4592[13])
		+ (aFloatArray4592[3] * aFloatArray4592[5] * aFloatArray4592[8]
		   * aFloatArray4592[14])
		- (aFloatArray4592[3] * aFloatArray4592[5]
		   * aFloatArray4592[10] * aFloatArray4592[12])
		- (aFloatArray4592[3] * aFloatArray4592[6] * aFloatArray4592[8]
		   * aFloatArray4592[13])
		+ (aFloatArray4592[3] * aFloatArray4592[6] * aFloatArray4592[9]
		   * aFloatArray4592[12]));
    }
    
    public boolean method4867() {
	return (aFloatArray4592[0] == 1.0F && aFloatArray4592[1] == 0.0F
		&& aFloatArray4592[2] == 0.0F && aFloatArray4592[3] == 0.0F
		&& aFloatArray4592[4] == 0.0F && aFloatArray4592[5] == 1.0F
		&& aFloatArray4592[6] == 0.0F && aFloatArray4592[7] == 0.0F
		&& aFloatArray4592[8] == 0.0F && aFloatArray4592[9] == 0.0F
		&& aFloatArray4592[10] == 1.0F && aFloatArray4592[11] == 0.0F
		&& aFloatArray4592[12] == 0.0F && aFloatArray4592[13] == 0.0F
		&& aFloatArray4592[14] == 0.0F && aFloatArray4592[15] == 1.0F);
    }
    
    public void method4868(float f, float f_38_, float f_39_, float[] fs) {
	fs[0] = (aFloatArray4592[0] * f + aFloatArray4592[4] * f_38_
		 + aFloatArray4592[8] * f_39_ + aFloatArray4592[12]);
	fs[1] = (aFloatArray4592[1] * f + aFloatArray4592[5] * f_38_
		 + aFloatArray4592[9] * f_39_ + aFloatArray4592[13]);
	fs[2] = (aFloatArray4592[2] * f + aFloatArray4592[6] * f_38_
		 + aFloatArray4592[10] * f_39_ + aFloatArray4592[14]);
	if (fs.length > 3)
	    fs[3] = (aFloatArray4592[3] * f + aFloatArray4592[7] * f_38_
		     + aFloatArray4592[11] * f_39_ + aFloatArray4592[15]);
    }
    
    public void method4869(float[] fs) {
	float f = fs[0];
	float f_40_ = fs[1];
	float f_41_ = fs[2];
	fs[0] = (aFloatArray4592[0] * f + aFloatArray4592[4] * f_40_
		 + aFloatArray4592[8] * f_41_ + aFloatArray4592[12]);
	fs[1] = (aFloatArray4592[1] * f + aFloatArray4592[5] * f_40_
		 + aFloatArray4592[9] * f_41_ + aFloatArray4592[13]);
	fs[2] = (aFloatArray4592[2] * f + aFloatArray4592[6] * f_40_
		 + aFloatArray4592[10] * f_41_ + aFloatArray4592[14]);
    }
    
    public void method4870(float f, float f_42_, float f_43_, float f_44_,
			   float f_45_, float f_46_) {
	aFloatArray4592[0] = 2.0F / (f_42_ - f);
	aFloatArray4592[1] = 0.0F;
	aFloatArray4592[2] = 0.0F;
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[4] = 0.0F;
	aFloatArray4592[5] = 2.0F / (f_44_ - f_43_);
	aFloatArray4592[6] = 0.0F;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[8] = 0.0F;
	aFloatArray4592[9] = 0.0F;
	aFloatArray4592[10] = 2.0F / (f_46_ - f_45_);
	aFloatArray4592[11] = 0.0F;
	aFloatArray4592[12] = -(f_42_ + f) / (f_42_ - f);
	aFloatArray4592[13] = -(f_44_ + f_43_) / (f_44_ - f_43_);
	aFloatArray4592[14] = -(f_46_ + f_45_) / (f_46_ - f_45_);
	aFloatArray4592[15] = 1.0F;
    }
    
    public void method4871(float f, float f_47_, float f_48_, float f_49_) {
	float f_50_ = (float) (Math.tan((double) (f_48_ / 2.0F)) * (double) f);
	float f_51_ = (float) (Math.tan((double) (f_49_ / 2.0F)) * (double) f);
	method4861(-f_50_, f_50_, -f_51_, f_51_, f, f_47_);
    }
    
    public void method4872(float f, float f_52_, float f_53_) {
	method4870(-10000.0F / f_53_, 10000.0F / f_53_, -10000.0F / f_53_,
		   10000.0F / f_53_, f, f_52_);
    }
    
    public String method4873() {
	StringBuilder stringbuilder = new StringBuilder();
	for (int i = 0; i < 4; i++) {
	    for (int i_54_ = 0; i_54_ < 4; i_54_++) {
		if (i_54_ > 0)
		    stringbuilder.append("\t");
		stringbuilder.append(aFloatArray4592[i * 4 + i_54_]);
	    }
	    stringbuilder.append("\n");
	}
	return stringbuilder.toString();
    }
    
    public void method4874(float f, float f_55_, float f_56_, float f_57_,
			   float f_58_, float f_59_, float f_60_,
			   float f_61_) {
	aFloatArray4592[0] = f_56_ * 2.0F / f_60_;
	aFloatArray4592[1] = 0.0F;
	aFloatArray4592[2] = 0.0F;
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[4] = 0.0F;
	aFloatArray4592[5] = f_57_ * 2.0F / f_61_;
	aFloatArray4592[6] = 0.0F;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[8] = 2.0F * f / f_60_ - 1.0F;
	aFloatArray4592[9] = 2.0F * f_55_ / f_61_ - 1.0F;
	aFloatArray4592[10] = (f_59_ + f_58_) / (f_59_ - f_58_);
	aFloatArray4592[11] = 1.0F;
	aFloatArray4592[12] = 0.0F;
	aFloatArray4592[13] = 0.0F;
	aFloatArray4592[14] = 2.0F * f_59_ * f_58_ / (f_58_ - f_59_);
	aFloatArray4592[15] = 0.0F;
    }
    
    public float[] method4875(float[] fs) {
	float f = aFloatArray4592[3] - aFloatArray4592[1];
	float f_62_ = aFloatArray4592[7] - aFloatArray4592[5];
	float f_63_ = aFloatArray4592[11] - aFloatArray4592[9];
	double d = Math.sqrt((double) (f * f + f_62_ * f_62_ + f_63_ * f_63_));
	fs[0] = (float) ((double) f / d);
	fs[1] = (float) ((double) f_62_ / d);
	fs[2] = (float) ((double) f_63_ / d);
	fs[3] = (float) ((double) (aFloatArray4592[15] - aFloatArray4592[13])
			 / d);
	return fs;
    }
    
    public float method4876() {
	return (-(aFloatArray4592[15] + aFloatArray4592[14])
		/ (aFloatArray4592[11] + aFloatArray4592[10]));
    }
    
    public float method4877() {
	return ((aFloatArray4592[14] - aFloatArray4592[15])
		/ (aFloatArray4592[11] - aFloatArray4592[10]));
    }
    
    public float[] method4878(float[] fs) {
	float f = aFloatArray4592[3] + aFloatArray4592[0];
	float f_64_ = aFloatArray4592[7] + aFloatArray4592[4];
	float f_65_ = aFloatArray4592[11] + aFloatArray4592[8];
	double d = Math.sqrt((double) (f * f + f_64_ * f_64_ + f_65_ * f_65_));
	fs[0] = (float) ((double) f / d);
	fs[1] = (float) ((double) f_64_ / d);
	fs[2] = (float) ((double) f_65_ / d);
	fs[3] = (float) ((double) (aFloatArray4592[15] + aFloatArray4592[12])
			 / d);
	return fs;
    }
    
    public float[] method4879(float[] fs) {
	float f = aFloatArray4592[3] - aFloatArray4592[0];
	float f_66_ = aFloatArray4592[7] - aFloatArray4592[4];
	float f_67_ = aFloatArray4592[11] - aFloatArray4592[8];
	double d = Math.sqrt((double) (f * f + f_66_ * f_66_ + f_67_ * f_67_));
	fs[0] = (float) ((double) f / d);
	fs[1] = (float) ((double) f_66_ / d);
	fs[2] = (float) ((double) f_67_ / d);
	fs[3] = (float) ((double) (aFloatArray4592[15] - aFloatArray4592[12])
			 / d);
	return fs;
    }
    
    public void method4880() {
	float f = aFloatArray4592[0];
	float f_68_ = aFloatArray4592[4];
	float f_69_ = aFloatArray4592[8];
	float f_70_ = aFloatArray4592[12];
	float f_71_ = aFloatArray4592[1];
	float f_72_ = aFloatArray4592[5];
	float f_73_ = aFloatArray4592[9];
	float f_74_ = aFloatArray4592[13];
	float f_75_ = aFloatArray4592[2];
	float f_76_ = aFloatArray4592[6];
	float f_77_ = aFloatArray4592[10];
	float f_78_ = aFloatArray4592[14];
	float f_79_ = aFloatArray4592[3];
	float f_80_ = aFloatArray4592[7];
	float f_81_ = aFloatArray4592[11];
	float f_82_ = aFloatArray4592[15];
	aFloatArray4592[0] = f;
	aFloatArray4592[1] = f_68_;
	aFloatArray4592[2] = f_69_;
	aFloatArray4592[3] = f_70_;
	aFloatArray4592[4] = f_71_;
	aFloatArray4592[5] = f_72_;
	aFloatArray4592[6] = f_73_;
	aFloatArray4592[7] = f_74_;
	aFloatArray4592[8] = f_75_;
	aFloatArray4592[9] = f_76_;
	aFloatArray4592[10] = f_77_;
	aFloatArray4592[11] = f_78_;
	aFloatArray4592[12] = f_79_;
	aFloatArray4592[13] = f_80_;
	aFloatArray4592[14] = f_81_;
	aFloatArray4592[15] = f_82_;
    }
    
    public void method4881(Class403 class403_83_, Class403 class403_84_) {
	float f = ((class403_83_.aFloatArray4592[0]
		    * class403_84_.aFloatArray4592[0])
		   + (class403_83_.aFloatArray4592[1]
		      * class403_84_.aFloatArray4592[4])
		   + (class403_83_.aFloatArray4592[2]
		      * class403_84_.aFloatArray4592[8])
		   + (class403_83_.aFloatArray4592[3]
		      * class403_84_.aFloatArray4592[12]));
	float f_85_ = ((class403_83_.aFloatArray4592[0]
			* class403_84_.aFloatArray4592[1])
		       + (class403_83_.aFloatArray4592[1]
			  * class403_84_.aFloatArray4592[5])
		       + (class403_83_.aFloatArray4592[2]
			  * class403_84_.aFloatArray4592[9])
		       + (class403_83_.aFloatArray4592[3]
			  * class403_84_.aFloatArray4592[13]));
	float f_86_ = ((class403_83_.aFloatArray4592[0]
			* class403_84_.aFloatArray4592[2])
		       + (class403_83_.aFloatArray4592[1]
			  * class403_84_.aFloatArray4592[6])
		       + (class403_83_.aFloatArray4592[2]
			  * class403_84_.aFloatArray4592[10])
		       + (class403_83_.aFloatArray4592[3]
			  * class403_84_.aFloatArray4592[14]));
	float f_87_ = ((class403_83_.aFloatArray4592[0]
			* class403_84_.aFloatArray4592[3])
		       + (class403_83_.aFloatArray4592[1]
			  * class403_84_.aFloatArray4592[7])
		       + (class403_83_.aFloatArray4592[2]
			  * class403_84_.aFloatArray4592[11])
		       + (class403_83_.aFloatArray4592[3]
			  * class403_84_.aFloatArray4592[15]));
	float f_88_ = ((class403_83_.aFloatArray4592[4]
			* class403_84_.aFloatArray4592[0])
		       + (class403_83_.aFloatArray4592[5]
			  * class403_84_.aFloatArray4592[4])
		       + (class403_83_.aFloatArray4592[6]
			  * class403_84_.aFloatArray4592[8])
		       + (class403_83_.aFloatArray4592[7]
			  * class403_84_.aFloatArray4592[12]));
	float f_89_ = ((class403_83_.aFloatArray4592[4]
			* class403_84_.aFloatArray4592[1])
		       + (class403_83_.aFloatArray4592[5]
			  * class403_84_.aFloatArray4592[5])
		       + (class403_83_.aFloatArray4592[6]
			  * class403_84_.aFloatArray4592[9])
		       + (class403_83_.aFloatArray4592[7]
			  * class403_84_.aFloatArray4592[13]));
	float f_90_ = ((class403_83_.aFloatArray4592[4]
			* class403_84_.aFloatArray4592[2])
		       + (class403_83_.aFloatArray4592[5]
			  * class403_84_.aFloatArray4592[6])
		       + (class403_83_.aFloatArray4592[6]
			  * class403_84_.aFloatArray4592[10])
		       + (class403_83_.aFloatArray4592[7]
			  * class403_84_.aFloatArray4592[14]));
	float f_91_ = ((class403_83_.aFloatArray4592[4]
			* class403_84_.aFloatArray4592[3])
		       + (class403_83_.aFloatArray4592[5]
			  * class403_84_.aFloatArray4592[7])
		       + (class403_83_.aFloatArray4592[6]
			  * class403_84_.aFloatArray4592[11])
		       + (class403_83_.aFloatArray4592[7]
			  * class403_84_.aFloatArray4592[15]));
	float f_92_ = ((class403_83_.aFloatArray4592[8]
			* class403_84_.aFloatArray4592[0])
		       + (class403_83_.aFloatArray4592[9]
			  * class403_84_.aFloatArray4592[4])
		       + (class403_83_.aFloatArray4592[10]
			  * class403_84_.aFloatArray4592[8])
		       + (class403_83_.aFloatArray4592[11]
			  * class403_84_.aFloatArray4592[12]));
	float f_93_ = ((class403_83_.aFloatArray4592[8]
			* class403_84_.aFloatArray4592[1])
		       + (class403_83_.aFloatArray4592[9]
			  * class403_84_.aFloatArray4592[5])
		       + (class403_83_.aFloatArray4592[10]
			  * class403_84_.aFloatArray4592[9])
		       + (class403_83_.aFloatArray4592[11]
			  * class403_84_.aFloatArray4592[13]));
	float f_94_ = ((class403_83_.aFloatArray4592[8]
			* class403_84_.aFloatArray4592[2])
		       + (class403_83_.aFloatArray4592[9]
			  * class403_84_.aFloatArray4592[6])
		       + (class403_83_.aFloatArray4592[10]
			  * class403_84_.aFloatArray4592[10])
		       + (class403_83_.aFloatArray4592[11]
			  * class403_84_.aFloatArray4592[14]));
	float f_95_ = ((class403_83_.aFloatArray4592[8]
			* class403_84_.aFloatArray4592[3])
		       + (class403_83_.aFloatArray4592[9]
			  * class403_84_.aFloatArray4592[7])
		       + (class403_83_.aFloatArray4592[10]
			  * class403_84_.aFloatArray4592[11])
		       + (class403_83_.aFloatArray4592[11]
			  * class403_84_.aFloatArray4592[15]));
	float f_96_ = ((class403_83_.aFloatArray4592[12]
			* class403_84_.aFloatArray4592[0])
		       + (class403_83_.aFloatArray4592[13]
			  * class403_84_.aFloatArray4592[4])
		       + (class403_83_.aFloatArray4592[14]
			  * class403_84_.aFloatArray4592[8])
		       + (class403_83_.aFloatArray4592[15]
			  * class403_84_.aFloatArray4592[12]));
	float f_97_ = ((class403_83_.aFloatArray4592[12]
			* class403_84_.aFloatArray4592[1])
		       + (class403_83_.aFloatArray4592[13]
			  * class403_84_.aFloatArray4592[5])
		       + (class403_83_.aFloatArray4592[14]
			  * class403_84_.aFloatArray4592[9])
		       + (class403_83_.aFloatArray4592[15]
			  * class403_84_.aFloatArray4592[13]));
	float f_98_ = ((class403_83_.aFloatArray4592[12]
			* class403_84_.aFloatArray4592[2])
		       + (class403_83_.aFloatArray4592[13]
			  * class403_84_.aFloatArray4592[6])
		       + (class403_83_.aFloatArray4592[14]
			  * class403_84_.aFloatArray4592[10])
		       + (class403_83_.aFloatArray4592[15]
			  * class403_84_.aFloatArray4592[14]));
	float f_99_ = ((class403_83_.aFloatArray4592[12]
			* class403_84_.aFloatArray4592[3])
		       + (class403_83_.aFloatArray4592[13]
			  * class403_84_.aFloatArray4592[7])
		       + (class403_83_.aFloatArray4592[14]
			  * class403_84_.aFloatArray4592[11])
		       + (class403_83_.aFloatArray4592[15]
			  * class403_84_.aFloatArray4592[15]));
	aFloatArray4592[0] = f;
	aFloatArray4592[1] = f_85_;
	aFloatArray4592[2] = f_86_;
	aFloatArray4592[3] = f_87_;
	aFloatArray4592[4] = f_88_;
	aFloatArray4592[5] = f_89_;
	aFloatArray4592[6] = f_90_;
	aFloatArray4592[7] = f_91_;
	aFloatArray4592[8] = f_92_;
	aFloatArray4592[9] = f_93_;
	aFloatArray4592[10] = f_94_;
	aFloatArray4592[11] = f_95_;
	aFloatArray4592[12] = f_96_;
	aFloatArray4592[13] = f_97_;
	aFloatArray4592[14] = f_98_;
	aFloatArray4592[15] = f_99_;
    }
    
    public float[] method4882(float[] fs) {
	float f = aFloatArray4592[3] - aFloatArray4592[2];
	float f_100_ = aFloatArray4592[7] - aFloatArray4592[6];
	float f_101_ = aFloatArray4592[11] - aFloatArray4592[10];
	double d
	    = Math.sqrt((double) (f * f + f_100_ * f_100_ + f_101_ * f_101_));
	fs[0] = (float) ((double) f / d);
	fs[1] = (float) ((double) f_100_ / d);
	fs[2] = (float) ((double) f_101_ / d);
	fs[3] = (float) ((double) (aFloatArray4592[15] - aFloatArray4592[14])
			 / d);
	return fs;
    }
    
    public void method4883() {
	float f = aFloatArray4592[0];
	float f_102_ = aFloatArray4592[4];
	float f_103_ = aFloatArray4592[8];
	float f_104_ = aFloatArray4592[12];
	float f_105_ = aFloatArray4592[1];
	float f_106_ = aFloatArray4592[5];
	float f_107_ = aFloatArray4592[9];
	float f_108_ = aFloatArray4592[13];
	float f_109_ = aFloatArray4592[2];
	float f_110_ = aFloatArray4592[6];
	float f_111_ = aFloatArray4592[10];
	float f_112_ = aFloatArray4592[14];
	float f_113_ = aFloatArray4592[3];
	float f_114_ = aFloatArray4592[7];
	float f_115_ = aFloatArray4592[11];
	float f_116_ = aFloatArray4592[15];
	aFloatArray4592[0] = f;
	aFloatArray4592[1] = f_102_;
	aFloatArray4592[2] = f_103_;
	aFloatArray4592[3] = f_104_;
	aFloatArray4592[4] = f_105_;
	aFloatArray4592[5] = f_106_;
	aFloatArray4592[6] = f_107_;
	aFloatArray4592[7] = f_108_;
	aFloatArray4592[8] = f_109_;
	aFloatArray4592[9] = f_110_;
	aFloatArray4592[10] = f_111_;
	aFloatArray4592[11] = f_112_;
	aFloatArray4592[12] = f_113_;
	aFloatArray4592[13] = f_114_;
	aFloatArray4592[14] = f_115_;
	aFloatArray4592[15] = f_116_;
    }
    
    public int hashCode() {
	int i = 1;
	i = 31 * i + Arrays.hashCode(aFloatArray4592);
	return i;
    }
    
    public float[] method4884(float[] fs) {
	System.arraycopy(aFloatArray4592, 0, fs, 0, 16);
	fs[3] = 0.0F;
	fs[7] = 0.0F;
	fs[11] = 0.0F;
	fs[12] = 0.0F;
	fs[13] = 0.0F;
	fs[14] = 0.0F;
	fs[15] = 1.0F;
	return fs;
    }
    
    public float[] method4885(float[] fs) {
	fs[0] = aFloatArray4592[0];
	fs[1] = aFloatArray4592[1];
	fs[2] = aFloatArray4592[2];
	fs[3] = aFloatArray4592[4];
	fs[4] = aFloatArray4592[5];
	fs[5] = aFloatArray4592[6];
	fs[6] = aFloatArray4592[8];
	fs[7] = aFloatArray4592[9];
	fs[8] = aFloatArray4592[10];
	return fs;
    }
    
    public float[] method4886(float[] fs) {
	fs[0] = aFloatArray4592[0];
	fs[1] = aFloatArray4592[4];
	fs[2] = aFloatArray4592[8];
	fs[3] = aFloatArray4592[12];
	fs[4] = aFloatArray4592[1];
	fs[5] = aFloatArray4592[5];
	fs[6] = aFloatArray4592[9];
	fs[7] = aFloatArray4592[13];
	fs[8] = aFloatArray4592[2];
	fs[9] = aFloatArray4592[6];
	fs[10] = aFloatArray4592[10];
	fs[11] = aFloatArray4592[14];
	fs[12] = aFloatArray4592[3];
	fs[13] = aFloatArray4592[7];
	fs[14] = aFloatArray4592[11];
	fs[15] = aFloatArray4592[15];
	return fs;
    }
    
    public float[] method4887(float[] fs) {
	fs[0] = aFloatArray4592[0];
	fs[1] = aFloatArray4592[1];
	fs[2] = aFloatArray4592[4];
	fs[3] = aFloatArray4592[5];
	fs[4] = aFloatArray4592[8];
	fs[5] = aFloatArray4592[9];
	fs[6] = aFloatArray4592[12];
	fs[7] = aFloatArray4592[13];
	return fs;
    }
    
    public Class403(Class403 class403_117_) {
	aFloatArray4592 = new float[16];
	method4864(class403_117_);
    }
    
    public float[] method4888(float[] fs) {
	System.arraycopy(aFloatArray4592, 0, fs, 0, 16);
	return fs;
    }
    
    public void method4889(int i, int i_118_, int i_119_, float f,
			   float f_120_, float f_121_) {
	if (i != 0) {
	    float f_122_ = Class393.aFloatArray4531[i & 0x3fff];
	    float f_123_ = Class393.aFloatArray4532[i & 0x3fff];
	    aFloatArray4592[0] = f_122_ * (float) i_118_;
	    aFloatArray4592[5] = f_122_ * (float) i_119_;
	    aFloatArray4592[1] = f_123_ * (float) i_118_;
	    aFloatArray4592[4] = -f_123_ * (float) i_119_;
	    aFloatArray4592[10] = 1.0F;
	    float[] fs = aFloatArray4592;
	    float[] fs_124_ = aFloatArray4592;
	    float[] fs_125_ = aFloatArray4592;
	    aFloatArray4592[9] = 0.0F;
	    fs_125_[8] = 0.0F;
	    fs_124_[6] = 0.0F;
	    fs[2] = 0.0F;
	} else {
	    aFloatArray4592[0] = (float) i_118_;
	    aFloatArray4592[5] = (float) i_119_;
	    aFloatArray4592[10] = 1.0F;
	    float[] fs = aFloatArray4592;
	    float[] fs_126_ = aFloatArray4592;
	    float[] fs_127_ = aFloatArray4592;
	    float[] fs_128_ = aFloatArray4592;
	    float[] fs_129_ = aFloatArray4592;
	    aFloatArray4592[9] = 0.0F;
	    fs_129_[8] = 0.0F;
	    fs_128_[6] = 0.0F;
	    fs_127_[4] = 0.0F;
	    fs_126_[2] = 0.0F;
	    fs[1] = 0.0F;
	}
	float[] fs = aFloatArray4592;
	float[] fs_130_ = aFloatArray4592;
	aFloatArray4592[11] = 0.0F;
	fs_130_[7] = 0.0F;
	fs[3] = 0.0F;
	aFloatArray4592[15] = 1.0F;
	aFloatArray4592[12] = f;
	aFloatArray4592[13] = f_120_;
	aFloatArray4592[14] = f_121_;
    }
    
    public String toString() {
	StringBuilder stringbuilder = new StringBuilder();
	for (int i = 0; i < 4; i++) {
	    for (int i_131_ = 0; i_131_ < 4; i_131_++) {
		if (i_131_ > 0)
		    stringbuilder.append("\t");
		stringbuilder.append(aFloatArray4592[i * 4 + i_131_]);
	    }
	    stringbuilder.append("\n");
	}
	return stringbuilder.toString();
    }
    
    public boolean equals(Object object) {
	if (!(object instanceof Class403))
	    return false;
	Class403 class403_132_ = (Class403) object;
	for (int i = 0; i < 16; i++) {
	    if (aFloatArray4592[i] != class403_132_.aFloatArray4592[i])
		return false;
	}
	return true;
    }
    
    public int method4890() {
	int i = 1;
	i = 31 * i + Arrays.hashCode(aFloatArray4592);
	return i;
    }
    
    public int method4891() {
	int i = 1;
	i = 31 * i + Arrays.hashCode(aFloatArray4592);
	return i;
    }
    
    public int method4892() {
	int i = 1;
	i = 31 * i + Arrays.hashCode(aFloatArray4592);
	return i;
    }
    
    public int method4893() {
	int i = 1;
	i = 31 * i + Arrays.hashCode(aFloatArray4592);
	return i;
    }
    
    public String method4894() {
	StringBuilder stringbuilder = new StringBuilder();
	for (int i = 0; i < 4; i++) {
	    for (int i_133_ = 0; i_133_ < 4; i_133_++) {
		if (i_133_ > 0)
		    stringbuilder.append("\t");
		stringbuilder.append(aFloatArray4592[i * 4 + i_133_]);
	    }
	    stringbuilder.append("\n");
	}
	return stringbuilder.toString();
    }
    
    public String method4895() {
	StringBuilder stringbuilder = new StringBuilder();
	for (int i = 0; i < 4; i++) {
	    for (int i_134_ = 0; i_134_ < 4; i_134_++) {
		if (i_134_ > 0)
		    stringbuilder.append("\t");
		stringbuilder.append(aFloatArray4592[i * 4 + i_134_]);
	    }
	    stringbuilder.append("\n");
	}
	return stringbuilder.toString();
    }
    
    public boolean method4896(Object object) {
	if (!(object instanceof Class403))
	    return false;
	Class403 class403_135_ = (Class403) object;
	for (int i = 0; i < 16; i++) {
	    if (aFloatArray4592[i] != class403_135_.aFloatArray4592[i])
		return false;
	}
	return true;
    }
    
    public String method4897() {
	StringBuilder stringbuilder = new StringBuilder();
	for (int i = 0; i < 4; i++) {
	    for (int i_136_ = 0; i_136_ < 4; i_136_++) {
		if (i_136_ > 0)
		    stringbuilder.append("\t");
		stringbuilder.append(aFloatArray4592[i * 4 + i_136_]);
	    }
	    stringbuilder.append("\n");
	}
	return stringbuilder.toString();
    }
    
    public void method4898(float f, float f_137_, float f_138_, float[] fs) {
	fs[0] = (aFloatArray4592[0] * f + aFloatArray4592[4] * f_137_
		 + aFloatArray4592[8] * f_138_);
	fs[1] = (aFloatArray4592[1] * f + aFloatArray4592[5] * f_137_
		 + aFloatArray4592[9] * f_138_);
	fs[2] = (aFloatArray4592[2] * f + aFloatArray4592[6] * f_137_
		 + aFloatArray4592[10] * f_138_);
	if (fs.length > 3)
	    fs[3] = (aFloatArray4592[3] * f + aFloatArray4592[7] * f_137_
		     + aFloatArray4592[11] * f_138_);
    }
    
    public void method4899(float f, float f_139_, float f_140_, float f_141_) {
	aFloatArray4592[0] = f;
	aFloatArray4592[1] = 0.0F;
	aFloatArray4592[2] = 0.0F;
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[4] = 0.0F;
	aFloatArray4592[5] = f_139_;
	aFloatArray4592[6] = 0.0F;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[8] = 0.0F;
	aFloatArray4592[9] = 0.0F;
	aFloatArray4592[10] = f_140_;
	aFloatArray4592[11] = 0.0F;
	aFloatArray4592[12] = 0.0F;
	aFloatArray4592[13] = 0.0F;
	aFloatArray4592[14] = 0.0F;
	aFloatArray4592[15] = f_141_;
    }
    
    public void method4900(float f, float f_142_, float f_143_, float f_144_) {
	aFloatArray4592[0] = f;
	aFloatArray4592[1] = 0.0F;
	aFloatArray4592[2] = 0.0F;
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[4] = 0.0F;
	aFloatArray4592[5] = f_142_;
	aFloatArray4592[6] = 0.0F;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[8] = 0.0F;
	aFloatArray4592[9] = 0.0F;
	aFloatArray4592[10] = f_143_;
	aFloatArray4592[11] = 0.0F;
	aFloatArray4592[12] = 0.0F;
	aFloatArray4592[13] = 0.0F;
	aFloatArray4592[14] = 0.0F;
	aFloatArray4592[15] = f_144_;
    }
    
    public void method4901(float f, float f_145_, float f_146_, float f_147_) {
	aFloatArray4592[0] = f;
	aFloatArray4592[1] = 0.0F;
	aFloatArray4592[2] = 0.0F;
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[4] = 0.0F;
	aFloatArray4592[5] = f_145_;
	aFloatArray4592[6] = 0.0F;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[8] = 0.0F;
	aFloatArray4592[9] = 0.0F;
	aFloatArray4592[10] = f_146_;
	aFloatArray4592[11] = 0.0F;
	aFloatArray4592[12] = 0.0F;
	aFloatArray4592[13] = 0.0F;
	aFloatArray4592[14] = 0.0F;
	aFloatArray4592[15] = f_147_;
    }
    
    public float[] method4902(float[] fs) {
	fs[0] = aFloatArray4592[0];
	fs[1] = aFloatArray4592[4];
	fs[2] = aFloatArray4592[8];
	fs[3] = aFloatArray4592[12];
	fs[4] = aFloatArray4592[1];
	fs[5] = aFloatArray4592[5];
	fs[6] = aFloatArray4592[9];
	fs[7] = aFloatArray4592[13];
	return fs;
    }
    
    public boolean method4903() {
	return (aFloatArray4592[0] == 1.0F && aFloatArray4592[1] == 0.0F
		&& aFloatArray4592[2] == 0.0F && aFloatArray4592[3] == 0.0F
		&& aFloatArray4592[4] == 0.0F && aFloatArray4592[5] == 1.0F
		&& aFloatArray4592[6] == 0.0F && aFloatArray4592[7] == 0.0F
		&& aFloatArray4592[8] == 0.0F && aFloatArray4592[9] == 0.0F
		&& aFloatArray4592[10] == 1.0F && aFloatArray4592[11] == 0.0F
		&& aFloatArray4592[12] == 0.0F && aFloatArray4592[13] == 0.0F
		&& aFloatArray4592[14] == 0.0F && aFloatArray4592[15] == 1.0F);
    }
    
    public void method4904(float f, float f_148_, float f_149_) {
	method4870(-10000.0F / f_149_, 10000.0F / f_149_, -10000.0F / f_149_,
		   10000.0F / f_149_, f, f_148_);
    }
    
    public float[] method4905(float[] fs) {
	float f = aFloatArray4592[3] + aFloatArray4592[1];
	float f_150_ = aFloatArray4592[7] + aFloatArray4592[5];
	float f_151_ = aFloatArray4592[11] + aFloatArray4592[9];
	double d
	    = Math.sqrt((double) (f * f + f_150_ * f_150_ + f_151_ * f_151_));
	fs[0] = (float) ((double) f / d);
	fs[1] = (float) ((double) f_150_ / d);
	fs[2] = (float) ((double) f_151_ / d);
	fs[3] = (float) ((double) (aFloatArray4592[15] + aFloatArray4592[13])
			 / d);
	return fs;
    }
    
    public float method4906() {
	return (-(aFloatArray4592[15] + aFloatArray4592[14])
		/ (aFloatArray4592[11] + aFloatArray4592[10]));
    }
    
    public float[] method4907(float[] fs) {
	float f = aFloatArray4592[3] + aFloatArray4592[2];
	float f_152_ = aFloatArray4592[7] + aFloatArray4592[6];
	float f_153_ = aFloatArray4592[11] + aFloatArray4592[10];
	double d
	    = Math.sqrt((double) (f * f + f_152_ * f_152_ + f_153_ * f_153_));
	fs[0] = (float) ((double) f / d);
	fs[1] = (float) ((double) f_152_ / d);
	fs[2] = (float) ((double) f_153_ / d);
	fs[3] = (float) ((double) (aFloatArray4592[15] + aFloatArray4592[14])
			 / d);
	return fs;
    }
    
    public float method4908() {
	return (-(aFloatArray4592[15] + aFloatArray4592[14])
		/ (aFloatArray4592[11] + aFloatArray4592[10]));
    }
    
    public void method4909(float f, float f_154_, float f_155_, float f_156_,
			   float f_157_, float f_158_, float f_159_,
			   float f_160_, float f_161_) {
	method4870(-(f * f_161_) / f_155_, f_161_ * (f_159_ - f) / f_155_,
		   -(f_154_ * f_161_) / f_156_,
		   f_161_ * (f_160_ - f_154_) / f_156_, f_157_, f_158_);
    }
    
    public void method4910() {
	float f = 1.0F / method4866();
	float f_162_
	    = (aFloatArray4592[5] * aFloatArray4592[10] * aFloatArray4592[15]
	       - aFloatArray4592[5] * aFloatArray4592[11] * aFloatArray4592[14]
	       - aFloatArray4592[6] * aFloatArray4592[9] * aFloatArray4592[15]
	       + aFloatArray4592[6] * aFloatArray4592[11] * aFloatArray4592[13]
	       + aFloatArray4592[7] * aFloatArray4592[9] * aFloatArray4592[14]
	       - (aFloatArray4592[7] * aFloatArray4592[10]
		  * aFloatArray4592[13])) * f;
	float f_163_
	    = (-aFloatArray4592[1] * aFloatArray4592[10] * aFloatArray4592[15]
	       + aFloatArray4592[1] * aFloatArray4592[11] * aFloatArray4592[14]
	       + aFloatArray4592[2] * aFloatArray4592[9] * aFloatArray4592[15]
	       - aFloatArray4592[2] * aFloatArray4592[11] * aFloatArray4592[13]
	       - aFloatArray4592[3] * aFloatArray4592[9] * aFloatArray4592[14]
	       + (aFloatArray4592[3] * aFloatArray4592[10]
		  * aFloatArray4592[13])) * f;
	float f_164_
	    = ((aFloatArray4592[1] * aFloatArray4592[6] * aFloatArray4592[15]
		- aFloatArray4592[1] * aFloatArray4592[7] * aFloatArray4592[14]
		- aFloatArray4592[2] * aFloatArray4592[5] * aFloatArray4592[15]
		+ aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[13]
		+ aFloatArray4592[3] * aFloatArray4592[5] * aFloatArray4592[14]
		- (aFloatArray4592[3] * aFloatArray4592[6]
		   * aFloatArray4592[13]))
	       * f);
	float f_165_
	    = ((-aFloatArray4592[1] * aFloatArray4592[6] * aFloatArray4592[11]
		+ aFloatArray4592[1] * aFloatArray4592[7] * aFloatArray4592[10]
		+ aFloatArray4592[2] * aFloatArray4592[5] * aFloatArray4592[11]
		- aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[9]
		- aFloatArray4592[3] * aFloatArray4592[5] * aFloatArray4592[10]
		+ aFloatArray4592[3] * aFloatArray4592[6] * aFloatArray4592[9])
	       * f);
	float f_166_
	    = (-aFloatArray4592[4] * aFloatArray4592[10] * aFloatArray4592[15]
	       + aFloatArray4592[4] * aFloatArray4592[11] * aFloatArray4592[14]
	       + aFloatArray4592[6] * aFloatArray4592[8] * aFloatArray4592[15]
	       - aFloatArray4592[6] * aFloatArray4592[11] * aFloatArray4592[12]
	       - aFloatArray4592[7] * aFloatArray4592[8] * aFloatArray4592[14]
	       + (aFloatArray4592[7] * aFloatArray4592[10]
		  * aFloatArray4592[12])) * f;
	float f_167_
	    = (aFloatArray4592[0] * aFloatArray4592[10] * aFloatArray4592[15]
	       - aFloatArray4592[0] * aFloatArray4592[11] * aFloatArray4592[14]
	       - aFloatArray4592[2] * aFloatArray4592[8] * aFloatArray4592[15]
	       + aFloatArray4592[2] * aFloatArray4592[11] * aFloatArray4592[12]
	       + aFloatArray4592[3] * aFloatArray4592[8] * aFloatArray4592[14]
	       - (aFloatArray4592[3] * aFloatArray4592[10]
		  * aFloatArray4592[12])) * f;
	float f_168_
	    = ((-aFloatArray4592[0] * aFloatArray4592[6] * aFloatArray4592[15]
		+ aFloatArray4592[0] * aFloatArray4592[7] * aFloatArray4592[14]
		+ aFloatArray4592[2] * aFloatArray4592[4] * aFloatArray4592[15]
		- aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[12]
		- aFloatArray4592[3] * aFloatArray4592[4] * aFloatArray4592[14]
		+ (aFloatArray4592[3] * aFloatArray4592[6]
		   * aFloatArray4592[12]))
	       * f);
	float f_169_
	    = ((aFloatArray4592[0] * aFloatArray4592[6] * aFloatArray4592[11]
		- aFloatArray4592[0] * aFloatArray4592[7] * aFloatArray4592[10]
		- aFloatArray4592[2] * aFloatArray4592[4] * aFloatArray4592[11]
		+ aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[8]
		+ aFloatArray4592[3] * aFloatArray4592[4] * aFloatArray4592[10]
		- aFloatArray4592[3] * aFloatArray4592[6] * aFloatArray4592[8])
	       * f);
	float f_170_
	    = (aFloatArray4592[4] * aFloatArray4592[9] * aFloatArray4592[15]
	       - aFloatArray4592[4] * aFloatArray4592[11] * aFloatArray4592[13]
	       - aFloatArray4592[5] * aFloatArray4592[8] * aFloatArray4592[15]
	       + aFloatArray4592[5] * aFloatArray4592[11] * aFloatArray4592[12]
	       + aFloatArray4592[7] * aFloatArray4592[8] * aFloatArray4592[13]
	       - (aFloatArray4592[7] * aFloatArray4592[9]
		  * aFloatArray4592[12])) * f;
	float f_171_
	    = (-aFloatArray4592[0] * aFloatArray4592[9] * aFloatArray4592[15]
	       + aFloatArray4592[0] * aFloatArray4592[11] * aFloatArray4592[13]
	       + aFloatArray4592[1] * aFloatArray4592[8] * aFloatArray4592[15]
	       - aFloatArray4592[1] * aFloatArray4592[11] * aFloatArray4592[12]
	       - aFloatArray4592[3] * aFloatArray4592[8] * aFloatArray4592[13]
	       + (aFloatArray4592[3] * aFloatArray4592[9]
		  * aFloatArray4592[12])) * f;
	float f_172_
	    = ((aFloatArray4592[0] * aFloatArray4592[5] * aFloatArray4592[15]
		- aFloatArray4592[0] * aFloatArray4592[7] * aFloatArray4592[13]
		- aFloatArray4592[1] * aFloatArray4592[4] * aFloatArray4592[15]
		+ aFloatArray4592[1] * aFloatArray4592[7] * aFloatArray4592[12]
		+ aFloatArray4592[3] * aFloatArray4592[4] * aFloatArray4592[13]
		- (aFloatArray4592[3] * aFloatArray4592[5]
		   * aFloatArray4592[12]))
	       * f);
	float f_173_
	    = ((-aFloatArray4592[0] * aFloatArray4592[5] * aFloatArray4592[11]
		+ aFloatArray4592[0] * aFloatArray4592[7] * aFloatArray4592[9]
		+ aFloatArray4592[1] * aFloatArray4592[4] * aFloatArray4592[11]
		- aFloatArray4592[1] * aFloatArray4592[7] * aFloatArray4592[8]
		- aFloatArray4592[3] * aFloatArray4592[4] * aFloatArray4592[9]
		+ aFloatArray4592[3] * aFloatArray4592[5] * aFloatArray4592[8])
	       * f);
	float f_174_
	    = (-aFloatArray4592[4] * aFloatArray4592[9] * aFloatArray4592[14]
	       + aFloatArray4592[4] * aFloatArray4592[10] * aFloatArray4592[13]
	       + aFloatArray4592[5] * aFloatArray4592[8] * aFloatArray4592[14]
	       - aFloatArray4592[5] * aFloatArray4592[10] * aFloatArray4592[12]
	       - aFloatArray4592[6] * aFloatArray4592[8] * aFloatArray4592[13]
	       + (aFloatArray4592[6] * aFloatArray4592[9]
		  * aFloatArray4592[12])) * f;
	float f_175_
	    = (aFloatArray4592[0] * aFloatArray4592[9] * aFloatArray4592[14]
	       - aFloatArray4592[0] * aFloatArray4592[10] * aFloatArray4592[13]
	       - aFloatArray4592[1] * aFloatArray4592[8] * aFloatArray4592[14]
	       + aFloatArray4592[1] * aFloatArray4592[10] * aFloatArray4592[12]
	       + aFloatArray4592[2] * aFloatArray4592[8] * aFloatArray4592[13]
	       - (aFloatArray4592[2] * aFloatArray4592[9]
		  * aFloatArray4592[12])) * f;
	float f_176_
	    = ((-aFloatArray4592[0] * aFloatArray4592[5] * aFloatArray4592[14]
		+ aFloatArray4592[0] * aFloatArray4592[6] * aFloatArray4592[13]
		+ aFloatArray4592[1] * aFloatArray4592[4] * aFloatArray4592[14]
		- aFloatArray4592[1] * aFloatArray4592[6] * aFloatArray4592[12]
		- aFloatArray4592[2] * aFloatArray4592[4] * aFloatArray4592[13]
		+ (aFloatArray4592[2] * aFloatArray4592[5]
		   * aFloatArray4592[12]))
	       * f);
	float f_177_
	    = ((aFloatArray4592[0] * aFloatArray4592[5] * aFloatArray4592[10]
		- aFloatArray4592[0] * aFloatArray4592[6] * aFloatArray4592[9]
		- aFloatArray4592[1] * aFloatArray4592[4] * aFloatArray4592[10]
		+ aFloatArray4592[1] * aFloatArray4592[6] * aFloatArray4592[8]
		+ aFloatArray4592[2] * aFloatArray4592[4] * aFloatArray4592[9]
		- aFloatArray4592[2] * aFloatArray4592[5] * aFloatArray4592[8])
	       * f);
	aFloatArray4592[0] = f_162_;
	aFloatArray4592[1] = f_163_;
	aFloatArray4592[2] = f_164_;
	aFloatArray4592[3] = f_165_;
	aFloatArray4592[4] = f_166_;
	aFloatArray4592[5] = f_167_;
	aFloatArray4592[6] = f_168_;
	aFloatArray4592[7] = f_169_;
	aFloatArray4592[8] = f_170_;
	aFloatArray4592[9] = f_171_;
	aFloatArray4592[10] = f_172_;
	aFloatArray4592[11] = f_173_;
	aFloatArray4592[12] = f_174_;
	aFloatArray4592[13] = f_175_;
	aFloatArray4592[14] = f_176_;
	aFloatArray4592[15] = f_177_;
    }
    
    public void method4911() {
	float f = 1.0F / method4866();
	float f_178_
	    = (aFloatArray4592[5] * aFloatArray4592[10] * aFloatArray4592[15]
	       - aFloatArray4592[5] * aFloatArray4592[11] * aFloatArray4592[14]
	       - aFloatArray4592[6] * aFloatArray4592[9] * aFloatArray4592[15]
	       + aFloatArray4592[6] * aFloatArray4592[11] * aFloatArray4592[13]
	       + aFloatArray4592[7] * aFloatArray4592[9] * aFloatArray4592[14]
	       - (aFloatArray4592[7] * aFloatArray4592[10]
		  * aFloatArray4592[13])) * f;
	float f_179_
	    = (-aFloatArray4592[1] * aFloatArray4592[10] * aFloatArray4592[15]
	       + aFloatArray4592[1] * aFloatArray4592[11] * aFloatArray4592[14]
	       + aFloatArray4592[2] * aFloatArray4592[9] * aFloatArray4592[15]
	       - aFloatArray4592[2] * aFloatArray4592[11] * aFloatArray4592[13]
	       - aFloatArray4592[3] * aFloatArray4592[9] * aFloatArray4592[14]
	       + (aFloatArray4592[3] * aFloatArray4592[10]
		  * aFloatArray4592[13])) * f;
	float f_180_
	    = ((aFloatArray4592[1] * aFloatArray4592[6] * aFloatArray4592[15]
		- aFloatArray4592[1] * aFloatArray4592[7] * aFloatArray4592[14]
		- aFloatArray4592[2] * aFloatArray4592[5] * aFloatArray4592[15]
		+ aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[13]
		+ aFloatArray4592[3] * aFloatArray4592[5] * aFloatArray4592[14]
		- (aFloatArray4592[3] * aFloatArray4592[6]
		   * aFloatArray4592[13]))
	       * f);
	float f_181_
	    = ((-aFloatArray4592[1] * aFloatArray4592[6] * aFloatArray4592[11]
		+ aFloatArray4592[1] * aFloatArray4592[7] * aFloatArray4592[10]
		+ aFloatArray4592[2] * aFloatArray4592[5] * aFloatArray4592[11]
		- aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[9]
		- aFloatArray4592[3] * aFloatArray4592[5] * aFloatArray4592[10]
		+ aFloatArray4592[3] * aFloatArray4592[6] * aFloatArray4592[9])
	       * f);
	float f_182_
	    = (-aFloatArray4592[4] * aFloatArray4592[10] * aFloatArray4592[15]
	       + aFloatArray4592[4] * aFloatArray4592[11] * aFloatArray4592[14]
	       + aFloatArray4592[6] * aFloatArray4592[8] * aFloatArray4592[15]
	       - aFloatArray4592[6] * aFloatArray4592[11] * aFloatArray4592[12]
	       - aFloatArray4592[7] * aFloatArray4592[8] * aFloatArray4592[14]
	       + (aFloatArray4592[7] * aFloatArray4592[10]
		  * aFloatArray4592[12])) * f;
	float f_183_
	    = (aFloatArray4592[0] * aFloatArray4592[10] * aFloatArray4592[15]
	       - aFloatArray4592[0] * aFloatArray4592[11] * aFloatArray4592[14]
	       - aFloatArray4592[2] * aFloatArray4592[8] * aFloatArray4592[15]
	       + aFloatArray4592[2] * aFloatArray4592[11] * aFloatArray4592[12]
	       + aFloatArray4592[3] * aFloatArray4592[8] * aFloatArray4592[14]
	       - (aFloatArray4592[3] * aFloatArray4592[10]
		  * aFloatArray4592[12])) * f;
	float f_184_
	    = ((-aFloatArray4592[0] * aFloatArray4592[6] * aFloatArray4592[15]
		+ aFloatArray4592[0] * aFloatArray4592[7] * aFloatArray4592[14]
		+ aFloatArray4592[2] * aFloatArray4592[4] * aFloatArray4592[15]
		- aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[12]
		- aFloatArray4592[3] * aFloatArray4592[4] * aFloatArray4592[14]
		+ (aFloatArray4592[3] * aFloatArray4592[6]
		   * aFloatArray4592[12]))
	       * f);
	float f_185_
	    = ((aFloatArray4592[0] * aFloatArray4592[6] * aFloatArray4592[11]
		- aFloatArray4592[0] * aFloatArray4592[7] * aFloatArray4592[10]
		- aFloatArray4592[2] * aFloatArray4592[4] * aFloatArray4592[11]
		+ aFloatArray4592[2] * aFloatArray4592[7] * aFloatArray4592[8]
		+ aFloatArray4592[3] * aFloatArray4592[4] * aFloatArray4592[10]
		- aFloatArray4592[3] * aFloatArray4592[6] * aFloatArray4592[8])
	       * f);
	float f_186_
	    = (aFloatArray4592[4] * aFloatArray4592[9] * aFloatArray4592[15]
	       - aFloatArray4592[4] * aFloatArray4592[11] * aFloatArray4592[13]
	       - aFloatArray4592[5] * aFloatArray4592[8] * aFloatArray4592[15]
	       + aFloatArray4592[5] * aFloatArray4592[11] * aFloatArray4592[12]
	       + aFloatArray4592[7] * aFloatArray4592[8] * aFloatArray4592[13]
	       - (aFloatArray4592[7] * aFloatArray4592[9]
		  * aFloatArray4592[12])) * f;
	float f_187_
	    = (-aFloatArray4592[0] * aFloatArray4592[9] * aFloatArray4592[15]
	       + aFloatArray4592[0] * aFloatArray4592[11] * aFloatArray4592[13]
	       + aFloatArray4592[1] * aFloatArray4592[8] * aFloatArray4592[15]
	       - aFloatArray4592[1] * aFloatArray4592[11] * aFloatArray4592[12]
	       - aFloatArray4592[3] * aFloatArray4592[8] * aFloatArray4592[13]
	       + (aFloatArray4592[3] * aFloatArray4592[9]
		  * aFloatArray4592[12])) * f;
	float f_188_
	    = ((aFloatArray4592[0] * aFloatArray4592[5] * aFloatArray4592[15]
		- aFloatArray4592[0] * aFloatArray4592[7] * aFloatArray4592[13]
		- aFloatArray4592[1] * aFloatArray4592[4] * aFloatArray4592[15]
		+ aFloatArray4592[1] * aFloatArray4592[7] * aFloatArray4592[12]
		+ aFloatArray4592[3] * aFloatArray4592[4] * aFloatArray4592[13]
		- (aFloatArray4592[3] * aFloatArray4592[5]
		   * aFloatArray4592[12]))
	       * f);
	float f_189_
	    = ((-aFloatArray4592[0] * aFloatArray4592[5] * aFloatArray4592[11]
		+ aFloatArray4592[0] * aFloatArray4592[7] * aFloatArray4592[9]
		+ aFloatArray4592[1] * aFloatArray4592[4] * aFloatArray4592[11]
		- aFloatArray4592[1] * aFloatArray4592[7] * aFloatArray4592[8]
		- aFloatArray4592[3] * aFloatArray4592[4] * aFloatArray4592[9]
		+ aFloatArray4592[3] * aFloatArray4592[5] * aFloatArray4592[8])
	       * f);
	float f_190_
	    = (-aFloatArray4592[4] * aFloatArray4592[9] * aFloatArray4592[14]
	       + aFloatArray4592[4] * aFloatArray4592[10] * aFloatArray4592[13]
	       + aFloatArray4592[5] * aFloatArray4592[8] * aFloatArray4592[14]
	       - aFloatArray4592[5] * aFloatArray4592[10] * aFloatArray4592[12]
	       - aFloatArray4592[6] * aFloatArray4592[8] * aFloatArray4592[13]
	       + (aFloatArray4592[6] * aFloatArray4592[9]
		  * aFloatArray4592[12])) * f;
	float f_191_
	    = (aFloatArray4592[0] * aFloatArray4592[9] * aFloatArray4592[14]
	       - aFloatArray4592[0] * aFloatArray4592[10] * aFloatArray4592[13]
	       - aFloatArray4592[1] * aFloatArray4592[8] * aFloatArray4592[14]
	       + aFloatArray4592[1] * aFloatArray4592[10] * aFloatArray4592[12]
	       + aFloatArray4592[2] * aFloatArray4592[8] * aFloatArray4592[13]
	       - (aFloatArray4592[2] * aFloatArray4592[9]
		  * aFloatArray4592[12])) * f;
	float f_192_
	    = ((-aFloatArray4592[0] * aFloatArray4592[5] * aFloatArray4592[14]
		+ aFloatArray4592[0] * aFloatArray4592[6] * aFloatArray4592[13]
		+ aFloatArray4592[1] * aFloatArray4592[4] * aFloatArray4592[14]
		- aFloatArray4592[1] * aFloatArray4592[6] * aFloatArray4592[12]
		- aFloatArray4592[2] * aFloatArray4592[4] * aFloatArray4592[13]
		+ (aFloatArray4592[2] * aFloatArray4592[5]
		   * aFloatArray4592[12]))
	       * f);
	float f_193_
	    = ((aFloatArray4592[0] * aFloatArray4592[5] * aFloatArray4592[10]
		- aFloatArray4592[0] * aFloatArray4592[6] * aFloatArray4592[9]
		- aFloatArray4592[1] * aFloatArray4592[4] * aFloatArray4592[10]
		+ aFloatArray4592[1] * aFloatArray4592[6] * aFloatArray4592[8]
		+ aFloatArray4592[2] * aFloatArray4592[4] * aFloatArray4592[9]
		- aFloatArray4592[2] * aFloatArray4592[5] * aFloatArray4592[8])
	       * f);
	aFloatArray4592[0] = f_178_;
	aFloatArray4592[1] = f_179_;
	aFloatArray4592[2] = f_180_;
	aFloatArray4592[3] = f_181_;
	aFloatArray4592[4] = f_182_;
	aFloatArray4592[5] = f_183_;
	aFloatArray4592[6] = f_184_;
	aFloatArray4592[7] = f_185_;
	aFloatArray4592[8] = f_186_;
	aFloatArray4592[9] = f_187_;
	aFloatArray4592[10] = f_188_;
	aFloatArray4592[11] = f_189_;
	aFloatArray4592[12] = f_190_;
	aFloatArray4592[13] = f_191_;
	aFloatArray4592[14] = f_192_;
	aFloatArray4592[15] = f_193_;
    }
    
    public void method4912(float f, float f_194_, float f_195_, float f_196_) {
	aFloatArray4592[0] = f;
	aFloatArray4592[1] = 0.0F;
	aFloatArray4592[2] = 0.0F;
	aFloatArray4592[3] = 0.0F;
	aFloatArray4592[4] = 0.0F;
	aFloatArray4592[5] = f_194_;
	aFloatArray4592[6] = 0.0F;
	aFloatArray4592[7] = 0.0F;
	aFloatArray4592[8] = 0.0F;
	aFloatArray4592[9] = 0.0F;
	aFloatArray4592[10] = f_195_;
	aFloatArray4592[11] = 0.0F;
	aFloatArray4592[12] = 0.0F;
	aFloatArray4592[13] = 0.0F;
	aFloatArray4592[14] = 0.0F;
	aFloatArray4592[15] = f_196_;
    }
    
    public Class403() {
	aFloatArray4592 = new float[16];
	method4860();
    }
    
    public float[] method4913(float[] fs) {
	fs[0] = aFloatArray4592[0];
	fs[1] = aFloatArray4592[1];
	fs[2] = 0.0F;
	fs[3] = 0.0F;
	fs[4] = aFloatArray4592[4];
	fs[5] = aFloatArray4592[5];
	fs[6] = 0.0F;
	fs[7] = 0.0F;
	fs[8] = aFloatArray4592[12];
	fs[9] = aFloatArray4592[13];
	fs[10] = aFloatArray4592[14];
	fs[11] = 0.0F;
	fs[12] = 0.0F;
	fs[13] = 0.0F;
	fs[14] = 0.0F;
	fs[15] = 1.0F;
	return fs;
    }
}
