Details

Time bar (total: 2.0m)

sample57.0ms

Algorithm
intervals
Results
44.0ms470×body80valid

simplify419.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
419.0ms
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))

prune9.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.2b

localize27.0ms

Local error

Found 3 expressions with local error:

0.2b
(* (* x.re x.im) (+ x.im (+ x.im x.im)))
0.1b
(* x.re (* x.re x.re))
0.0b
(- (* x.re (* x.re x.re)) (* (* x.re x.im) (+ x.im (+ x.im x.im))))

rewrite142.0ms

Algorithm
rewrite-expression-head
Rules
22×pow1
16×*-un-lft-identity
13×add-cbrt-cube associate-*r* add-exp-log
12×add-sqr-sqrt
add-cube-cbrt distribute-lft-out
pow-prod-down prod-exp cbrt-unprod
pow-prod-up add-log-exp
associate-*l* distribute-rgt1-in
expm1-log1p-u distribute-rgt-out insert-posit16 log1p-expm1-u
distribute-rgt-in distribute-lft-in distribute-lft1-in associate-*r/ *-commutative associate--r+
pow2 sub-neg flip3-+ pow-plus flip3-- fma-neg diff-log cube-unmult prod-diff pow-sqr flip-+ flip-- unswap-sqr
Counts
3 → 80
Calls
3 calls:
Slowest
63.0ms
(- (* x.re (* x.re x.re)) (* (* x.re x.im) (+ x.im (+ x.im x.im))))
55.0ms
(* (* x.re x.im) (+ x.im (+ x.im x.im)))
22.0ms
(* x.re (* x.re x.re))

series154.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
62.0ms
(- (* x.re (* x.re x.re)) (* (* x.re x.im) (+ x.im (+ x.im x.im))))
49.0ms
(* (* x.re x.im) (+ x.im (+ x.im x.im)))
42.0ms
(* x.re (* x.re x.re))

simplify14.2s

Counts
92 → 89
Calls
92 calls:
Slowest
970.0ms
(* (* (- (* x.re (* x.re x.re)) (* (* x.re x.im) (+ x.im (+ x.im x.im)))) (- (* x.re (* x.re x.re)) (* (* x.re x.im) (+ x.im (+ x.im x.im))))) (- (* x.re (* x.re x.re)) (* (* x.re x.im) (+ x.im (+ x.im x.im)))))
622.0ms
(* (* (* x.re x.re) x.re) (* (* (* x.re x.re) x.re) (* (* x.re x.re) x.re)))
503.0ms
(* (* (* x.re (* x.re x.re)) (* x.re (* x.re x.re))) (* x.re (* x.re x.re)))
470.0ms
(* (* (* x.re x.re) x.re) (* (* (* x.re x.re) (* x.re x.re)) (* x.re x.re)))
451.0ms
(+ (* (* x.re (* x.re x.re)) (* x.re (* x.re x.re))) (+ (* (* (* x.re x.im) (+ x.im (+ x.im x.im))) (* (* x.re x.im) (+ x.im (+ x.im x.im)))) (* (* x.re (* x.re x.re)) (* (* x.re x.im) (+ x.im (+ x.im x.im))))))

prune1.1s

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 0.0b

localize38.0ms

Local error

Found 2 expressions with local error:

0.2b
(* (* x.re x.im) (+ x.im (+ x.im x.im)))
0.0b
(- (pow x.re 3) (* (* x.re x.im) (+ x.im (+ x.im x.im))))

rewrite92.0ms

Algorithm
rewrite-expression-head
Rules
20×*-un-lft-identity
15×add-sqr-sqrt
12×fma-neg associate-*r* prod-diff add-cube-cbrt
distribute-lft-out
pow1 add-cbrt-cube add-exp-log
unpow-prod-down cube-prod
distribute-rgt1-in add-log-exp
distribute-rgt-out pow-prod-down prod-exp cbrt-unprod
distribute-rgt-in expm1-log1p-u cube-mult distribute-lft-in distribute-lft1-in unpow3 associate-*r/ insert-posit16 log1p-expm1-u associate--r+ sqr-pow
sub-neg flip3-+ flip3-- diff-log associate-*l* *-commutative flip-+ flip--
Counts
2 → 75
Calls
2 calls:
Slowest
52.0ms
(* (* x.re x.im) (+ x.im (+ x.im x.im)))
39.0ms
(- (pow x.re 3) (* (* x.re x.im) (+ x.im (+ x.im x.im))))

series101.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
67.0ms
(- (pow x.re 3) (* (* x.re x.im) (+ x.im (+ x.im x.im))))
34.0ms
(* (* x.re x.im) (+ x.im (+ x.im x.im)))

simplify19.6s

Counts
96 → 81
Calls
96 calls:
Slowest
586.0ms
(+ (* (pow x.re 3) (pow x.re 3)) (+ (* (* (* x.re x.im) (+ x.im (+ x.im x.im))) (* (* x.re x.im) (+ x.im (+ x.im x.im)))) (* (pow x.re 3) (* (* x.re x.im) (+ x.im (+ x.im x.im))))))
436.0ms
(- (pow (pow x.re 3) 3) (pow (* (* x.re x.im) (+ x.im (+ x.im x.im))) 3))
422.0ms
(- (* (* x.re x.im) (+ x.im (+ x.im x.im))))
422.0ms
(- (* (* x.re x.im) (+ x.im (+ x.im x.im))))
417.0ms
(- (* (* x.re x.im) (+ x.im (+ x.im x.im))))

