Details

Time bar (total: 1.1m)

sample92.0ms

Algorithm
intervals
Results
78.0ms429×body80valid

simplify379.0ms

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

prune8.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 5.9b

localize18.0ms

Local error

Found 4 expressions with local error:

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

rewrite310.0ms

Algorithm
rewrite-expression-head
Rules
20×add-log-exp
15×prod-diff
13×add-sqr-sqrt distribute-lft-out
*-un-lft-identity add-cube-cbrt
distribute-rgt-in sum-log distribute-lft-in
pow1 add-cbrt-cube add-exp-log
distribute-rgt-out
expm1-log1p-u associate-*r* insert-posit16 log1p-expm1-u
sub-neg diff-log associate-*l*
+-commutative fma-def flip3-+ flip3-- associate-*r/ flip-+ flip-- difference-of-squares
associate-+r+ fma-neg pow-prod-down prod-exp *-commutative cbrt-unprod associate--r+ unswap-sqr
Counts
4 → 99
Calls
4 calls:
Slowest
239.0ms
(* x.re (- (* x.re x.re) (+ (* x.im x.im) (+ (* x.im x.im) (* x.im x.im)))))
46.0ms
(- (* x.re x.re) (+ (* x.im x.im) (+ (* x.im x.im) (* x.im x.im))))
16.0ms
(+ (* x.im x.im) (+ (* x.im x.im) (* x.im x.im)))
8.0ms
(+ (* x.im x.im) (* x.im x.im))

series220.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
73.0ms
(* x.re (- (* x.re x.re) (+ (* x.im x.im) (+ (* x.im x.im) (* x.im x.im)))))
51.0ms
(- (* x.re x.re) (+ (* x.im x.im) (+ (* x.im x.im) (* x.im x.im))))
50.0ms
(+ (* x.im x.im) (+ (* x.im x.im) (* x.im x.im)))
46.0ms
(+ (* x.im x.im) (* x.im x.im))

simplify15.4s

Counts
63 → 111
Calls
63 calls:
Slowest
827.0ms
(fma (- (+ (* x.im x.im) (+ (* x.im x.im) (* x.im x.im)))) 1 (* (+ (* x.im x.im) (+ (* x.im x.im) (* x.im x.im))) 1))
793.0ms
(/ (exp (* x.re x.re)) (* (exp (* x.im x.im)) (exp (+ (* x.im x.im) (* x.im x.im)))))
710.0ms
(+ (log x.re) (log (- (* x.re x.re) (+ (* x.im x.im) (+ (* x.im x.im) (* x.im x.im))))))
706.0ms
(* (exp (* x.im x.im)) (exp (+ (* x.im x.im) (* x.im x.im))))
621.0ms
(/ (exp (* x.re x.re)) (* (exp (* x.im x.im)) (* (exp (* x.im x.im)) (exp (* x.im x.im)))))

prune1.0s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 5.9b

localize20.0ms

Local error

Found 4 expressions with local error:

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

rewrite83.0ms

Algorithm
rewrite-expression-head
Rules
13×add-sqr-sqrt
*-un-lft-identity prod-diff add-cube-cbrt
add-log-exp
pow1 add-cbrt-cube add-exp-log
distribute-rgt-in distribute-lft-in
expm1-log1p-u associate-*r* insert-posit16 log1p-expm1-u
sub-neg associate-*l*
flip3-- associate-*r/ fma-udef flip-- difference-of-squares
+-commutative sum-log fma-def flip3-+ distribute-rgt-out fma-neg diff-log pow-prod-down prod-exp *-commutative cbrt-unprod flip-+ distribute-lft-out associate--r+ unswap-sqr
Counts
4 → 83
Calls
4 calls:
Slowest
49.0ms
(* x.re (- (* x.re x.re) (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))))
16.0ms
(- (* x.re x.re) (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))
15.0ms
(+ (* x.im x.im) (* x.im x.im))
0.0ms
(fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))

series313.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
97.0ms
(* x.re (- (* x.re x.re) (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))))
83.0ms
(fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))
69.0ms
(- (* x.re x.re) (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))
64.0ms
(+ (* x.im x.im) (* x.im x.im))

simplify9.0s

Counts
48 → 95
Calls
48 calls:
Slowest
1.1s
(* (* (* x.re x.re) x.re) (* (* (- (* x.re x.re) (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (- (* x.re x.re) (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))) (- (* x.re x.re) (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))))
395.0ms
(- (pow x.re 3) (* 3 (* (pow x.im 2) x.re)))
391.0ms
(fma (- (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))) (* (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))) (* (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (* (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))))))
389.0ms
(* (fma (- (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))) (* (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))) (* (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (* (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))))) x.re)
370.0ms
(* x.re (fma (- (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))) (* (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))) (* (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (* (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im)))) (cbrt (fma x.im x.im (+ (* x.im x.im) (* x.im x.im))))))))

