27.971 * [progress]: [Phase 1 of 3] Setting up. 0.001 * * * [progress]: [1/2] Preparing points 0.038 * * * [progress]: [2/2] Setting up program. 0.040 * [progress]: [Phase 2 of 3] Improving. 0.040 * [simplify]: Simplifying using # : (-.f64 (exp.f64 x) 1.0) 0.046 * * [simplify]: iteration 0 : 68 enodes (cost 4 ) 0.047 * * [simplify]: iteration 1 : 68 enodes (cost 4 ) 0.047 * [simplify]: Simplified to: (-.f64 (exp.f64 x) 1.0) 0.047 * * [progress]: iteration 1 / 4 0.047 * * * [progress]: picking best candidate 0.049 * * * * [pick]: Picked # 0.049 * * * [progress]: localizing error 0.052 * * * [progress]: generating rewritten candidates 0.052 * * * * [progress]: [ 1 / 1 ] rewriting at (2) 0.057 * * * [progress]: generating series expansions 0.057 * * * * [progress]: [ 1 / 1 ] generating series at (2) 0.057 * [approximate]: Taking taylor expansion of (- (exp x) 1.0) in (x) around 0 0.057 * [taylor]: Taking taylor expansion of (- (exp x) 1.0) in x 0.057 * [taylor]: Taking taylor expansion of (exp x) in x 0.057 * [taylor]: Taking taylor expansion of x in x 0.057 * [taylor]: Taking taylor expansion of 1.0 in x 0.057 * [taylor]: Taking taylor expansion of (- (exp x) 1.0) in x 0.057 * [taylor]: Taking taylor expansion of (exp x) in x 0.057 * [taylor]: Taking taylor expansion of x in x 0.057 * [taylor]: Taking taylor expansion of 1.0 in x 0.058 * [approximate]: Taking taylor expansion of (- (exp (/ 1 x)) 1.0) in (x) around 0 0.058 * [taylor]: Taking taylor expansion of (- (exp (/ 1 x)) 1.0) in x 0.058 * [taylor]: Taking taylor expansion of (exp (/ 1 x)) in x 0.058 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.058 * [taylor]: Taking taylor expansion of x in x 0.058 * [taylor]: Taking taylor expansion of 1.0 in x 0.058 * [taylor]: Taking taylor expansion of (- (exp (/ 1 x)) 1.0) in x 0.058 * [taylor]: Taking taylor expansion of (exp (/ 1 x)) in x 0.058 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.058 * [taylor]: Taking taylor expansion of x in x 0.058 * [taylor]: Taking taylor expansion of 1.0 in x 0.058 * [approximate]: Taking taylor expansion of (- (exp (/ -1 x)) 1.0) in (x) around 0 0.058 * [taylor]: Taking taylor expansion of (- (exp (/ -1 x)) 1.0) in x 0.058 * [taylor]: Taking taylor expansion of (exp (/ -1 x)) in x 0.058 * [taylor]: Taking taylor expansion of (/ -1 x) in x 0.058 * [taylor]: Taking taylor expansion of -1 in x 0.058 * [taylor]: Taking taylor expansion of x in x 0.059 * [taylor]: Taking taylor expansion of 1.0 in x 0.059 * [taylor]: Taking taylor expansion of (- (exp (/ -1 x)) 1.0) in x 0.059 * [taylor]: Taking taylor expansion of (exp (/ -1 x)) in x 0.059 * [taylor]: Taking taylor expansion of (/ -1 x) in x 0.059 * [taylor]: Taking taylor expansion of -1 in x 0.059 * [taylor]: Taking taylor expansion of x in x 0.059 * [taylor]: Taking taylor expansion of 1.0 in x 0.059 * * * [progress]: simplifying candidates 0.059 * [simplify]: Simplifying using # : (/.f64 (exp.f64 (exp.f64 x)) (exp.f64 1.0)) (log.f64 (-.f64 (exp.f64 x) 1.0)) (exp.f64 (-.f64 (exp.f64 x) 1.0)) (*.f64 (cbrt.f64 (-.f64 (exp.f64 x) 1.0)) (cbrt.f64 (-.f64 (exp.f64 x) 1.0))) (cbrt.f64 (-.f64 (exp.f64 x) 1.0)) (*.f64 (*.f64 (-.f64 (exp.f64 x) 1.0) (-.f64 (exp.f64 x) 1.0)) (-.f64 (exp.f64 x) 1.0)) (sqrt.f64 (-.f64 (exp.f64 x) 1.0)) (sqrt.f64 (-.f64 (exp.f64 x) 1.0)) (-.f64 (pow.f64 (exp.f64 x) 3) (pow.f64 1.0 3)) (+.f64 (*.f64 (exp.f64 x) (exp.f64 x)) (+.f64 (*.f64 1.0 1.0) (*.f64 (exp.f64 x) 1.0))) (neg.f64 1.0) (-.f64 (*.f64 (exp.f64 x) (exp.f64 x)) (*.f64 1.0 1.0)) (+.f64 (exp.f64 x) 1.0) (+.f64 (sqrt.f64 (exp.f64 x)) (sqrt.f64 1.0)) (-.f64 (sqrt.f64 (exp.f64 x)) (sqrt.f64 1.0)) (-.f64 (exp.f64 x) 1.0) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (-.f64 (exp.f64 x) 1.0) (-.f64 (exp.f64 x) 1.0) 0.120 * * [simplify]: iteration 0 : 4881 enodes (cost 115 ) 0.120 * * [simplify]: iteration 1 : 4881 enodes (cost 115 ) 0.122 * [simplify]: Simplified to: (exp.f64 (-.f64 (exp.f64 x) 1.0)) (log.f64 (-.f64 (exp.f64 x) 1.0)) (exp.f64 (-.f64 (exp.f64 x) 1.0)) (*.f64 (cbrt.f64 (-.f64 (exp.f64 x) 1.0)) (cbrt.f64 (-.f64 (exp.f64 x) 1.0))) (cbrt.f64 (-.f64 (exp.f64 x) 1.0)) (pow.f64 (-.f64 (exp.f64 x) 1.0) 3) (sqrt.f64 (-.f64 (exp.f64 x) 1.0)) (sqrt.f64 (-.f64 (exp.f64 x) 1.0)) (-.f64 (pow.f64 (exp.f64 x) 3) (pow.f64 1.0 3)) (+.f64 (pow.f64 (exp.f64 x) 2) (*.f64 1.0 (+.f64 (exp.f64 x) 1.0))) (neg.f64 1.0) (-.f64 (pow.f64 (exp.f64 x) 2) (*.f64 1.0 1.0)) (+.f64 (exp.f64 x) 1.0) (+.f64 (sqrt.f64 (exp.f64 x)) (sqrt.f64 1.0)) (-.f64 (sqrt.f64 (exp.f64 x)) (sqrt.f64 1.0)) (-.f64 (exp.f64 x) 1.0) (+.f64 x (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (-.f64 (exp.f64 x) 1.0) (-.f64 (exp.f64 x) 1.0) 0.122 * * * [progress]: adding candidates to table 0.149 * * [progress]: iteration 2 / 4 0.149 * * * [progress]: picking best candidate 0.151 * * * * [pick]: Picked # 0.151 * * * [progress]: localizing error 0.157 * * * [progress]: generating rewritten candidates 0.157 * * * * [progress]: [ 1 / 2 ] rewriting at (2 2 2 2) 0.161 * * * * [progress]: [ 2 / 2 ] rewriting at (2 2) 0.170 * * * [progress]: generating series expansions 0.170 * * * * [progress]: [ 1 / 2 ] generating series at (2 2 2 2) 0.170 * [approximate]: Taking taylor expansion of (* 1/6 x) in (x) around 0 0.170 * [taylor]: Taking taylor expansion of (* 1/6 x) in x 0.170 * [taylor]: Taking taylor expansion of 1/6 in x 0.170 * [taylor]: Taking taylor expansion of x in x 0.170 * [taylor]: Taking taylor expansion of (* 1/6 x) in x 0.170 * [taylor]: Taking taylor expansion of 1/6 in x 0.170 * [taylor]: Taking taylor expansion of x in x 0.171 * [approximate]: Taking taylor expansion of (/ 1/6 x) in (x) around 0 0.171 * [taylor]: Taking taylor expansion of (/ 1/6 x) in x 0.171 * [taylor]: Taking taylor expansion of 1/6 in x 0.171 * [taylor]: Taking taylor expansion of x in x 0.171 * [taylor]: Taking taylor expansion of (/ 1/6 x) in x 0.171 * [taylor]: Taking taylor expansion of 1/6 in x 0.171 * [taylor]: Taking taylor expansion of x in x 0.172 * [approximate]: Taking taylor expansion of (/ -1/6 x) in (x) around 0 0.172 * [taylor]: Taking taylor expansion of (/ -1/6 x) in x 0.172 * [taylor]: Taking taylor expansion of -1/6 in x 0.172 * [taylor]: Taking taylor expansion of x in x 0.172 * [taylor]: Taking taylor expansion of (/ -1/6 x) in x 0.172 * [taylor]: Taking taylor expansion of -1/6 in x 0.172 * [taylor]: Taking taylor expansion of x in x 0.173 * * * * [progress]: [ 2 / 2 ] generating series at (2 2) 0.173 * [approximate]: Taking taylor expansion of (* (pow x 2) (+ (* 1/6 x) 1/2)) in (x) around 0 0.173 * [taylor]: Taking taylor expansion of (* (pow x 2) (+ (* 1/6 x) 1/2)) in x 0.173 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.173 * [taylor]: Taking taylor expansion of x in x 0.173 * [taylor]: Taking taylor expansion of (+ (* 1/6 x) 1/2) in x 0.173 * [taylor]: Taking taylor expansion of (* 1/6 x) in x 0.173 * [taylor]: Taking taylor expansion of 1/6 in x 0.173 * [taylor]: Taking taylor expansion of x in x 0.173 * [taylor]: Taking taylor expansion of 1/2 in x 0.173 * [taylor]: Taking taylor expansion of (* (pow x 2) (+ (* 1/6 x) 1/2)) in x 0.173 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.173 * [taylor]: Taking taylor expansion of x in x 0.173 * [taylor]: Taking taylor expansion of (+ (* 1/6 x) 1/2) in x 0.173 * [taylor]: Taking taylor expansion of (* 1/6 x) in x 0.173 * [taylor]: Taking taylor expansion of 1/6 in x 0.173 * [taylor]: Taking taylor expansion of x in x 0.173 * [taylor]: Taking taylor expansion of 1/2 in x 0.176 * [approximate]: Taking taylor expansion of (/ (+ (* 1/6 (/ 1 x)) 1/2) (pow x 2)) in (x) around 0 0.176 * [taylor]: Taking taylor expansion of (/ (+ (* 1/6 (/ 1 x)) 1/2) (pow x 2)) in x 0.176 * [taylor]: Taking taylor expansion of (+ (* 1/6 (/ 1 x)) 1/2) in x 0.176 * [taylor]: Taking taylor expansion of (* 1/6 (/ 1 x)) in x 0.176 * [taylor]: Taking taylor expansion of 1/6 in x 0.176 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.176 * [taylor]: Taking taylor expansion of x in x 0.176 * [taylor]: Taking taylor expansion of 1/2 in x 0.176 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.176 * [taylor]: Taking taylor expansion of x in x 0.176 * [taylor]: Taking taylor expansion of (/ (+ (* 1/6 (/ 1 x)) 1/2) (pow x 2)) in x 0.176 * [taylor]: Taking taylor expansion of (+ (* 1/6 (/ 1 x)) 1/2) in x 0.176 * [taylor]: Taking taylor expansion of (* 1/6 (/ 1 x)) in x 0.176 * [taylor]: Taking taylor expansion of 1/6 in x 0.176 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.176 * [taylor]: Taking taylor expansion of x in x 0.176 * [taylor]: Taking taylor expansion of 1/2 in x 0.176 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.176 * [taylor]: Taking taylor expansion of x in x 0.181 * [approximate]: Taking taylor expansion of (/ (- 1/2 (* 1/6 (/ 1 x))) (pow x 2)) in (x) around 0 0.181 * [taylor]: Taking taylor expansion of (/ (- 1/2 (* 1/6 (/ 1 x))) (pow x 2)) in x 0.181 * [taylor]: Taking taylor expansion of (- 1/2 (* 1/6 (/ 1 x))) in x 0.181 * [taylor]: Taking taylor expansion of 1/2 in x 0.181 * [taylor]: Taking taylor expansion of (* 1/6 (/ 1 x)) in x 0.181 * [taylor]: Taking taylor expansion of 1/6 in x 0.181 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.181 * [taylor]: Taking taylor expansion of x in x 0.181 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.181 * [taylor]: Taking taylor expansion of x in x 0.181 * [taylor]: Taking taylor expansion of (/ (- 1/2 (* 1/6 (/ 1 x))) (pow x 2)) in x 0.181 * [taylor]: Taking taylor expansion of (- 1/2 (* 1/6 (/ 1 x))) in x 0.181 * [taylor]: Taking taylor expansion of 1/2 in x 0.181 * [taylor]: Taking taylor expansion of (* 1/6 (/ 1 x)) in x 0.181 * [taylor]: Taking taylor expansion of 1/6 in x 0.181 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.181 * [taylor]: Taking taylor expansion of x in x 0.181 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.181 * [taylor]: Taking taylor expansion of x in x 0.186 * * * [progress]: simplifying candidates 0.187 * [simplify]: Simplifying using # : (*.f64 x 1/6) (+.f64 (log.f64 x) (log.f64 1/6)) (log.f64 (*.f64 x 1/6)) (exp.f64 (*.f64 x 1/6)) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 1/6 1/6) 1/6)) (*.f64 (cbrt.f64 (*.f64 x 1/6)) (cbrt.f64 (*.f64 x 1/6))) (cbrt.f64 (*.f64 x 1/6)) (*.f64 (*.f64 (*.f64 x 1/6) (*.f64 x 1/6)) (*.f64 x 1/6)) (sqrt.f64 (*.f64 x 1/6)) (sqrt.f64 (*.f64 x 1/6)) (*.f64 (sqrt.f64 x) (sqrt.f64 1/6)) (*.f64 (sqrt.f64 x) (sqrt.f64 1/6)) (*.f64 x (*.f64 (cbrt.f64 1/6) (cbrt.f64 1/6))) (*.f64 x (sqrt.f64 1/6)) (*.f64 x 1) (*.f64 (cbrt.f64 x) 1/6) (*.f64 (sqrt.f64 x) 1/6) (*.f64 x 1/6) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6))) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6))) (+.f64 (+.f64 (log.f64 x) (log.f64 x)) (log.f64 (+.f64 1/2 (*.f64 x 1/6)))) (+.f64 (log.f64 (*.f64 x x)) (log.f64 (+.f64 1/2 (*.f64 x 1/6)))) (log.f64 (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (exp.f64 (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (+.f64 1/2 (*.f64 x 1/6)) (+.f64 1/2 (*.f64 x 1/6))) (+.f64 1/2 (*.f64 x 1/6)))) (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 (*.f64 (+.f64 1/2 (*.f64 x 1/6)) (+.f64 1/2 (*.f64 x 1/6))) (+.f64 1/2 (*.f64 x 1/6)))) (*.f64 (cbrt.f64 (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (cbrt.f64 (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6))))) (cbrt.f64 (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (*.f64 (*.f64 (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6))) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (sqrt.f64 (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (sqrt.f64 (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (*.f64 x (sqrt.f64 (+.f64 1/2 (*.f64 x 1/6)))) (*.f64 x (sqrt.f64 (+.f64 1/2 (*.f64 x 1/6)))) (*.f64 (*.f64 x x) 1/2) (*.f64 (*.f64 x x) (*.f64 x 1/6)) (*.f64 1/2 (*.f64 x x)) (*.f64 (*.f64 x 1/6) (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 (cbrt.f64 (+.f64 1/2 (*.f64 x 1/6))) (cbrt.f64 (+.f64 1/2 (*.f64 x 1/6))))) (*.f64 (*.f64 x x) (sqrt.f64 (+.f64 1/2 (*.f64 x 1/6)))) (*.f64 (*.f64 x x) 1) (*.f64 x (+.f64 1/2 (*.f64 x 1/6))) (*.f64 (*.f64 x x) (+.f64 (pow.f64 1/2 3) (pow.f64 (*.f64 x 1/6) 3))) (*.f64 (*.f64 x x) (-.f64 (*.f64 1/2 1/2) (*.f64 (*.f64 x 1/6) (*.f64 x 1/6)))) (*.f64 1/6 x) (*.f64 1/6 x) (*.f64 1/6 x) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 1/6 (pow.f64 x 3))) 0.228 * * [simplify]: iteration 0 : 4907 enodes (cost 352 ) 0.228 * * [simplify]: iteration 1 : 4907 enodes (cost 352 ) 0.231 * [simplify]: Simplified to: (*.f64 x 1/6) (log.f64 (*.f64 x 1/6)) (log.f64 (*.f64 x 1/6)) (exp.f64 (*.f64 x 1/6)) (*.f64 (pow.f64 x 3) 1/216) (*.f64 (cbrt.f64 (*.f64 x 1/6)) (cbrt.f64 (*.f64 x 1/6))) (cbrt.f64 (*.f64 x 1/6)) (*.f64 (pow.f64 x 3) 1/216) (sqrt.f64 (*.f64 x 1/6)) (sqrt.f64 (*.f64 x 1/6)) (*.f64 (sqrt.f64 x) (sqrt.f64 1/6)) (*.f64 (sqrt.f64 x) (sqrt.f64 1/6)) (*.f64 x (*.f64 (cbrt.f64 1/6) (cbrt.f64 1/6))) (*.f64 x (sqrt.f64 1/6)) x (*.f64 1/6 (cbrt.f64 x)) (*.f64 1/6 (sqrt.f64 x)) (*.f64 x 1/6) (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2)) (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2)) (log.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2))) (log.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2))) (log.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2))) (exp.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2))) (*.f64 (pow.f64 x 6) (pow.f64 (+.f64 (*.f64 x 1/6) 1/2) 3)) (*.f64 (pow.f64 x 6) (pow.f64 (+.f64 (*.f64 x 1/6) 1/2) 3)) (*.f64 (cbrt.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2))) (cbrt.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2)))) (cbrt.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2))) (*.f64 (pow.f64 x 6) (pow.f64 (+.f64 (*.f64 x 1/6) 1/2) 3)) (sqrt.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2))) (sqrt.f64 (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2))) (*.f64 x (sqrt.f64 (+.f64 (*.f64 x 1/6) 1/2))) (*.f64 x (sqrt.f64 (+.f64 (*.f64 x 1/6) 1/2))) (*.f64 (*.f64 x x) 1/2) (*.f64 1/6 (pow.f64 x 3)) (*.f64 (*.f64 x x) 1/2) (*.f64 1/6 (pow.f64 x 3)) (*.f64 (*.f64 x x) (*.f64 (cbrt.f64 (+.f64 (*.f64 x 1/6) 1/2)) (cbrt.f64 (+.f64 (*.f64 x 1/6) 1/2)))) (*.f64 x (*.f64 x (sqrt.f64 (+.f64 (*.f64 x 1/6) 1/2)))) (*.f64 x x) (*.f64 x (+.f64 (*.f64 x 1/6) 1/2)) (*.f64 (*.f64 x x) (+.f64 (*.f64 (pow.f64 x 3) 1/216) 1/8)) (*.f64 (*.f64 x x) (-.f64 1/4 (*.f64 (*.f64 x x) 1/36))) (*.f64 x 1/6) (*.f64 x 1/6) (*.f64 x 1/6) (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2)) (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2)) (*.f64 (*.f64 x x) (+.f64 (*.f64 x 1/6) 1/2)) 0.231 * * * [progress]: adding candidates to table 0.265 * [progress]: [Phase 3 of 3] Extracting. 0.265 * * [regime]: Finding splitpoints for: (# #) 0.265 * * * [regime-changes]: Trying 3 branch expressions: ((exp.f64 x) (-.f64 (exp.f64 x) 1.0) x) 0.265 * * * * [regimes]: Trying to branch on (exp.f64 x) from (# #) 0.282 * * * * [regimes]: Trying to branch on (-.f64 (exp.f64 x) 1.0) from (# #) 0.303 * * * * [regimes]: Trying to branch on x from (# #) 0.324 * * * [regime]: Found split indices: #