* [misc]progress: [Phase 1 of 3] Setting up. * * * [misc]progress: [1/2] Preparing points * * * * [misc]points: Sampling 256 additional inputs, on iter 0 have 0 / 256 * * * * [misc]points: Computing exacts on every 16 of 256 points to ramp up precision * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Computing exacts on every 8 of 256 points to ramp up precision * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Computing exacts on every 4 of 256 points to ramp up precision * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Computing exacts on every 2 of 256 points to ramp up precision * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Computing exacts for 256 points * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Filtering points with unrepresentable outputs * * * * [misc]points: Sampling 138 additional inputs, on iter 1 have 118 / 256 * * * * [misc]points: Computing exacts on every 8 of 138 points to ramp up precision * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Computing exacts on every 4 of 138 points to ramp up precision * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Computing exacts on every 2 of 138 points to ramp up precision * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Computing exacts for 138 points * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Filtering points with unrepresentable outputs * * * * [misc]points: Sampling 64 additional inputs, on iter 2 have 192 / 256 * * * * [misc]points: Computing exacts on every 4 of 64 points to ramp up precision * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Computing exacts on every 2 of 64 points to ramp up precision * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Computing exacts for 64 points * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Filtering points with unrepresentable outputs * * * * [misc]points: Sampling 20 additional inputs, on iter 3 have 236 / 256 * * * * [misc]points: Computing exacts for 20 points * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Filtering points with unrepresentable outputs * * * * [misc]points: Sampling 10 additional inputs, on iter 4 have 246 / 256 * * * * [misc]points: Computing exacts for 10 points * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Filtering points with unrepresentable outputs * * * * [misc]points: Sampling 4 additional inputs, on iter 5 have 252 / 256 * * * * [misc]points: Computing exacts for 4 points * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Filtering points with unrepresentable outputs * * * * [misc]points: Sampling 4 additional inputs, on iter 6 have 253 / 256 * * * * [misc]points: Computing exacts for 4 points * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Filtering points with unrepresentable outputs * * * * [misc]points: Sampling 4 additional inputs, on iter 7 have 255 / 256 * * * * [misc]points: Computing exacts for 4 points * * * * [misc]points: Setting MPFR precision to 64 * * * * [misc]points: Setting MPFR precision to 320 * * * * [misc]points: Filtering points with unrepresentable outputs * * * * [exit]points: Sampled 256 points with exact outputs * * * [misc]progress: [2/2] Setting up program. * [misc]progress: [Phase 2 of 3] Improving. * [enter]simplify: Simplifying (* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))) * * [misc]simplify: iters left: 6 (10 enodes) * * [misc]simplify: iters left: 5 (23 enodes) * * [misc]simplify: iters left: 4 (57 enodes) * * [misc]simplify: iters left: 3 (86 enodes) * * [misc]simplify: iters left: 2 (197 enodes) * * [misc]simplify: iters left: 1 (476 enodes) * [exit]simplify: Simplified to (* (+ (/ 0.5 (exp im)) (* 0.5 (exp im))) (cos re)) * * [misc]progress: iteration 1 / 4 * * * [misc]progress: picking best candidate * * * * [misc]pick: Picked # * * * [misc]progress: localizing error * * * [misc]progress: generating rewritten candidates * * * [misc]progress: generating series expansions * * * [misc]progress: simplifying candidates * * * [misc]progress: adding candidates to table * * [misc]progress: iteration 2 / 4 * * * [misc]progress: picking best candidate * * * * [misc]pick: Picked # * * * [misc]progress: localizing error * * * [misc]progress: generating rewritten candidates * * * * [misc]progress: [ 1 / 1 ] rewriting at (2 1 1) * * * [misc]progress: generating series expansions * * * * [misc]progress: [ 1 / 1 ] generating series at (2 1 1) * [misc]approximate: Taking taylor expansion of (/ 0.5 (exp im)) in (im) around 0 * [misc]taylor: Taking taylor expansion of (/ 0.5 (exp im)) in im * [misc]taylor: Taking taylor expansion of 0.5 in im * [misc]backup-simplify: Simplify 0.5 into 0.5 * [misc]taylor: Taking taylor expansion of (exp im) in im * [misc]taylor: Taking taylor expansion of im in im * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify 1 into 1 * [misc]backup-simplify: Simplify (exp 0) into 1 * [misc]backup-simplify: Simplify (/ 0.5 1) into 0.5 * [misc]taylor: Taking taylor expansion of (/ 0.5 (exp im)) in im * [misc]taylor: Taking taylor expansion of 0.5 in im * [misc]backup-simplify: Simplify 0.5 into 0.5 * [misc]taylor: Taking taylor expansion of (exp im) in im * [misc]taylor: Taking taylor expansion of im in im * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify 1 into 1 * [misc]backup-simplify: Simplify (exp 0) into 1 * [misc]backup-simplify: Simplify (/ 0.5 1) into 0.5 * [misc]backup-simplify: Simplify 0.5 into 0.5 * [misc]backup-simplify: Simplify (* (exp 0) (+ (* (/ (pow 1 1) 1)))) into 1 * [misc]backup-simplify: Simplify (- (/ 0 1) (+ (* 0.5 (/ 1 1)))) into (- 0.5) * [misc]backup-simplify: Simplify (- 0.5) into (- 0.5) * [misc]backup-simplify: Simplify (* (exp 0) (+ (* (/ (pow 1 2) 2)) (* (/ (pow 0 1) 1)))) into 1/2 * [misc]backup-simplify: Simplify (- (/ 0 1) (+ (* 0.5 (/ 1/2 1)) (* (- 0.5) (/ 1 1)))) into 0.25 * [misc]backup-simplify: Simplify 0.25 into 0.25 * [misc]backup-simplify: Simplify (+ (* 0.25 (pow im 2)) (+ (* (- 0.5) im) 0.5)) into (- (+ (* 0.25 (pow im 2)) 0.5) (* 0.5 im)) * [misc]approximate: Taking taylor expansion of (/ 0.5 (exp (/ 1 im))) in (im) around 0 * [misc]taylor: Taking taylor expansion of (/ 0.5 (exp (/ 1 im))) in im * [misc]taylor: Taking taylor expansion of 0.5 in im * [misc]backup-simplify: Simplify 0.5 into 0.5 * [misc]taylor: Taking taylor expansion of (exp (/ 1 im)) in im * [misc]taylor: Taking taylor expansion of (/ 1 im) in im * [misc]taylor: Taking taylor expansion of im in im * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify 1 into 1 * [misc]backup-simplify: Simplify (/ 1 1) into 1 * [misc]backup-simplify: Simplify (exp (/ 1 im)) into (exp (/ 1 im)) * [misc]backup-simplify: Simplify (/ 0.5 (exp (/ 1 im))) into (/ 0.5 (exp (/ 1 im))) * [misc]taylor: Taking taylor expansion of (/ 0.5 (exp (/ 1 im))) in im * [misc]taylor: Taking taylor expansion of 0.5 in im * [misc]backup-simplify: Simplify 0.5 into 0.5 * [misc]taylor: Taking taylor expansion of (exp (/ 1 im)) in im * [misc]taylor: Taking taylor expansion of (/ 1 im) in im * [misc]taylor: Taking taylor expansion of im in im * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify 1 into 1 * [misc]backup-simplify: Simplify (/ 1 1) into 1 * [misc]backup-simplify: Simplify (exp (/ 1 im)) into (exp (/ 1 im)) * [misc]backup-simplify: Simplify (/ 0.5 (exp (/ 1 im))) into (/ 0.5 (exp (/ 1 im))) * [misc]backup-simplify: Simplify (/ 0.5 (exp (/ 1 im))) into (/ 0.5 (exp (/ 1 im))) * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ 1 im))) (+ (* (/ 0.5 (exp (/ 1 im))) (/ 0 (exp (/ 1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ 1 im))) (+ (* (/ 0.5 (exp (/ 1 im))) (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ 1 im))) (+ (* (/ 0.5 (exp (/ 1 im))) (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ 1 im))) (+ (* (/ 0.5 (exp (/ 1 im))) (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ 1 im))) (+ (* (/ 0.5 (exp (/ 1 im))) (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ 1 im))) (+ (* (/ 0.5 (exp (/ 1 im))) (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))) (* 0 (/ 0 (exp (/ 1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (/ 0.5 (exp (/ 1 (/ 1 im)))) into (/ 0.5 (exp im)) * [misc]approximate: Taking taylor expansion of (/ 0.5 (exp (/ 1 (- im)))) in (im) around 0 * [misc]taylor: Taking taylor expansion of (/ 0.5 (exp (/ 1 (- im)))) in im * [misc]taylor: Taking taylor expansion of 0.5 in im * [misc]backup-simplify: Simplify 0.5 into 0.5 * [misc]taylor: Taking taylor expansion of (exp (/ 1 (- im))) in im * [misc]taylor: Taking taylor expansion of (/ 1 (- im)) in im * [misc]taylor: Taking taylor expansion of (- im) in im * [misc]taylor: Taking taylor expansion of im in im * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify 1 into 1 * [misc]backup-simplify: Simplify (- 0) into 0 * [misc]backup-simplify: Simplify (- 1) into -1 * [misc]backup-simplify: Simplify (- 1) into -1 * [misc]backup-simplify: Simplify (/ 1 -1) into -1 * [misc]backup-simplify: Simplify (exp (/ 1 (- im))) into (exp (/ -1 im)) * [misc]backup-simplify: Simplify (/ 0.5 (exp (/ -1 im))) into (/ 0.5 (exp (/ -1 im))) * [misc]taylor: Taking taylor expansion of (/ 0.5 (exp (/ 1 (- im)))) in im * [misc]taylor: Taking taylor expansion of 0.5 in im * [misc]backup-simplify: Simplify 0.5 into 0.5 * [misc]taylor: Taking taylor expansion of (exp (/ 1 (- im))) in im * [misc]taylor: Taking taylor expansion of (/ 1 (- im)) in im * [misc]taylor: Taking taylor expansion of (- im) in im * [misc]taylor: Taking taylor expansion of im in im * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify 1 into 1 * [misc]backup-simplify: Simplify (- 0) into 0 * [misc]backup-simplify: Simplify (- 1) into -1 * [misc]backup-simplify: Simplify (- 1) into -1 * [misc]backup-simplify: Simplify (/ 1 -1) into -1 * [misc]backup-simplify: Simplify (exp (/ 1 (- im))) into (exp (/ -1 im)) * [misc]backup-simplify: Simplify (/ 0.5 (exp (/ -1 im))) into (/ 0.5 (exp (/ -1 im))) * [misc]backup-simplify: Simplify (/ 0.5 (exp (/ -1 im))) into (/ 0.5 (exp (/ -1 im))) * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ -1 im))) (+ (* (/ 0.5 (exp (/ -1 im))) (/ 0 (exp (/ -1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ -1 im))) (+ (* (/ 0.5 (exp (/ -1 im))) (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ -1 im))) (+ (* (/ 0.5 (exp (/ -1 im))) (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ -1 im))) (+ (* (/ 0.5 (exp (/ -1 im))) (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ -1 im))) (+ (* (/ 0.5 (exp (/ -1 im))) (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (- (/ 0 (exp (/ -1 im))) (+ (* (/ 0.5 (exp (/ -1 im))) (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))) (* 0 (/ 0 (exp (/ -1 im)))))) into 0 * [misc]backup-simplify: Simplify 0 into 0 * [misc]backup-simplify: Simplify (/ 0.5 (exp (/ -1 (/ 1 (- im))))) into (/ 0.5 (exp im)) * * * [misc]progress: simplifying candidates * * * * [misc]progress: [ 1 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 2 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 3 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 4 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 5 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 6 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 7 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 8 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 9 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 10 / 16 ] simplifiying candidate # * * * * [misc]progress: [ 11 / 16 ] simplifiying candidate # * [enter]simplify: Simplifying (cbrt (exp im)) * * [misc]simplify: iters left: 2 (3 enodes) * [exit]simplify: Simplified to (cbrt (exp im)) * [misc]simplify: Simplified (2 1 1 2) to (λ (re im) (* (+ (/ (/ 0.5 (* (cbrt (exp im)) (cbrt (exp im)))) (cbrt (exp im))) (* 0.5 (exp im))) (cos re))) * * * * [misc]progress: [ 12 / 16 ] simplifiying candidate # * [enter]simplify: Simplifying (sqrt (exp im)) * * [misc]simplify: iters left: 2 (3 enodes) * [exit]simplify: Simplified to (sqrt (exp im)) * [misc]simplify: Simplified (2 1 1 2) to (λ (re im) (* (+ (/ (/ 0.5 (sqrt (exp im))) (sqrt (exp im))) (* 0.5 (exp im))) (cos re))) * * * * [misc]progress: [ 13 / 16 ] simplifiying candidate # * [enter]simplify: Simplifying (exp im) * * [misc]simplify: iters left: 1 (2 enodes) * [exit]simplify: Simplified to (exp im) * [misc]simplify: Simplified (2 1 1 2) to (λ (re im) (* (+ (/ (/ 0.5 1) (exp im)) (* 0.5 (exp im))) (cos re))) * * * * [misc]progress: [ 14 / 16 ] simplifiying candidate # * [enter]simplify: Simplifying (- (+ (* 0.25 (pow im 2)) 0.5) (* 0.5 im)) * * [misc]simplify: iters left: 6 (9 enodes) * * [misc]simplify: iters left: 5 (17 enodes) * * [misc]simplify: iters left: 4 (35 enodes) * * [misc]simplify: iters left: 3 (54 enodes) * * [misc]simplify: iters left: 2 (71 enodes) * * [misc]simplify: iters left: 1 (93 enodes) * [exit]simplify: Simplified to (+ (- 0.5 (* 0.5 im)) (* (* 0.25 im) im)) * [misc]simplify: Simplified (2 1 1) to (λ (re im) (* (+ (+ (- 0.5 (* 0.5 im)) (* (* 0.25 im) im)) (* 0.5 (exp im))) (cos re))) * * * * [misc]progress: [ 15 / 16 ] simplifiying candidate # * [enter]simplify: Simplifying (/ 0.5 (exp im)) * * [misc]simplify: iters left: 3 (4 enodes) * [exit]simplify: Simplified to (/ 0.5 (exp im)) * [misc]simplify: Simplified (2 1 1) to (λ (re im) (* (+ (/ 0.5 (exp im)) (* 0.5 (exp im))) (cos re))) * * * * [misc]progress: [ 16 / 16 ] simplifiying candidate # * [enter]simplify: Simplifying (/ 0.5 (exp im)) * * [misc]simplify: iters left: 3 (4 enodes) * [exit]simplify: Simplified to (/ 0.5 (exp im)) * [misc]simplify: Simplified (2 1 1) to (λ (re im) (* (+ (/ 0.5 (exp im)) (* 0.5 (exp im))) (cos re))) * * * [misc]progress: adding candidates to table * [misc]progress: [Phase 3 of 3] Extracting. * * [misc]regime: Finding splitpoints for: (# #) * * * [misc]regime-changes: Trying 6 branch expressions: (im (+ (exp (- im)) (exp im)) re (cos re) (* 0.5 (cos re)) (* (* 0.5 (cos re)) (+ (exp (- im)) (exp im)))) * * * * [misc]regimes: Trying to branch on im from (# #) * * * * [misc]regimes: Trying to branch on (+ (exp (- im)) (exp im)) from (# #) * * * * [misc]regimes: Trying to branch on re from (# #) * * * * [misc]regimes: Trying to branch on (cos re) from (# #) * * * * [misc]regimes: Trying to branch on (* 0.5 (cos re)) from (# #) * * * * [misc]regimes: Trying to branch on (* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))) from (# #) * * * [misc]regime: Found split indices: #