prune909.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 5.9b

localize25.0ms

Local error

Found 4 expressions with local error:

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

rewrite115.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-sub insert-posit16 log1p-expm1-u
flip3-+ flip-+
sub-neg fma-neg diff-log prod-diff pow-prod-down prod-exp *-commutative cbrt-unprod difference-of-squares unswap-sqr
Counts
4 → 86
Calls
4 calls:
Slowest
44.0ms
(* (- (* x.re x.re) (* x.im x.im)) x.re)
35.0ms
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
27.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.im)
8.0ms
(- (* x.re x.re) (* x.im x.im))

series202.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
63.0ms
(- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
57.0ms
(* (- (* x.re x.re) (* x.im x.im)) x.re)
44.0ms
(- (* x.re x.re) (* x.im x.im))
37.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.im)

simplify9.3s

Counts
52 → 98
Calls
52 calls:
Slowest
1.5s
(* (+ (* (* 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)))
883.0ms
(fma (- x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.im (+ (* x.re x.im) (* x.im x.re))))
562.0ms
(- (* (* (- (* (* x.re x.re) (* x.re x.re)) (* (* x.im x.im) (* x.im x.im))) x.re) (+ (* (* 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.im)))
390.0ms
(fma (- (* x.re x.re) (* x.im x.im)) x.re (- (* x.im (+ (* x.re x.im) (* x.im x.re)))))
368.0ms
(- (pow x.re 3) (* 3 (* (pow x.im 2) x.re)))

prune855.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

localize36.0ms

Local error

Found 4 expressions with local error:

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

rewrite177.0ms

Algorithm
rewrite-expression-head
Rules
42×associate-*l/
19×flip3-+ flip-+
16×frac-sub
12×frac-times
11×pow1 add-cbrt-cube add-exp-log
10×flip3-- flip--
add-sqr-sqrt *-un-lft-identity
add-log-exp
associate-*l* add-cube-cbrt
associate-*r/
expm1-log1p-u associate-*r* pow-prod-down prod-exp cbrt-unprod insert-posit16 log1p-expm1-u
*-commutative
+-commutative sum-log sub-neg fma-def fma-neg diff-log prod-diff distribute-lft-out unswap-sqr
Counts
4 → 101
Calls
4 calls:
Slowest
83.0ms
(- (* (+ x.re x.im) (* (- x.re x.im) x.re)) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
51.0ms
(* (+ x.re x.im) (* (- x.re x.im) x.re))
35.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.im)
7.0ms
(+ (* x.re x.im) (* x.im x.re))

series233.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
92.0ms
(* (+ x.re x.im) (* (- x.re x.im) x.re))
69.0ms
(- (* (+ x.re x.im) (* (- x.re x.im) x.re)) (* (+ (* x.re x.im) (* x.im x.re)) x.im))
37.0ms
(+ (* x.re x.im) (* x.im x.re))
35.0ms
(* (+ (* x.re x.im) (* x.im x.re)) x.im)

simplify20.7s

Counts
80 → 113
Calls
80 calls:
Slowest
1.3s
(* (* (- x.re x.im) (+ x.re x.im)) (- (* x.re x.im) (* x.im x.re)))
985.0ms
(- (* (* (- (* x.re x.re) (* x.im x.im)) (* (- x.re x.im) x.re)) (+ (* (* 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.im) (* (+ (pow (* x.re x.im) 3) (pow (* x.im x.re) 3)) x.im)))
901.0ms
(- (* (* (- (* x.re x.re) (* x.im x.im)) (* (- (pow x.re 3) (pow x.im 3)) x.re)) (- (* x.re x.im) (* x.im x.re))) (* (* (- 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.im)))
753.0ms
(* (+ (* x.re x.re) (+ (* x.im x.im) (* x.re x.im))) (- (* x.re x.im) (* x.im x.re)))
737.0ms
(- (* (* (+ (pow x.re 3) (pow x.im 3)) (* (- (pow x.re 3) (pow x.im 3)) x.re)) (- (* x.re x.im) (* x.im x.re))) (* (* (+ (* 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.im)))

prune1.0s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

regimes137.0ms

Accuracy

0% (0.1b remaining)

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

bsearch4.0ms

end0.0ms

sample2.4s

Algorithm
intervals
Results
2.1s14245×body80valid