Details

Time bar (total: 45.3s)

sample58.0ms

Algorithm
intervals
Results
45.0ms473×body80valid

simplify278.0ms

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

prune12.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 5.3b

localize47.0ms

Local error

Found 4 expressions with local error:

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

rewrite82.0ms

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt associate-*l/
pow1 *-un-lft-identity add-cbrt-cube add-exp-log add-cube-cbrt add-log-exp
associate-*l*
associate-*r*
flip3-+ flip-+
expm1-log1p-u frac-add insert-posit16 log1p-expm1-u
flip3-- flip--
+-commutative sum-log fma-def pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
difference-of-squares
Counts
4 → 81
Calls
4 calls:
Slowest
24.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.re)
23.0ms
(* (- (* x.re x.re) (* x.im x.im)) x.im)
21.0ms
(+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re))
12.0ms
(+ (* x.re x.im) (* x.im x.re))

series208.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
86.0ms
(+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.re))
67.0ms
(* (- (* x.re x.re) (* x.im x.im)) x.im)
30.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.re)
25.0ms
(+ (* x.re x.im) (* x.im x.re))

simplify8.5s

Counts
46 → 93
Calls
46 calls:
Slowest
1.6s
(* (+ (* (* x.re x.re) (* x.re x.re)) (+ (* (* x.im x.im) (* x.im x.im)) (* (* x.re x.re) (* x.im x.im)))) (- (* x.re x.im) (* x.im x.re)))
533.0ms
(+ (* (* (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))) x.im) (+ (* (* x.re x.im) (* x.re x.im)) (- (* (* x.im x.re) (* x.im x.re)) (* (* x.re x.im) (* x.im x.re))))) (* (+ (* x.re x.re) (* x.im x.im)) (* (+ (pow (* x.re x.im) 3) (pow (* x.im x.re) 3)) x.re)))
458.0ms
(* (- (* x.re x.re) (* x.im x.im)) x.im)
427.0ms
(- (* 3 (* x.im (pow x.re 2))) (pow x.im 3))
404.0ms
(- (* 3 (* x.im (pow x.re 2))) (pow x.im 3))

prune911.0ms

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 0.1b

localize26.0ms

Local error

Found 4 expressions with local error:

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

rewrite176.0ms

Algorithm
rewrite-expression-head
Rules
44×associate-*l/
19×flip3-+ flip-+
16×frac-add
15×add-sqr-sqrt
13×pow1 *-un-lft-identity add-cbrt-cube add-exp-log
12×frac-times associate-*l*
10×flip3-- flip--
add-cube-cbrt
associate-*r*
associate-*r/ add-log-exp
pow-prod-down prod-exp cbrt-unprod
expm1-log1p-u insert-posit16 log1p-expm1-u
*-commutative
unswap-sqr
+-commutative sum-log fma-def distribute-lft-out distribute-lft-out-- difference-of-squares
Counts
4 → 109
Calls
4 calls:
Slowest
73.0ms
(* (+ x.re x.im) (* (- x.re x.im) x.im))
62.0ms
(+ (* (+ x.re x.im) (* (- x.re x.im) x.im)) (* (+ (* x.re x.im) (* x.im x.re)) x.re))
21.0ms
(* (- x.re x.im) x.im)
18.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.re)

series308.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
108.0ms
(* (+ x.re x.im) (* (- x.re x.im) x.im))
103.0ms
(+ (* (+ x.re x.im) (* (- x.re x.im) x.im)) (* (+ (* x.re x.im) (* x.im x.re)) x.re))
60.0ms
(* (- x.re x.im) x.im)
37.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.re)

simplify19.6s

Counts
89 → 121
Calls
89 calls:
Slowest
1.4s
(* (* (- x.re x.im) (+ x.re x.im)) (- (* x.re x.im) (* x.im x.re)))
695.0ms
(* (+ (* x.re x.re) (+ (* x.im x.im) (* x.re x.im))) (- (* x.re x.im) (* x.im x.re)))
633.0ms
(* (- (* x.re x.re) (* x.im x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.im))
627.0ms
(- (* x.im (pow x.re 2)) (pow x.im 3))
559.0ms
(* (* (+ (* x.re x.re) (- (* x.im x.im) (* x.re x.im))) (+ (* x.re x.re) (+ (* x.im x.im) (* x.re x.im)))) (+ (* (* x.re x.im) (* x.re x.im)) (- (* (* x.im x.re) (* x.im x.re)) (* (* x.re x.im) (* x.im x.re)))))

prune1.2s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 0.0b

localize37.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt (+ x.re x.im))
0.6b
(cbrt (+ x.re x.im))
0.6b
(cbrt (+ x.re x.im))
0.5b
(* (cbrt (+ x.re x.im)) (cbrt (+ x.re x.im)))

