16.754 * [progress]: [Phase 1 of 3] Setting up. 0.001 * * * [progress]: [1/2] Preparing points 0.019 * * * [progress]: [2/2] Setting up program. 0.022 * [progress]: [Phase 2 of 3] Improving. 0.022 * [simplify]: Simplifying using # : (sqrt (+ (* x x) y)) 0.024 * * [simplify]: iteration 0 : 6 enodes (cost 3 ) 0.025 * * [simplify]: iteration 1 : 6 enodes (cost 3 ) 0.025 * [simplify]: Simplified to: (sqrt (+ (* x x) y)) 0.025 * * [progress]: iteration 1 / 4 0.025 * * * [progress]: picking best candidate 0.028 * * * * [pick]: Picked # 0.028 * * * [progress]: localizing error 0.032 * * * [progress]: generating rewritten candidates 0.032 * * * * [progress]: [ 1 / 2 ] rewriting at (2) 0.036 * * * * [progress]: [ 2 / 2 ] rewriting at (2 1) 0.040 * * * [progress]: generating series expansions 0.040 * * * * [progress]: [ 1 / 2 ] generating series at (2) 0.040 * [approximate]: Approximating (sqrt (+ (pow x 2) y)) in (x y) around 0 0.042 * [taylor]: Taking taylor expansion of (sqrt (+ (pow x 2) y)) in y 0.044 * [taylor]: Taking taylor expansion of (sqrt (+ (pow x 2) y)) in y 0.045 * [taylor]: Taking taylor expansion of (sqrt (+ (pow x 2) y)) in y 0.053 * [approximate]: Approximating (sqrt (+ (/ 1 (pow x 2)) (/ 1 y))) in (x y) around 0 0.065 * [taylor]: Taking taylor expansion of (sqrt (+ (/ 1 (pow x 2)) (/ 1 y))) in y 0.065 * [taylor]: Taking taylor expansion of (sqrt (+ (/ 1 (pow x 2)) (/ 1 y))) in y 0.068 * [taylor]: Taking taylor expansion of (sqrt (+ (/ 1 (pow x 2)) (/ 1 y))) in y 0.070 * [taylor]: Taking taylor expansion of (sqrt (+ (/ 1 (pow x 2)) (/ 1 y))) in y 0.074 * [taylor]: Taking taylor expansion of (sqrt (+ (/ 1 (pow x 2)) (/ 1 y))) in y 0.076 * [approximate]: Approximating (sqrt (- (/ 1 (pow x 2)) (/ 1 y))) in (x y) around 0 0.084 * [taylor]: Taking taylor expansion of (sqrt (- (/ 1 (pow x 2)) (/ 1 y))) in y 0.084 * [taylor]: Taking taylor expansion of (sqrt (- (/ 1 (pow x 2)) (/ 1 y))) in y 0.087 * [taylor]: Taking taylor expansion of (sqrt (- (/ 1 (pow x 2)) (/ 1 y))) in y 0.089 * [taylor]: Taking taylor expansion of (sqrt (- (/ 1 (pow x 2)) (/ 1 y))) in y 0.093 * [taylor]: Taking taylor expansion of (sqrt (- (/ 1 (pow x 2)) (/ 1 y))) in y 0.095 * * * * [progress]: [ 2 / 2 ] generating series at (2 1) 0.095 * [approximate]: Approximating (+ (pow x 2) y) in (x y) around 0 0.095 * [taylor]: Taking taylor expansion of (+ (pow x 2) y) in y 0.095 * [taylor]: Taking taylor expansion of (+ (pow x 2) y) in y 0.096 * [taylor]: Taking taylor expansion of (+ (pow x 2) y) in y 0.097 * [taylor]: Taking taylor expansion of (+ (pow x 2) y) in y 0.097 * [approximate]: Approximating (+ (/ 1 (pow x 2)) (/ 1 y)) in (x y) around 0 0.099 * [taylor]: Taking taylor expansion of (+ (/ 1 (pow x 2)) (/ 1 y)) in y 0.101 * [taylor]: Taking taylor expansion of (+ (/ 1 (pow x 2)) (/ 1 y)) in y 0.102 * [taylor]: Taking taylor expansion of (+ (/ 1 (pow x 2)) (/ 1 y)) in y 0.104 * [taylor]: Taking taylor expansion of (+ (/ 1 (pow x 2)) (/ 1 y)) in y 0.106 * [taylor]: Taking taylor expansion of (+ (/ 1 (pow x 2)) (/ 1 y)) in y 0.107 * [approximate]: Approximating (- (/ 1 (pow x 2)) (/ 1 y)) in (x y) around 0 0.109 * [taylor]: Taking taylor expansion of (- (/ 1 (pow x 2)) (/ 1 y)) in y 0.110 * [taylor]: Taking taylor expansion of (- (/ 1 (pow x 2)) (/ 1 y)) in y 0.111 * [taylor]: Taking taylor expansion of (- (/ 1 (pow x 2)) (/ 1 y)) in y 0.114 * [taylor]: Taking taylor expansion of (- (/ 1 (pow x 2)) (/ 1 y)) in y 0.117 * [taylor]: Taking taylor expansion of (- (/ 1 (pow x 2)) (/ 1 y)) in y 0.117 * * * [progress]: simplifying candidates 0.118 * [simplify]: Simplifying using # : (log (sqrt (+ (* x x) y))) (exp (sqrt (+ (* x x) y))) (* (cbrt (sqrt (+ (* x x) y))) (cbrt (sqrt (+ (* x x) y)))) (cbrt (sqrt (+ (* x x) y))) (* (* (sqrt (+ (* x x) y)) (sqrt (+ (* x x) y))) (sqrt (+ (* x x) y))) (sqrt (* (cbrt (+ (* x x) y)) (cbrt (+ (* x x) y)))) (sqrt (cbrt (+ (* x x) y))) (sqrt (sqrt (+ (* x x) y))) (sqrt (sqrt (+ (* x x) y))) (sqrt 1) (sqrt (+ (* x x) y)) (sqrt (+ (pow (* x x) 3) (pow y 3))) (sqrt (+ (* (* x x) (* x x)) (- (* y y) (* (* x x) y)))) (sqrt (- (* (* x x) (* x x)) (* y y))) (sqrt (- (* x x) y)) (/ 1 2) (sqrt (sqrt (+ (* x x) y))) (sqrt (sqrt (+ (* x x) y))) (* (exp (* x x)) (exp y)) (log (+ (* x x) y)) (exp (+ (* x x) y)) (* (cbrt (+ (* x x) y)) (cbrt (+ (* x x) y))) (cbrt (+ (* x x) y)) (* (* (+ (* x x) y) (+ (* x x) y)) (+ (* x x) y)) (sqrt (+ (* x x) y)) (sqrt (+ (* x x) y)) (+ (pow (* x x) 3) (pow y 3)) (+ (* (* x x) (* x x)) (- (* y y) (* (* x x) y))) (- (* (* x x) (* x x)) (* y y)) (- (* x x) y) (+ (* (pow NAN 3) (pow y 2)) (+ (* NAN y) (* 1/2 (* (pow x 2) NAN)))) (+ x (* 1/2 (/ y x))) (neg (+ x (* 1/2 (/ y x)))) (+ (pow x 2) y) (+ (pow x 2) y) (+ (pow x 2) y) 0.121 * * [simplify]: iteration 0 : 139 enodes (cost 151 ) 0.124 * * [simplify]: iteration 1 : 485 enodes (cost 141 ) 0.131 * * [simplify]: iteration 2 : 1555 enodes (cost 139 ) 0.164 * * [simplify]: iteration 3 : 5002 enodes (cost 138 ) 0.166 * [simplify]: Simplified to: (log (sqrt (+ (* x x) y))) (exp (sqrt (+ (* x x) y))) (* (cbrt (sqrt (+ (* x x) y))) (cbrt (sqrt (+ (* x x) y)))) (cbrt (sqrt (+ (* x x) y))) (pow (sqrt (+ (* x x) y)) 3) (fabs (cbrt (+ (* x x) y))) (sqrt (cbrt (+ (* x x) y))) (sqrt (sqrt (+ (* x x) y))) (sqrt (sqrt (+ (* x x) y))) 1 (sqrt (+ (* x x) y)) (sqrt (+ (pow (* x x) 3) (pow y 3))) (sqrt (+ (* (* x x) (* x x)) (- (* y y) (* (* x x) y)))) (sqrt (- (* (* x x) (* x x)) (* y y))) (sqrt (- (* x x) y)) 1/2 (sqrt (sqrt (+ (* x x) y))) (sqrt (sqrt (+ (* x x) y))) (exp (+ (* x x) y)) (log (+ (* x x) y)) (exp (+ (* x x) y)) (* (cbrt (+ (* x x) y)) (cbrt (+ (* x x) y))) (cbrt (+ (* x x) y)) (pow (+ (* x x) y) 3) (sqrt (+ (* x x) y)) (sqrt (+ (* x x) y)) (+ (pow (* x x) 3) (pow y 3)) (- (+ (pow x 4) (pow y 2)) (* (* x x) y)) (- (pow x 4) (pow y 2)) (- (* x x) y) (* NAN (+ (* (* NAN NAN) (pow y 2)) (+ (* 1/2 (pow x 2)) y))) (+ x (* 1/2 (/ y x))) (- (* -1/2 (/ y x)) x) (+ (* x x) y) (+ (* x x) y) (+ (* x x) y) 0.166 * * * [progress]: adding candidates to table 0.230 * * [progress]: iteration 2 / 4 0.230 * * * [progress]: picking best candidate 0.235 * * * * [pick]: Picked # 0.235 * * * [progress]: localizing error 0.240 * * * [progress]: generating rewritten candidates 0.240 * * * * [progress]: [ 1 / 1 ] rewriting at (2 2) 0.250 * * * [progress]: generating series expansions 0.250 * * * * [progress]: [ 1 / 1 ] generating series at (2 2) 0.250 * [approximate]: Approximating (* 1/2 (/ y x)) in (y x) around 0 0.250 * [taylor]: Taking taylor expansion of (* 1/2 (/ y x)) in x 0.251 * [taylor]: Taking taylor expansion of (* 1/2 (/ y x)) in x 0.253 * [taylor]: Taking taylor expansion of (* 1/2 (/ y x)) in x 0.255 * [taylor]: Taking taylor expansion of (* 1/2 (/ y x)) in x 0.256 * [approximate]: Approximating (* 1/2 (/ x y)) in (y x) around 0 0.256 * [taylor]: Taking taylor expansion of (* 1/2 (/ x y)) in x 0.257 * [taylor]: Taking taylor expansion of (* 1/2 (/ x y)) in x 0.260 * [taylor]: Taking taylor expansion of (* 1/2 (/ x y)) in x 0.263 * [taylor]: Taking taylor expansion of (* 1/2 (/ x y)) in x 0.263 * [approximate]: Approximating (* 1/2 (/ x y)) in (y x) around 0 0.263 * [taylor]: Taking taylor expansion of (* 1/2 (/ x y)) in x 0.265 * [taylor]: Taking taylor expansion of (* 1/2 (/ x y)) in x 0.267 * [taylor]: Taking taylor expansion of (* 1/2 (/ x y)) in x 0.271 * [taylor]: Taking taylor expansion of (* 1/2 (/ x y)) in x 0.271 * * * [progress]: simplifying candidates 0.271 * [simplify]: Simplifying using # : (* 1/2 (/ y x)) (+ (log 1/2) (- (log y) (log x))) (+ (log 1/2) (log (/ y x))) (log (* 1/2 (/ y x))) (exp (* 1/2 (/ y x))) (* (* (* 1/2 1/2) 1/2) (/ (* (* y y) y) (* (* x x) x))) (* (* (* 1/2 1/2) 1/2) (* (* (/ y x) (/ y x)) (/ y x))) (* (cbrt (* 1/2 (/ y x))) (cbrt (* 1/2 (/ y x)))) (cbrt (* 1/2 (/ y x))) (* (* (* 1/2 (/ y x)) (* 1/2 (/ y x))) (* 1/2 (/ y x))) (sqrt (* 1/2 (/ y x))) (sqrt (* 1/2 (/ y x))) (* (sqrt 1/2) (sqrt (/ y x))) (* (sqrt 1/2) (sqrt (/ y x))) (* (sqrt 1/2) (/ (sqrt y) (sqrt x))) (* (sqrt 1/2) (/ (sqrt y) (sqrt x))) (* 1/2 (* (cbrt (/ y x)) (cbrt (/ y x)))) (* 1/2 (sqrt (/ y x))) (* 1/2 (/ (* (cbrt y) (cbrt y)) (* (cbrt x) (cbrt x)))) (* 1/2 (/ (* (cbrt y) (cbrt y)) (sqrt x))) (* 1/2 (/ (* (cbrt y) (cbrt y)) 1)) (* 1/2 (/ (sqrt y) (* (cbrt x) (cbrt x)))) (* 1/2 (/ (sqrt y) (sqrt x))) (* 1/2 (/ (sqrt y) 1)) (* 1/2 (/ 1 (* (cbrt x) (cbrt x)))) (* 1/2 (/ 1 (sqrt x))) (* 1/2 (/ 1 1)) (* 1/2 1) (* 1/2 y) (* (cbrt 1/2) (/ y x)) (* (sqrt 1/2) (/ y x)) (* 1/2 (/ y x)) (* 1/2 y) (* 1/2 (/ y x)) (* 1/2 (/ y x)) (* 1/2 (/ y x)) 0.274 * * [simplify]: iteration 0 : 164 enodes (cost 128 ) 0.278 * * [simplify]: iteration 1 : 727 enodes (cost 118 ) 0.291 * * [simplify]: iteration 2 : 2952 enodes (cost 118 ) 0.331 * * [simplify]: iteration 3 : 5001 enodes (cost 118 ) 0.332 * [simplify]: Simplified to: (* 1/2 (/ y x)) (log (* 1/2 (/ y x))) (log (* 1/2 (/ y x))) (log (* 1/2 (/ y x))) (exp (* 1/2 (/ y x))) (* 1/8 (pow (/ y x) 3)) (* 1/8 (pow (/ y x) 3)) (* (cbrt (* 1/2 (/ y x))) (cbrt (* 1/2 (/ y x)))) (cbrt (* 1/2 (/ y x))) (* 1/8 (pow (/ y x) 3)) (sqrt (* 1/2 (/ y x))) (sqrt (* 1/2 (/ y x))) (* (sqrt 1/2) (sqrt (/ y x))) (* (sqrt 1/2) (sqrt (/ y x))) (* (sqrt 1/2) (/ (sqrt y) (sqrt x))) (* (sqrt 1/2) (/ (sqrt y) (sqrt x))) (* 1/2 (* (cbrt (/ y x)) (cbrt (/ y x)))) (* 1/2 (sqrt (/ y x))) (* 1/2 (/ (* (cbrt y) (cbrt y)) (* (cbrt x) (cbrt x)))) (* 1/2 (/ (* (cbrt y) (cbrt y)) (sqrt x))) (* (* (cbrt y) (cbrt y)) 1/2) (* 1/2 (/ (sqrt y) (* (cbrt x) (cbrt x)))) (* 1/2 (/ (sqrt y) (sqrt x))) (* (sqrt y) 1/2) (/ 1/2 (* (cbrt x) (cbrt x))) (/ 1/2 (sqrt x)) 1/2 1/2 (* 1/2 y) (* (cbrt 1/2) (/ y x)) (* (sqrt 1/2) (/ y x)) (* 1/2 (/ y x)) (* 1/2 y) (* 1/2 (/ y x)) (* 1/2 (/ y x)) (* 1/2 (/ y x)) 0.332 * * * [progress]: adding candidates to table 0.395 * * [progress]: iteration 3 / 4 0.395 * * * [progress]: picking best candidate 0.398 * * * * [pick]: Picked # 0.398 * * * [progress]: localizing error 0.402 * * * [progress]: generating rewritten candidates 0.402 * * * * [progress]: [ 1 / 1 ] rewriting at (2 1) 0.410 * * * [progress]: generating series expansions 0.410 * * * * [progress]: [ 1 / 1 ] generating series at (2 1) 0.410 * [approximate]: Approximating (* -1/2 (/ y x)) in (y x) around 0 0.410 * [taylor]: Taking taylor expansion of (* -1/2 (/ y x)) in x 0.411 * [taylor]: Taking taylor expansion of (* -1/2 (/ y x)) in x 0.413 * [taylor]: Taking taylor expansion of (* -1/2 (/ y x)) in x 0.414 * [taylor]: Taking taylor expansion of (* -1/2 (/ y x)) in x 0.415 * [approximate]: Approximating (* -1/2 (/ x y)) in (y x) around 0 0.415 * [taylor]: Taking taylor expansion of (* -1/2 (/ x y)) in x 0.417 * [taylor]: Taking taylor expansion of (* -1/2 (/ x y)) in x 0.419 * [taylor]: Taking taylor expansion of (* -1/2 (/ x y)) in x 0.423 * [taylor]: Taking taylor expansion of (* -1/2 (/ x y)) in x 0.423 * [approximate]: Approximating (* -1/2 (/ x y)) in (y x) around 0 0.423 * [taylor]: Taking taylor expansion of (* -1/2 (/ x y)) in x 0.425 * [taylor]: Taking taylor expansion of (* -1/2 (/ x y)) in x 0.427 * [taylor]: Taking taylor expansion of (* -1/2 (/ x y)) in x 0.430 * [taylor]: Taking taylor expansion of (* -1/2 (/ x y)) in x 0.430 * * * [progress]: simplifying candidates 0.431 * [simplify]: Simplifying using # : (* -1/2 (/ y x)) (+ (log -1/2) (- (log y) (log x))) (+ (log -1/2) (log (/ y x))) (log (* -1/2 (/ y x))) (exp (* -1/2 (/ y x))) (* (* (* -1/2 -1/2) -1/2) (/ (* (* y y) y) (* (* x x) x))) (* (* (* -1/2 -1/2) -1/2) (* (* (/ y x) (/ y x)) (/ y x))) (* (cbrt (* -1/2 (/ y x))) (cbrt (* -1/2 (/ y x)))) (cbrt (* -1/2 (/ y x))) (* (* (* -1/2 (/ y x)) (* -1/2 (/ y x))) (* -1/2 (/ y x))) (sqrt (* -1/2 (/ y x))) (sqrt (* -1/2 (/ y x))) (* (sqrt -1/2) (sqrt (/ y x))) (* (sqrt -1/2) (sqrt (/ y x))) (* (sqrt -1/2) (/ (sqrt y) (sqrt x))) (* (sqrt -1/2) (/ (sqrt y) (sqrt x))) (* -1/2 (* (cbrt (/ y x)) (cbrt (/ y x)))) (* -1/2 (sqrt (/ y x))) (* -1/2 (/ (* (cbrt y) (cbrt y)) (* (cbrt x) (cbrt x)))) (* -1/2 (/ (* (cbrt y) (cbrt y)) (sqrt x))) (* -1/2 (/ (* (cbrt y) (cbrt y)) 1)) (* -1/2 (/ (sqrt y) (* (cbrt x) (cbrt x)))) (* -1/2 (/ (sqrt y) (sqrt x))) (* -1/2 (/ (sqrt y) 1)) (* -1/2 (/ 1 (* (cbrt x) (cbrt x)))) (* -1/2 (/ 1 (sqrt x))) (* -1/2 (/ 1 1)) (* -1/2 1) (* -1/2 y) (* (cbrt -1/2) (/ y x)) (* (sqrt -1/2) (/ y x)) (* -1/2 (/ y x)) (* -1/2 y) (* -1/2 (/ y x)) (* -1/2 (/ y x)) (* -1/2 (/ y x)) 0.434 * * [simplify]: iteration 0 : 164 enodes (cost 128 ) 0.437 * * [simplify]: iteration 1 : 727 enodes (cost 118 ) 0.451 * * [simplify]: iteration 2 : 2950 enodes (cost 118 ) 0.490 * * [simplify]: iteration 3 : 5001 enodes (cost 118 ) 0.491 * [simplify]: Simplified to: (* -1/2 (/ y x)) (log (* -1/2 (/ y x))) (log (* -1/2 (/ y x))) (log (* -1/2 (/ y x))) (exp (* -1/2 (/ y x))) (* -1/8 (pow (/ y x) 3)) (* -1/8 (pow (/ y x) 3)) (* (cbrt (* -1/2 (/ y x))) (cbrt (* -1/2 (/ y x)))) (cbrt (* -1/2 (/ y x))) (* -1/8 (pow (/ y x) 3)) (sqrt (* -1/2 (/ y x))) (sqrt (* -1/2 (/ y x))) (* (sqrt -1/2) (sqrt (/ y x))) (* (sqrt -1/2) (sqrt (/ y x))) (* (sqrt -1/2) (/ (sqrt y) (sqrt x))) (* (sqrt -1/2) (/ (sqrt y) (sqrt x))) (* -1/2 (* (cbrt (/ y x)) (cbrt (/ y x)))) (* -1/2 (sqrt (/ y x))) (* -1/2 (/ (* (cbrt y) (cbrt y)) (* (cbrt x) (cbrt x)))) (* -1/2 (/ (* (cbrt y) (cbrt y)) (sqrt x))) (* (* (cbrt y) (cbrt y)) -1/2) (* -1/2 (/ (sqrt y) (* (cbrt x) (cbrt x)))) (* -1/2 (/ (sqrt y) (sqrt x))) (* (sqrt y) -1/2) (/ -1/2 (* (cbrt x) (cbrt x))) (/ -1/2 (sqrt x)) -1/2 -1/2 (* -1/2 y) (* (cbrt -1/2) (/ y x)) (* (sqrt -1/2) (/ y x)) (* -1/2 (/ y x)) (* -1/2 y) (* -1/2 (/ y x)) (* -1/2 (/ y x)) (* -1/2 (/ y x)) 0.492 * * * [progress]: adding candidates to table 0.555 * [progress]: [Phase 3 of 3] Extracting. 0.555 * * [regime]: Finding splitpoints for: (# # #) 0.556 * * * [regime-changes]: Trying 5 branch expressions: ((* x x) (+ (* x x) y) (sqrt (+ (* x x) y)) y x) 0.556 * * * * [regimes]: Trying to branch on (* x x) from (# # #) 0.592 * * * * [regimes]: Trying to branch on (+ (* x x) y) from (# # #) 0.631 * * * * [regimes]: Trying to branch on (sqrt (+ (* x x) y)) from (# # #) 0.670 * * * * [regimes]: Trying to branch on y from (# # #) 0.713 * * * * [regimes]: Trying to branch on x from (# # #) 0.757 * * * [regime]: Found split indices: #