prune736.0ms

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.0b

localize15.0ms

Local error

Found 3 expressions with local error:

0.3b
(* 3 (* x.re x.im))
0.2b
(* (* 3 (* x.re x.im)) x.im)
0.0b
(- (pow x.re 3) (* (* 3 (* x.re x.im)) x.im))

rewrite122.0ms

Algorithm
rewrite-expression-head
Rules
17×pow1 add-cbrt-cube add-exp-log
12×fma-neg prod-diff
11×add-sqr-sqrt *-un-lft-identity add-cube-cbrt
pow-prod-down prod-exp cbrt-unprod
unpow-prod-down cube-prod
add-log-exp
associate-*r* associate-*l*
expm1-log1p-u insert-posit16 log1p-expm1-u
cube-mult unpow3 *-commutative sqr-pow
sub-neg flip3-- diff-log flip--
Counts
3 → 84
Calls
3 calls:
Slowest
49.0ms
(* (* 3 (* x.re x.im)) x.im)
45.0ms
(- (pow x.re 3) (* (* 3 (* x.re x.im)) x.im))
26.0ms
(* 3 (* x.re x.im))

series163.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
82.0ms
(- (pow x.re 3) (* (* 3 (* x.re x.im)) x.im))
50.0ms
(* (* 3 (* x.re x.im)) x.im)
31.0ms
(* 3 (* x.re x.im))

simplify19.4s

Counts
105 → 93
Calls
105 calls:
Slowest
779.0ms
(fma (pow 1 3) (pow x.re 3) (- (* x.im (* 3 (* x.re x.im)))))
619.0ms
(* (* (- (pow x.re 3) (* (* 3 (* x.re x.im)) x.im)) (- (pow x.re 3) (* (* 3 (* x.re x.im)) x.im))) (- (pow x.re 3) (* (* 3 (* x.re x.im)) x.im)))
613.0ms
(* (* (* 3 3) 3) (* (* (* x.re x.im) (* x.re x.im)) (* x.re x.im)))
552.0ms
(* (* (* 3 (* x.re x.im)) (* 3 (* x.re x.im))) (* 3 (* x.re x.im)))
476.0ms
(fma (pow (sqrt x.re) 3) (pow (sqrt x.re) 3) (- (* x.im (* 3 (* x.re x.im)))))

prune811.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0b

localize37.0ms

Local error

Found 4 expressions with local error:

0.2b
(+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))
0.2b
(* (* x.re x.im) x.im)
0.2b
(* (* x.re x.im) (+ x.im x.im))
0.0b
(- (pow x.re 3) (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im))))

rewrite202.0ms

Algorithm
rewrite-expression-head
Rules
48×prod-diff
44×add-sqr-sqrt
41×*-un-lft-identity
37×add-cube-cbrt
16×unpow-prod-down cube-prod distribute-lft-out
14×pow1 add-cbrt-cube associate-*r* add-exp-log
12×fma-neg
11×add-log-exp
pow-prod-down prod-exp cbrt-unprod sqr-pow
cube-mult unpow3
expm1-log1p-u insert-posit16 log1p-expm1-u difference-of-squares
distribute-rgt-out
distribute-rgt-in associate-+r+ sum-log distribute-lft-in flip3-+ diff-log associate-*l* associate-*r/ *-commutative flip-+
+-commutative sub-neg fma-def distribute-lft1-in flip3-- distribute-rgt1-in flip-- associate--r+ distribute-lft-out--
Counts
4 → 154
Calls
4 calls:
Slowest
88.0ms
(- (pow x.re 3) (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im))))
47.0ms
(* (* x.re x.im) (+ x.im x.im))
34.0ms
(+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))
29.0ms
(* (* x.re x.im) x.im)

series222.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
91.0ms
(- (pow x.re 3) (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im))))
53.0ms
(* (* x.re x.im) (+ x.im x.im))
45.0ms
(+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))
32.0ms
(* (* x.re x.im) x.im)

simplify58.4s

Counts
220 → 166
Calls
220 calls:
Slowest
862.0ms
(* (* (- (pow x.re 3) (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))) (- (pow x.re 3) (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im))))) (- (pow x.re 3) (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))))
839.0ms
(fma (* x.re x.re) x.re (- (* (sqrt (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))) (sqrt (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))))))
793.0ms
(* (* (* (* x.re x.im) (* x.re x.im)) (* x.re x.im)) (* (* x.im x.im) x.im))
787.0ms
(fma (- (sqrt (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im))))) (sqrt (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))) (* (sqrt (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))) (sqrt (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im))))))
682.0ms
(fma (- (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im)))) 1 (* (+ (* (* x.re x.im) x.im) (* (* x.re x.im) (+ x.im x.im))) 1))

prune1.4s

Pruning

5 alts after pruning (3 fresh and 2 done)

Merged error: 0b

regimes103.0ms

Accuracy

0% (0.1b remaining)

Error of 0.2b against oracle of 0.0b and baseline of 0.2b

bsearch2.0ms

end0.0ms

sample2.8s

Algorithm
intervals
Results
2.4s14357×body80valid