METHOD_0 ( ) { net . IDENT_0 . IDENT_1 . function . IDENT_2 IDENT_3 = new net . IDENT_0 . IDENT_1 . function . METHOD_1 ( "foo" ) { @ net . IDENT_0 . IDENT_1 . Override public double apply ( double OP_0 values ) { return ( values [ 0 ] ) * ( java . lang . Math . Math . IDENT_4 ) ; } } ; net . IDENT_0 . IDENT_1 . function . METHOD_1 IDENT_5 = new net . IDENT_0 . IDENT_1 . function . METHOD_1 ( "bar" ) { @ net . IDENT_0 . IDENT_1 . Override public double apply ( double OP_0 values ) { return ( values [ 0 ] ) * ( java . lang . Math . Math . IDENT_6 ) ; } } ; net . IDENT_0 . IDENT_1 . IDENT_7 e = new net . IDENT_0 . IDENT_1 . METHOD_2 ( STRING_0 ) . function ( IDENT_3 ) . function ( IDENT_5 ) . METHOD_3 ( STRING_1 ) . build ( ) . METHOD_4 ( STRING_1 , 1 ) ; double result = e . evaluate ( ) ; "<AssertPlaceHolder>" ; } evaluate ( ) { final net . IDENT_0 . IDENT_1 . IDENT_8 output = new net . IDENT_0 . IDENT_1 . METHOD_5 ( ) ; for ( int i = 0 ; i < ( tokens . length ) ; i ++ ) { net . IDENT_0 . IDENT_1 . IDENT_9 . IDENT_10 t = tokens [ i ] ; else if ( ( t . getType ( ) ) == ( net . IDENT_0 . IDENT_1 . IDENT_9 . IDENT_10 . IDENT_11 ) ) { final java . lang . String name = ( ( net . IDENT_0 . IDENT_1 . IDENT_9 . IDENT_12 ) ( t ) ) . getName ( ) ; final java . lang . Double value = this . METHOD_3 . get ( name ) ; if ( value == null ) { throw new java . lang . IllegalArgumentException ( ( ( STRING_2 + name ) + STRING_3 ) ) ; } output . METHOD_6 ( value ) ; } else if ( ( t . getType ( ) ) == ( net . IDENT_0 . IDENT_1 . IDENT_9 . IDENT_10 . IDENT_13 ) ) { net . IDENT_0 . IDENT_1 . IDENT_9 . IDENT_14 op = ( ( net . IDENT_0 . IDENT_1 . IDENT_9 . IDENT_14 ) ( t ) ) ; if ( ( output . size ( ) ) < ( op . METHOD_7 ( ) . METHOD_8 ( ) ) ) { throw new java . lang . IllegalArgumentException ( ( ( STRING_4 + ( op . METHOD_7 ( ) . METHOD_9 ( ) ) ) + STRING_5 ) ) ; } if ( ( op . METHOD_7 ( ) . METHOD_8 ( ) ) == 2 ) { double IDENT_15 = output . METHOD_10 ( ) ; double IDENT_16 = output . METHOD_10 ( ) ; output . METHOD_6 ( op . METHOD_7 ( ) . apply ( IDENT_16 , IDENT_15 ) ) ; } else if ( ( op . METHOD_7 ( ) . METHOD_8 ( ) ) == 1 ) { double IDENT_17 = output . METHOD_10 ( ) ; output . METHOD_6 ( op . METHOD_7 ( ) . apply ( IDENT_17 ) ) ; } } else if ( ( t . getType ( ) ) == ( net . IDENT_0 . IDENT_1 . IDENT_9 . IDENT_10 . IDENT_18 ) ) { net . IDENT_0 . IDENT_1 . IDENT_9 . IDENT_19 IDENT_20 = ( ( net . IDENT_0 . IDENT_1 . IDENT_9 . IDENT_19 ) ( t ) ) ; final int IDENT_21 = IDENT_20 . METHOD_11 ( ) . METHOD_12 ( ) ; if ( ( output . size ( ) ) < IDENT_21 ) { throw new java . lang . IllegalArgumentException ( ( ( STRING_6 + ( IDENT_20 . METHOD_11 ( ) . getName ( ) ) ) + STRING_7 ) ) ; } double [ ] args = new double [ IDENT_21 ] ; for ( int j = IDENT_21 - 1 ; j >= 0 ; j OP_1 ) { args [ j ] = output . METHOD_10 ( ) ; } output . METHOD_6 ( IDENT_20 . METHOD_11 ( ) . apply ( args ) ) ; } } if ( ( output . size ( ) ) > 1 ) { throw new java . lang . IllegalArgumentException ( STRING_8 ) ; } return output . METHOD_10 ( ) ; }
org . junit . Assert . assertTrue ( ( result == ( ( 1 * ( java . lang . Math . Math . IDENT_4 ) ) * ( java . lang . Math . Math . IDENT_6 ) ) ) )