Average Error: 0.5 → 0.5
Time: 3.5m
Precision: 64
Internal Precision: 128
\[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right)\]
\[x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(2 \cdot x2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \left(\frac{\frac{(x1 \cdot \left(3 \cdot x1\right) + \left(2 \cdot x2\right))_*}{(x1 \cdot x1 + 1)_*} - \left(\frac{x1}{(x1 \cdot x1 + 1)_*} + 3\right)}{\frac{\frac{(x1 \cdot x1 + 1)_*}{2 \cdot x1}}{(x1 \cdot \left(3 \cdot x1\right) + \left(2 \cdot x2 - x1\right))_*}}\right))_*\right) + \left((\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_* + (3 \cdot \left(x1 \cdot x1\right) + \left(2 \cdot x2 - x1\right))_* \cdot \frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}}\right))_*\]

Error

Bits error versus x1

Bits error versus x2

Derivation

  1. Initial program 0.5

    \[x1 + \left(\left(\left(\left(\left(\left(\left(2 \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) \cdot \left(\frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 3\right) + \left(x1 \cdot x1\right) \cdot \left(4 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1} - 6\right)\right) \cdot \left(x1 \cdot x1 + 1\right) + \left(\left(3 \cdot x1\right) \cdot x1\right) \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 + 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right) + \left(x1 \cdot x1\right) \cdot x1\right) + x1\right) + 3 \cdot \frac{\left(\left(3 \cdot x1\right) \cdot x1 - 2 \cdot x2\right) - x1}{x1 \cdot x1 + 1}\right)\]
  2. Simplified0.5

    \[\leadsto \color{blue}{x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \left(\frac{\frac{(x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*}{(x1 \cdot x1 + 1)_*} - \left(\frac{x1}{(x1 \cdot x1 + 1)_*} + 3\right)}{\frac{(x1 \cdot x1 + 1)_*}{(\left((x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*\right) \cdot \left(x1 \cdot 2\right) + \left(\left(x1 \cdot 2\right) \cdot \left(-x1\right)\right))_*}}\right))_*\right) + \left(\frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}} \cdot (3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_* + (\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_*\right))_*}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.5

    \[\leadsto x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \left(\frac{\frac{(x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*}{(x1 \cdot x1 + 1)_*} - \left(\frac{x1}{(x1 \cdot x1 + 1)_*} + 3\right)}{\color{blue}{1 \cdot \frac{(x1 \cdot x1 + 1)_*}{(\left((x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*\right) \cdot \left(x1 \cdot 2\right) + \left(\left(x1 \cdot 2\right) \cdot \left(-x1\right)\right))_*}}}\right))_*\right) + \left(\frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}} \cdot (3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_* + (\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_*\right))_*\]
  5. Applied *-un-lft-identity0.5

    \[\leadsto x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \left(\frac{\frac{(x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*}{(x1 \cdot x1 + 1)_*} - \color{blue}{1 \cdot \left(\frac{x1}{(x1 \cdot x1 + 1)_*} + 3\right)}}{1 \cdot \frac{(x1 \cdot x1 + 1)_*}{(\left((x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*\right) \cdot \left(x1 \cdot 2\right) + \left(\left(x1 \cdot 2\right) \cdot \left(-x1\right)\right))_*}}\right))_*\right) + \left(\frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}} \cdot (3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_* + (\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_*\right))_*\]
  6. Applied *-un-lft-identity0.5

    \[\leadsto x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \left(\frac{\color{blue}{1 \cdot \frac{(x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*}{(x1 \cdot x1 + 1)_*}} - 1 \cdot \left(\frac{x1}{(x1 \cdot x1 + 1)_*} + 3\right)}{1 \cdot \frac{(x1 \cdot x1 + 1)_*}{(\left((x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*\right) \cdot \left(x1 \cdot 2\right) + \left(\left(x1 \cdot 2\right) \cdot \left(-x1\right)\right))_*}}\right))_*\right) + \left(\frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}} \cdot (3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_* + (\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_*\right))_*\]
  7. Applied distribute-lft-out--0.5

    \[\leadsto x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \left(\frac{\color{blue}{1 \cdot \left(\frac{(x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*}{(x1 \cdot x1 + 1)_*} - \left(\frac{x1}{(x1 \cdot x1 + 1)_*} + 3\right)\right)}}{1 \cdot \frac{(x1 \cdot x1 + 1)_*}{(\left((x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*\right) \cdot \left(x1 \cdot 2\right) + \left(\left(x1 \cdot 2\right) \cdot \left(-x1\right)\right))_*}}\right))_*\right) + \left(\frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}} \cdot (3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_* + (\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_*\right))_*\]
  8. Applied times-frac0.5

    \[\leadsto x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \color{blue}{\left(\frac{1}{1} \cdot \frac{\frac{(x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*}{(x1 \cdot x1 + 1)_*} - \left(\frac{x1}{(x1 \cdot x1 + 1)_*} + 3\right)}{\frac{(x1 \cdot x1 + 1)_*}{(\left((x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*\right) \cdot \left(x1 \cdot 2\right) + \left(\left(x1 \cdot 2\right) \cdot \left(-x1\right)\right))_*}}\right)})_*\right) + \left(\frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}} \cdot (3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_* + (\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_*\right))_*\]
  9. Simplified0.5

    \[\leadsto x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \left(\color{blue}{1} \cdot \frac{\frac{(x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*}{(x1 \cdot x1 + 1)_*} - \left(\frac{x1}{(x1 \cdot x1 + 1)_*} + 3\right)}{\frac{(x1 \cdot x1 + 1)_*}{(\left((x1 \cdot \left(3 \cdot x1\right) + \left(x2 \cdot 2\right))_*\right) \cdot \left(x1 \cdot 2\right) + \left(\left(x1 \cdot 2\right) \cdot \left(-x1\right)\right))_*}}\right))_*\right) + \left(\frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}} \cdot (3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_* + (\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_*\right))_*\]
  10. Simplified0.5

    \[\leadsto x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \left(1 \cdot \color{blue}{\frac{\frac{(x1 \cdot \left(x1 \cdot 3\right) + \left(x2 \cdot 2\right))_*}{(x1 \cdot x1 + 1)_*} - \left(3 + \frac{x1}{(x1 \cdot x1 + 1)_*}\right)}{\frac{\frac{(x1 \cdot x1 + 1)_*}{2 \cdot x1}}{(x1 \cdot \left(x1 \cdot 3\right) + \left(x2 \cdot 2 - x1\right))_*}}}\right))_*\right) + \left(\frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}} \cdot (3 \cdot \left(x1 \cdot x1\right) + \left(x2 \cdot 2 - x1\right))_* + (\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_*\right))_*\]
  11. Final simplification0.5

    \[\leadsto x1 + (\left((x1 \cdot x1 + 1)_*\right) \cdot \left((\left((4 \cdot \left(\frac{(3 \cdot \left(x1 \cdot x1\right) + \left(2 \cdot x2 - x1\right))_*}{(x1 \cdot x1 + 1)_*}\right) + -6)_*\right) \cdot \left(x1 \cdot x1\right) + \left(\frac{\frac{(x1 \cdot \left(3 \cdot x1\right) + \left(2 \cdot x2\right))_*}{(x1 \cdot x1 + 1)_*} - \left(\frac{x1}{(x1 \cdot x1 + 1)_*} + 3\right)}{\frac{\frac{(x1 \cdot x1 + 1)_*}{2 \cdot x1}}{(x1 \cdot \left(3 \cdot x1\right) + \left(2 \cdot x2 - x1\right))_*}}\right))_*\right) + \left((\left((x1 \cdot x1 + 1)_*\right) \cdot x1 + \left(\frac{3}{(x1 \cdot x1 + 1)_*} \cdot (\left(3 \cdot x1\right) \cdot x1 + \left(-2 \cdot x2 - x1\right))_*\right))_* + (3 \cdot \left(x1 \cdot x1\right) + \left(2 \cdot x2 - x1\right))_* \cdot \frac{3}{\frac{(x1 \cdot x1 + 1)_*}{x1 \cdot x1}}\right))_*\]