rewrite48.0ms

Algorithm
rewrite-expression-head
Rules
36×cbrt-prod
35×*-un-lft-identity
23×add-sqr-sqrt
18×cbrt-div
15×add-cube-cbrt
11×pow1
flip3-+ pow1/3 swap-sqr flip-+ distribute-lft-out
associate-*r* associate-*l*
add-exp-log
expm1-log1p-u frac-times add-cbrt-cube insert-posit16 log1p-expm1-u add-log-exp unswap-sqr
pow-prod-down associate-*l/ associate-*r/ pow-sqr pow-prod-up
pow2 pow-plus prod-exp *-commutative cbrt-unprod
Counts
4 → 107
Calls
4 calls:
Slowest
32.0ms
(* (cbrt (+ x.re x.im)) (cbrt (+ x.re x.im)))
5.0ms
(cbrt (+ x.re x.im))
5.0ms
(cbrt (+ x.re x.im))
5.0ms
(cbrt (+ x.re x.im))

series829.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
265.0ms
(* (cbrt (+ x.re x.im)) (cbrt (+ x.re x.im)))
203.0ms
(cbrt (+ x.re x.im))
199.0ms
(cbrt (+ x.re x.im))
162.0ms
(cbrt (+ x.re x.im))

simplify4.5s

Counts
94 → 119
Calls
94 calls:
Slowest
438.0ms
(- (+ (pow x.im 2/3) (* 2/3 (* (pow (/ 1 x.im) 1/3) x.re))) (* 1/9 (* (pow (/ 1 (pow x.im 4)) 1/3) (pow x.re 2))))
351.0ms
(* (cbrt (+ (pow x.re 3) (pow x.im 3))) (cbrt (+ x.re x.im)))
275.0ms
(* (cbrt (+ (pow x.re 3) (pow x.im 3))) (cbrt (+ (pow x.re 3) (pow x.im 3))))
269.0ms
(* (cbrt (- (* x.re x.re) (* x.im x.im))) (cbrt (+ (pow x.re 3) (pow x.im 3))))
203.0ms
(* (cbrt (+ (pow x.re 3) (pow x.im 3))) (cbrt (- (* x.re x.re) (* x.im x.im))))

prune1.6s

Pruning

10 alts after pruning (8 fresh and 2 done)

Merged error: 0.0b

localize24.0ms

Local error

Found 4 expressions with local error:

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

rewrite54.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt add-log-exp
pow1 *-un-lft-identity add-cbrt-cube add-exp-log add-cube-cbrt
expm1-log1p-u insert-posit16 log1p-expm1-u
associate-*r* associate-*l*
flip3-+ associate-*l/ flip-+
+-commutative sum-log sub-neg fma-def flip3-- fma-neg diff-log prod-diff pow-prod-down prod-exp *-commutative cbrt-unprod fma-udef flip-- difference-of-squares unswap-sqr
Counts
4 → 67
Calls
4 calls:
Slowest
33.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.re)
12.0ms
(- (* x.re x.re) (* x.im x.im))
7.0ms
(+ (* x.re x.im) (* x.im x.re))
1.0ms
(fma (- (* x.re x.re) (* x.im x.im)) x.im (* (+ (* x.re x.im) (* x.im x.re)) x.re))

series250.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
138.0ms
(fma (- (* x.re x.re) (* x.im x.im)) x.im (* (+ (* x.re x.im) (* x.im x.re)) x.re))
40.0ms
(- (* x.re x.re) (* x.im x.im))
36.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.re)
36.0ms
(+ (* x.re x.im) (* x.im x.re))

simplify2.8s

Counts
29 → 79
Calls
29 calls:
Slowest
423.0ms
(- (* 3 (* x.im (pow x.re 2))) (pow x.im 3))
417.0ms
(- (* 3 (* x.im (pow x.re 2))) (pow x.im 3))
378.0ms
(- (* 3 (* x.im (pow x.re 2))) (pow x.im 3))
312.0ms
(* (+ (pow (* x.re x.im) 3) (pow (* x.im x.re) 3)) x.re)
236.0ms
(* (- (* (* x.re x.im) (* x.re x.im)) (* (* x.im x.re) (* x.im x.re))) x.re)

prune693.0ms

Pruning

10 alts after pruning (7 fresh and 3 done)

Merged error: 0.0b

regimes189.0ms

Accuracy

0% (0.2b remaining)

Error of 0.3b against oracle of 0.1b and baseline of 0.3b

bsearch3.0ms

end0.0ms

sample3.0s

Algorithm
intervals
Results
2.6s14528×body80valid