6.980 * [progress]: [Phase 1 of 3] Setting up. 0.002 * * * [progress]: [1/2] Preparing points 0.044 * * * [progress]: [2/2] Setting up program. 0.046 * [progress]: [Phase 2 of 3] Improving. 0.046 * [simplify]: Simplifying using # : (-.f64 (exp.f64 x) 1) 0.051 * * [simplify]: iteration 0 : 8 enodes (cost 4 ) 0.051 * * [simplify]: iteration 1 : 8 enodes (cost 4 ) 0.051 * [simplify]: Simplified to: (-.f64 (exp.f64 x) 1) 0.051 * * [progress]: iteration 1 / 4 0.051 * * * [progress]: picking best candidate 0.053 * * * * [pick]: Picked # 0.053 * * * [progress]: localizing error 0.056 * * * [progress]: generating rewritten candidates 0.056 * * * * [progress]: [ 1 / 1 ] rewriting at (2) 0.061 * * * [progress]: generating series expansions 0.061 * * * * [progress]: [ 1 / 1 ] generating series at (2) 0.061 * [approximate]: Taking taylor expansion of (- (exp x) 1) in (x) around 0 0.061 * [taylor]: Taking taylor expansion of (- (exp x) 1) in x 0.061 * [taylor]: Taking taylor expansion of (exp x) in x 0.061 * [taylor]: Taking taylor expansion of x in x 0.061 * [taylor]: Taking taylor expansion of 1 in x 0.061 * [taylor]: Taking taylor expansion of (- (exp x) 1) in x 0.061 * [taylor]: Taking taylor expansion of (exp x) in x 0.061 * [taylor]: Taking taylor expansion of x in x 0.061 * [taylor]: Taking taylor expansion of 1 in x 0.062 * [approximate]: Taking taylor expansion of (- (exp (/ 1 x)) 1) in (x) around 0 0.062 * [taylor]: Taking taylor expansion of (- (exp (/ 1 x)) 1) in x 0.062 * [taylor]: Taking taylor expansion of (exp (/ 1 x)) in x 0.062 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.062 * [taylor]: Taking taylor expansion of x in x 0.062 * [taylor]: Taking taylor expansion of 1 in x 0.062 * [taylor]: Taking taylor expansion of (- (exp (/ 1 x)) 1) in x 0.062 * [taylor]: Taking taylor expansion of (exp (/ 1 x)) in x 0.062 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.062 * [taylor]: Taking taylor expansion of x in x 0.062 * [taylor]: Taking taylor expansion of 1 in x 0.062 * [approximate]: Taking taylor expansion of (- (exp (/ -1 x)) 1) in (x) around 0 0.063 * [taylor]: Taking taylor expansion of (- (exp (/ -1 x)) 1) in x 0.063 * [taylor]: Taking taylor expansion of (exp (/ -1 x)) in x 0.063 * [taylor]: Taking taylor expansion of (/ -1 x) in x 0.063 * [taylor]: Taking taylor expansion of -1 in x 0.063 * [taylor]: Taking taylor expansion of x in x 0.063 * [taylor]: Taking taylor expansion of 1 in x 0.063 * [taylor]: Taking taylor expansion of (- (exp (/ -1 x)) 1) in x 0.063 * [taylor]: Taking taylor expansion of (exp (/ -1 x)) in x 0.063 * [taylor]: Taking taylor expansion of (/ -1 x) in x 0.063 * [taylor]: Taking taylor expansion of -1 in x 0.063 * [taylor]: Taking taylor expansion of x in x 0.063 * [taylor]: Taking taylor expansion of 1 in x 0.063 * * * [progress]: simplifying candidates 0.064 * [simplify]: Simplifying using # : (/.f64 (exp.f64 (exp.f64 x)) (exp.f64 1)) (log.f64 (-.f64 (exp.f64 x) 1)) (exp.f64 (-.f64 (exp.f64 x) 1)) (*.f64 (cbrt.f64 (-.f64 (exp.f64 x) 1)) (cbrt.f64 (-.f64 (exp.f64 x) 1))) (cbrt.f64 (-.f64 (exp.f64 x) 1)) (*.f64 (*.f64 (-.f64 (exp.f64 x) 1) (-.f64 (exp.f64 x) 1)) (-.f64 (exp.f64 x) 1)) (sqrt.f64 (-.f64 (exp.f64 x) 1)) (sqrt.f64 (-.f64 (exp.f64 x) 1)) (-.f64 (pow.f64 (exp.f64 x) 3) (pow.f64 1 3)) (+.f64 (*.f64 (exp.f64 x) (exp.f64 x)) (+.f64 (*.f64 1 1) (*.f64 (exp.f64 x) 1))) (neg.f64 1) (-.f64 (*.f64 (exp.f64 x) (exp.f64 x)) (*.f64 1 1)) (+.f64 (exp.f64 x) 1) (+.f64 (sqrt.f64 (exp.f64 x)) (sqrt.f64 1)) (-.f64 (sqrt.f64 (exp.f64 x)) (sqrt.f64 1)) (+.f64 (sqrt.f64 (exp.f64 x)) 1) (-.f64 (sqrt.f64 (exp.f64 x)) 1) (+.f64 (sqrt.f64 (exp.f64 x)) 1) (-.f64 (sqrt.f64 (exp.f64 x)) 1) (-.f64 (exp.f64 x) 1) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/6 (pow.f64 x 3)) x)) (-.f64 (exp.f64 x) 1) (-.f64 (exp.f64 x) 1) 0.091 * * [simplify]: iteration 0 : 5144 enodes (cost 126 ) 0.092 * [simplify]: Simplified to: (/.f64 (exp.f64 (exp.f64 x)) E.f64) (log.f64 (-.f64 (exp.f64 x) 1)) (/.f64 (exp.f64 (exp.f64 x)) E.f64) (*.f64 (cbrt.f64 (-.f64 (exp.f64 x) 1)) (cbrt.f64 (-.f64 (exp.f64 x) 1))) (cbrt.f64 (-.f64 (exp.f64 x) 1)) (pow.f64 (-.f64 (exp.f64 x) 1) 3) (sqrt.f64 (-.f64 (exp.f64 x) 1)) (sqrt.f64 (-.f64 (exp.f64 x) 1)) (-.f64 (pow.f64 (exp.f64 x) 3) 1) (+.f64 1 (*.f64 (exp.f64 x) (+.f64 (exp.f64 x) 1))) -1 (+.f64 (pow.f64 (exp.f64 x) 2) -1) (+.f64 (exp.f64 x) 1) (+.f64 1 (sqrt.f64 (exp.f64 x))) (+.f64 -1 (sqrt.f64 (exp.f64 x))) (+.f64 1 (sqrt.f64 (exp.f64 x))) (+.f64 -1 (sqrt.f64 (exp.f64 x))) (+.f64 1 (sqrt.f64 (exp.f64 x))) (+.f64 -1 (sqrt.f64 (exp.f64 x))) (-.f64 (exp.f64 x) 1) (+.f64 x (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))) (-.f64 (exp.f64 x) 1) (-.f64 (exp.f64 x) 1) 0.092 * * * [progress]: adding candidates to table 0.112 * * [progress]: iteration 2 / 4 0.112 * * * [progress]: picking best candidate 0.114 * * * * [pick]: Picked # 0.114 * * * [progress]: localizing error 0.120 * * * [progress]: generating rewritten candidates 0.120 * * * * [progress]: [ 1 / 2 ] rewriting at (2 2 2 2) 0.124 * * * * [progress]: [ 2 / 2 ] rewriting at (2 2) 0.134 * * * [progress]: generating series expansions 0.134 * * * * [progress]: [ 1 / 2 ] generating series at (2 2 2 2) 0.135 * [approximate]: Taking taylor expansion of (* 1/6 x) in (x) around 0 0.135 * [taylor]: Taking taylor expansion of (* 1/6 x) in x 0.135 * [taylor]: Taking taylor expansion of 1/6 in x 0.135 * [taylor]: Taking taylor expansion of x in x 0.135 * [taylor]: Taking taylor expansion of (* 1/6 x) in x 0.135 * [taylor]: Taking taylor expansion of 1/6 in x 0.135 * [taylor]: Taking taylor expansion of x in x 0.135 * [approximate]: Taking taylor expansion of (/ 1/6 x) in (x) around 0 0.135 * [taylor]: Taking taylor expansion of (/ 1/6 x) in x 0.135 * [taylor]: Taking taylor expansion of 1/6 in x 0.135 * [taylor]: Taking taylor expansion of x in x 0.135 * [taylor]: Taking taylor expansion of (/ 1/6 x) in x 0.135 * [taylor]: Taking taylor expansion of 1/6 in x 0.135 * [taylor]: Taking taylor expansion of x in x 0.136 * [approximate]: Taking taylor expansion of (/ -1/6 x) in (x) around 0 0.136 * [taylor]: Taking taylor expansion of (/ -1/6 x) in x 0.136 * [taylor]: Taking taylor expansion of -1/6 in x 0.136 * [taylor]: Taking taylor expansion of x in x 0.136 * [taylor]: Taking taylor expansion of (/ -1/6 x) in x 0.136 * [taylor]: Taking taylor expansion of -1/6 in x 0.136 * [taylor]: Taking taylor expansion of x in x 0.137 * * * * [progress]: [ 2 / 2 ] generating series at (2 2) 0.137 * [approximate]: Taking taylor expansion of (* (pow x 2) (+ (* 1/6 x) 1/2)) in (x) around 0 0.137 * [taylor]: Taking taylor expansion of (* (pow x 2) (+ (* 1/6 x) 1/2)) in x 0.137 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.137 * [taylor]: Taking taylor expansion of x in x 0.137 * [taylor]: Taking taylor expansion of (+ (* 1/6 x) 1/2) in x 0.137 * [taylor]: Taking taylor expansion of (* 1/6 x) in x 0.137 * [taylor]: Taking taylor expansion of 1/6 in x 0.137 * [taylor]: Taking taylor expansion of x in x 0.137 * [taylor]: Taking taylor expansion of 1/2 in x 0.137 * [taylor]: Taking taylor expansion of (* (pow x 2) (+ (* 1/6 x) 1/2)) in x 0.137 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.137 * [taylor]: Taking taylor expansion of x in x 0.137 * [taylor]: Taking taylor expansion of (+ (* 1/6 x) 1/2) in x 0.137 * [taylor]: Taking taylor expansion of (* 1/6 x) in x 0.137 * [taylor]: Taking taylor expansion of 1/6 in x 0.137 * [taylor]: Taking taylor expansion of x in x 0.137 * [taylor]: Taking taylor expansion of 1/2 in x 0.139 * [approximate]: Taking taylor expansion of (/ (+ (* 1/6 (/ 1 x)) 1/2) (pow x 2)) in (x) around 0 0.139 * [taylor]: Taking taylor expansion of (/ (+ (* 1/6 (/ 1 x)) 1/2) (pow x 2)) in x 0.139 * [taylor]: Taking taylor expansion of (+ (* 1/6 (/ 1 x)) 1/2) in x 0.139 * [taylor]: Taking taylor expansion of (* 1/6 (/ 1 x)) in x 0.139 * [taylor]: Taking taylor expansion of 1/6 in x 0.139 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.139 * [taylor]: Taking taylor expansion of x in x 0.139 * [taylor]: Taking taylor expansion of 1/2 in x 0.139 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.139 * [taylor]: Taking taylor expansion of x in x 0.139 * [taylor]: Taking taylor expansion of (/ (+ (* 1/6 (/ 1 x)) 1/2) (pow x 2)) in x 0.139 * [taylor]: Taking taylor expansion of (+ (* 1/6 (/ 1 x)) 1/2) in x 0.139 * [taylor]: Taking taylor expansion of (* 1/6 (/ 1 x)) in x 0.139 * [taylor]: Taking taylor expansion of 1/6 in x 0.139 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.139 * [taylor]: Taking taylor expansion of x in x 0.139 * [taylor]: Taking taylor expansion of 1/2 in x 0.139 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.139 * [taylor]: Taking taylor expansion of x in x 0.141 * [approximate]: Taking taylor expansion of (/ (- 1/2 (* 1/6 (/ 1 x))) (pow x 2)) in (x) around 0 0.142 * [taylor]: Taking taylor expansion of (/ (- 1/2 (* 1/6 (/ 1 x))) (pow x 2)) in x 0.142 * [taylor]: Taking taylor expansion of (- 1/2 (* 1/6 (/ 1 x))) in x 0.142 * [taylor]: Taking taylor expansion of 1/2 in x 0.142 * [taylor]: Taking taylor expansion of (* 1/6 (/ 1 x)) in x 0.142 * [taylor]: Taking taylor expansion of 1/6 in x 0.142 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.142 * [taylor]: Taking taylor expansion of x in x 0.142 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.142 * [taylor]: Taking taylor expansion of x in x 0.142 * [taylor]: Taking taylor expansion of (/ (- 1/2 (* 1/6 (/ 1 x))) (pow x 2)) in x 0.142 * [taylor]: Taking taylor expansion of (- 1/2 (* 1/6 (/ 1 x))) in x 0.142 * [taylor]: Taking taylor expansion of 1/2 in x 0.142 * [taylor]: Taking taylor expansion of (* 1/6 (/ 1 x)) in x 0.142 * [taylor]: Taking taylor expansion of 1/6 in x 0.142 * [taylor]: Taking taylor expansion of (/ 1 x) in x 0.142 * [taylor]: Taking taylor expansion of x in x 0.142 * [taylor]: Taking taylor expansion of (pow x 2) in x 0.142 * [taylor]: Taking taylor expansion of x in x 0.144 * * * [progress]: simplifying candidates 0.145 * [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.186 * * [simplify]: iteration 0 : 4907 enodes (cost 352 ) 0.186 * * [simplify]: iteration 1 : 4907 enodes (cost 352 ) 0.189 * [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.190 * * * [progress]: adding candidates to table 0.223 * [progress]: [Phase 3 of 3] Extracting. 0.223 * * [regime]: Finding splitpoints for: (# #) 0.223 * * * [regime-changes]: Trying 3 branch expressions: ((exp.f64 x) (-.f64 (exp.f64 x) 1) x) 0.224 * * * * [regimes]: Trying to branch on (exp.f64 x) from (# #) 0.243 * * * * [regimes]: Trying to branch on (-.f64 (exp.f64 x) 1) from (# #) 0.260 * * * * [regimes]: Trying to branch on x from (# #) 0.283 * * * [regime]: Found split indices: #