Reproduce

herbie shell --seed 2019007 +o rules:numerics
(FPCore (x1 x2)
  :name "Rosa's FloatVsDoubleBenchmark"
  (+ x1 (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))))))

Details

Time bar (total: 3.5m)Debug log

sample530.0ms

Algorithm
intervals

simplify458.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

458.0ms
(+ x1 (+ (+ (+ (+ (* (+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))) (+ (* x1 x1) 1)) (* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* (* x1 x1) x1)) x1) (* 3 (/ (- (- (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))))

prune49.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.5b

localize141.0ms

Local error

Found 4 expressions with local error:

7.1b
(fma (fma 4 (/ (fma 3 (* x1 x1) (- (* x2 2) x1)) (fma x1 x1 1)) -6) (* x1 x1) (/ (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) (/ (fma x1 x1 1) (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1))))))
5.3b
(* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1)))
2.6b
(- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3))
1.0b
(/ (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) (/ (fma x1 x1 1) (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1)))))

rewrite95.0ms

Algorithm
rewrite-expression-head
Counts
4 → 225
Calls

4 calls. Slowest were:

59.0ms
(/ (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) (/ (fma x1 x1 1) (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1)))))
24.0ms
(- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3))
4.0ms
(* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1)))

series436.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

178.0ms
(fma (fma 4 (/ (fma 3 (* x1 x1) (- (* x2 2) x1)) (fma x1 x1 1)) -6) (* x1 x1) (/ (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) (/ (fma x1 x1 1) (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1))))))
161.0ms
(/ (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) (/ (fma x1 x1 1) (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1)))))
50.0ms
(- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3))
47.0ms
(* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1)))

simplify1.0m

Counts
307 → 237
Calls

307 calls. Slowest were:

648.0ms
(- (* (fma x1 (* 3 x1) (* x2 2)) (- (/ x1 (fma x1 x1 1)) 3)) (* (fma x1 x1 1) (- (* (/ x1 (fma x1 x1 1)) (/ x1 (fma x1 x1 1))) (* 3 3))))
562.0ms
(/ (+ (/ (sqrt (fma x1 (* 3 x1) (* x2 2))) (sqrt (fma x1 x1 1))) (sqrt (+ (/ x1 (fma x1 x1 1)) 3))) (* (cbrt (/ (fma x1 x1 1) (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1))))) (cbrt (/ (fma x1 x1 1) (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1)))))))
559.0ms
(/ (- (/ (fma x1 (* 3 x1) (* x2 2)) (fma x1 x1 1)) (+ (/ x1 (fma x1 x1 1)) 3)) (/ (fma x1 x1 1) (sqrt (fma (fma x1 (* 3 x1) (* x2 2)) (* x1 2) (* (* x1 2) (- x1))))))

prune8.6s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 0.4b

localize63.0ms

Local error

Found 4 expressions with local error:

7.4b
(fma (fma 4 (/ (fma 3 (* x1 x1) (- (* x2 2) x1)) (fma x1 x1 1)) -6) (* x1 x1) (* 1 (/ (- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1)))) (/ (/ (fma x1 x1 1) (* 2 x1)) (fma x1 (* x1 3) (- (* x2 2) x1))))))
5.3b
(* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1)))
2.6b
(- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1))))
1.0b
(/ (- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1)))) (/ (/ (fma x1 x1 1) (* 2 x1)) (fma x1 (* x1 3) (- (* x2 2) x1))))

rewrite67.0ms

Algorithm
rewrite-expression-head
Counts
4 → 311
Calls

4 calls. Slowest were:

35.0ms
(/ (- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1)))) (/ (/ (fma x1 x1 1) (* 2 x1)) (fma x1 (* x1 3) (- (* x2 2) x1))))
13.0ms
(- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1))))
7.0ms
(* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1)))

series437.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

213.0ms
(fma (fma 4 (/ (fma 3 (* x1 x1) (- (* x2 2) x1)) (fma x1 x1 1)) -6) (* x1 x1) (* 1 (/ (- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1)))) (/ (/ (fma x1 x1 1) (* 2 x1)) (fma x1 (* x1 3) (- (* x2 2) x1))))))
145.0ms
(/ (- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1)))) (/ (/ (fma x1 x1 1) (* 2 x1)) (fma x1 (* x1 3) (- (* x2 2) x1))))
45.0ms
(- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1))))
34.0ms
(* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1)))

simplify1.2m

Counts
466 → 323
Calls

466 calls. Slowest were:

651.0ms
(/ (+ (/ (sqrt (fma x1 (* x1 3) (* x2 2))) (sqrt (fma x1 x1 1))) (sqrt (+ 3 (/ x1 (fma x1 x1 1))))) (/ (/ (* (cbrt (fma x1 x1 1)) (cbrt (fma x1 x1 1))) 2) (* (cbrt (fma x1 (* x1 3) (- (* x2 2) x1))) (cbrt (fma x1 (* x1 3) (- (* x2 2) x1))))))
563.0ms
(fma (- (+ 3 (/ x1 (fma x1 x1 1)))) 1 (* (+ 3 (/ x1 (fma x1 x1 1))) 1))
549.0ms
(fma (- (+ 3 (/ x1 (fma x1 x1 1)))) 1 (* (+ 3 (/ x1 (fma x1 x1 1))) 1))

prune11.5s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 0.4b

localize59.0ms

Local error

Found 4 expressions with local error:

7.6b
(fma (fma 4 (/ (fma 3 (* x1 x1) (- (* x2 2) x1)) (fma x1 x1 1)) -6) (* x1 x1) (* 1 (/ (/ (- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1)))) (/ (fma x1 x1 1) (* 2 x1))) (/ 1 (fma x1 (* x1 3) (- (* x2 2) x1))))))
5.3b
(* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1)))
2.6b
(- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1))))
0.6b
(/ 3 (/ (fma x1 x1 1) (* x1 x1)))

rewrite35.0ms

Algorithm
rewrite-expression-head
Counts
4 → 126
Calls

4 calls. Slowest were:

22.0ms
(- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1))))
8.0ms
(* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1)))
1.0ms
(/ 3 (/ (fma x1 x1 1) (* x1 x1)))

series322.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

196.0ms
(fma (fma 4 (/ (fma 3 (* x1 x1) (- (* x2 2) x1)) (fma x1 x1 1)) -6) (* x1 x1) (* 1 (/ (/ (- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1)))) (/ (fma x1 x1 1) (* 2 x1))) (/ 1 (fma x1 (* x1 3) (- (* x2 2) x1))))))
53.0ms
(- (/ (fma x1 (* x1 3) (* x2 2)) (fma x1 x1 1)) (+ 3 (/ x1 (fma x1 x1 1))))
37.0ms
(/ 3 (/ (fma x1 x1 1) (* x1 x1)))
37.0ms
(* (/ 3 (/ (fma x1 x1 1) (* x1 x1))) (fma 3 (* x1 x1) (- (* x2 2) x1)))

simplify15.9s

Counts
133 → 138
Calls

133 calls. Slowest were:

553.0ms
(fma (- (+ 3 (/ x1 (fma x1 x1 1)))) 1 (* (+ 3 (/ x1 (fma x1 x1 1))) 1))
520.0ms
(fma (- (+ 3 (/ x1 (fma x1 x1 1)))) 1 (* (+ 3 (/ x1 (fma x1 x1 1))) 1))
482.0ms
(fma (- (+ 3 (/ x1 (fma x1 x1 1)))) 1 (* (+ 3 (/ x1 (fma x1 x1 1))) 1))

prune3.8s

Pruning

8 alts after pruning (6 fresh and 2 done)

Merged error: 0.4b

localize128.0ms

Local error

Found 4 expressions with local error:

5.3b
(* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))
5.3b
(* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))
3.8b
(+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))
2.6b
(- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)

rewrite278.0ms

Algorithm
rewrite-expression-head
Counts
4 → 116
Calls

4 calls. Slowest were:

120.0ms
(+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))
83.0ms
(- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)
46.0ms
(* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))

series272.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

160.0ms
(+ (* (* (* 2 x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))
42.0ms
(- (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)
41.0ms
(* (* x1 x1) (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6))
29.0ms
(* (* (* 3 x1) x1) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))

simplify14.6s

Counts
91 → 128
Calls

91 calls. Slowest were:

650.0ms
(+ (* (* (* (* 2 x1) (- (+ (* (* 3 x1) x1) (* 2 x2)) x1)) (- (pow (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3) (pow 3 3))) (+ (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)) (* (* (+ (* x1 x1) 1) (+ (* (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (+ (* 3 3) (* (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)))) (* (* x1 x1) (- (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* 6 6)))))
642.0ms
(+ (* (* (* (* 2 x1) (- (+ (* (* 3 x1) x1) (* 2 x2)) x1)) (- (* (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 3 3))) (+ (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)) (* (* (+ (* x1 x1) 1) (+ (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)) 3)) (* (* x1 x1) (- (* (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1)))) (* 6 6)))))
621.0ms
(+ (log (* x1 x1)) (log (- (* 4 (/ (- (+ (* (* 3 x1) x1) (* 2 x2)) x1) (+ (* x1 x1) 1))) 6)))

prune3.4s

Pruning

8 alts after pruning (6 fresh and 2 done)

Merged error: 0.3b

regimes491.0ms

Accuracy

0% (0.1b remaining)

Error of 0.5b against oracle of 0.4b and baseline of 0.5b

bsearch7.0ms

end0.0ms

sample9.1s

Algorithm
intervals