Details

Time bar (total: 4.1m)

sample7.4s

Algorithm
intervals
Results
7.2s1643×body10240exit
103.0ms256×body80valid

simplify348.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
347.0ms
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))

prune36.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.1b

localize70.0ms

Local error

Found 4 expressions with local error:

34.8b
(sin (fma y.im (log (hypot x.re x.im)) (* (atan2 x.im x.re) y.re)))
0.3b
(* y.re (log (hypot x.re x.im)))
0.2b
(* (atan2 x.im x.re) y.re)
0.2b
(* (atan2 x.im x.re) y.im)

rewrite61.0ms

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt
12×*-un-lft-identity add-cube-cbrt
11×pow1
10×add-cbrt-cube associate-*r* add-exp-log
associate-*l*
log-prod
expm1-log1p-u insert-posit16 log1p-expm1-u add-log-exp
distribute-rgt-in distribute-lft-in pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
sin-sum log-pow fma-udef
Counts
4 → 81
Calls
4 calls:
Slowest
23.0ms
(* (atan2 x.im x.re) y.re)
14.0ms
(* y.re (log (hypot x.re x.im)))
12.0ms
(* (atan2 x.im x.re) y.im)
7.0ms
(sin (fma y.im (log (hypot x.re x.im)) (* (atan2 x.im x.re) y.re)))

series338.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
185.0ms
(sin (fma y.im (log (hypot x.re x.im)) (* (atan2 x.im x.re) y.re)))
95.0ms
(* y.re (log (hypot x.re x.im)))
29.0ms
(* (atan2 x.im x.re) y.im)
28.0ms
(* (atan2 x.im x.re) y.re)

simplify1.7s

Counts
48 → 93
Calls
48 calls:
Slowest
345.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.re y.re) y.re))
300.0ms
(* (* (* y.re y.re) y.re) (* (* (log (hypot x.re x.im)) (log (hypot x.re x.im))) (log (hypot x.re x.im))))
286.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.im y.im) y.im))
141.0ms
(sin (- (* (atan2 x.im x.re) y.re) (* y.im (log (/ -1 x.re)))))
125.0ms
(* -1 (* y.re (log (/ -1 x.re))))

prune1.6s

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.1b

localize74.0ms

Local error

Found 4 expressions with local error:

34.8b
(sin (- (* (atan2 x.im x.re) y.re) (* y.im (log (/ -1 x.re)))))
0.3b
(* y.re (log (hypot x.re x.im)))
0.3b
(* y.im (log (/ -1 x.re)))
0.2b
(* (atan2 x.im x.re) y.re)

rewrite56.0ms

Algorithm
rewrite-expression-head
Rules
32×add-sqr-sqrt log-prod
26×*-un-lft-identity add-cube-cbrt
18×times-frac
16×distribute-rgt-in distribute-lft-in
12×pow1
11×associate-*r*
10×add-cbrt-cube add-exp-log
associate-*l*
expm1-log1p-u insert-posit16 log1p-expm1-u add-log-exp
sin-sum pow-prod-down prod-exp *-commutative cbrt-unprod unswap-sqr
log-pow div-inv
sub-neg prod-diff sin-diff
Counts
4 → 111
Calls
4 calls:
Slowest
28.0ms
(sin (- (* (atan2 x.im x.re) y.re) (* y.im (log (/ -1 x.re)))))
9.0ms
(* y.im (log (/ -1 x.re)))
7.0ms
(* (atan2 x.im x.re) y.re)
6.0ms
(* y.re (log (hypot x.re x.im)))

series331.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
164.0ms
(sin (- (* (atan2 x.im x.re) y.re) (* y.im (log (/ -1 x.re)))))
91.0ms
(* y.re (log (hypot x.re x.im)))
56.0ms
(* y.im (log (/ -1 x.re)))
20.0ms
(* (atan2 x.im x.re) y.re)

simplify3.9s

Counts
79 → 123
Calls
79 calls:
Slowest
366.0ms
(* (sin (fma (atan2 x.im x.re) y.re (- (* (log (/ -1 x.re)) y.im)))) (cos (fma (- (log (/ -1 x.re))) y.im (* (log (/ -1 x.re)) y.im))))
328.0ms
(* (* (* y.re y.re) y.re) (* (* (log (hypot x.re x.im)) (log (hypot x.re x.im))) (log (hypot x.re x.im))))
284.0ms
(* (* (* (atan2 x.im x.re) (atan2 x.im x.re)) (atan2 x.im x.re)) (* (* y.re y.re) y.re))
253.0ms
(sin (- (* (atan2 x.im x.re) y.re) (+ (* y.im (log -1)) (* y.im (log (/ 1 x.re))))))
167.0ms
(* (* (* y.im y.im) y.im) (* (* (log (/ -1 x.re)) (log (/ -1 x.re))) (log (/ -1 x.re))))

prune2.1s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.0b

localize91.0ms

Local error

Found 4 expressions with local error:

34.8b
(sin (- (* (atan2 x.im x.re) y.re) (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))))
0.6b
(cbrt (/ -1 x.re))
0.6b
(cbrt (/ -1 x.re))
0.6b
(cbrt (/ -1 x.re))

rewrite66.0ms

Algorithm
rewrite-expression-head
Rules
39×cbrt-prod
27×times-frac
26×add-sqr-sqrt *-un-lft-identity add-cube-cbrt
sin-sum
expm1-log1p-u pow1 add-cbrt-cube prod-diff add-exp-log insert-posit16 log1p-expm1-u add-log-exp
cbrt-div pow1/3 div-inv
sub-neg sin-diff distribute-lft-out
Counts
4 → 92
Calls
4 calls:
Slowest
61.0ms
(sin (- (* (atan2 x.im x.re) y.re) (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))))
1.0ms
(cbrt (/ -1 x.re))
1.0ms
(cbrt (/ -1 x.re))
1.0ms
(cbrt (/ -1 x.re))

series1.5s

Counts
4 → 12
Calls
4 calls:
Slowest
641.0ms
(sin (- (* (atan2 x.im x.re) y.re) (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))))
327.0ms
(cbrt (/ -1 x.re))
286.0ms
(cbrt (/ -1 x.re))
263.0ms
(cbrt (/ -1 x.re))

simplify3.9s

Counts
61 → 104
Calls
61 calls:
Slowest
323.0ms
(* (sin (fma (atan2 x.im x.re) y.re (- (* (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re))))) 1)))) (cos (fma (- (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))) 1 (* (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re))))) 1))))
301.0ms
(* (sin (fma (atan2 x.im x.re) y.re (- (* (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))) (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))))))) (cos (fma (- (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re))))))) (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))) (* (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))) (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re))))))))))
271.0ms
(sin (- (* (atan2 x.im x.re) y.re) (+ (* y.im (log (pow (/ -1 x.re) 2/3))) (* y.im (log (pow (/ -1 x.re) 1/3))))))
261.0ms
(* (sin (fma (atan2 x.im x.re) y.re (- (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))) (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))) (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re))))))))))) (cos (fma (- (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re))))))) (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))) (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re))))))) (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))) (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))) (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (cbrt (/ -1 x.re)))))))))))
259.0ms
(* (sin (fma (atan2 x.im x.re) y.re (- (* (+ (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re)))) (log (cbrt (/ -1 x.re)))) y.im)))) (cos (fma (- (+ (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re)))) (log (cbrt (/ -1 x.re))))) y.im (* (+ (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re)))) (log (cbrt (/ -1 x.re)))) y.im))))

prune2.4s

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.0b

localize117.0ms

Local error

Found 4 expressions with local error:

34.8b
(sin (- (* (atan2 x.im x.re) y.re) (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))))
4.9b
(pow (/ -1 x.re) 1/3)
0.6b
(cbrt (/ -1 x.re))
0.6b
(cbrt (/ -1 x.re))

rewrite74.0ms

Algorithm
rewrite-expression-head
Rules
27×add-sqr-sqrt *-un-lft-identity times-frac add-cube-cbrt
26×cbrt-prod
13×unpow-prod-down
add-exp-log
sin-sum
pow1
expm1-log1p-u add-cbrt-cube prod-diff insert-posit16 log1p-expm1-u add-log-exp
pow-unpow div-inv
cbrt-div pow1/3 pow-exp
pow-to-exp sub-neg pow-pow unpow1/3 div-exp sin-diff distribute-lft-out sqr-pow
Counts
4 → 99
Calls
4 calls:
Slowest
66.0ms
(sin (- (* (atan2 x.im x.re) y.re) (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))))
4.0ms
(pow (/ -1 x.re) 1/3)
1.0ms
(cbrt (/ -1 x.re))
1.0ms
(cbrt (/ -1 x.re))

series1.6s

Counts
4 → 12
Calls
4 calls:
Slowest
899.0ms
(sin (- (* (atan2 x.im x.re) y.re) (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))))
248.0ms
(cbrt (/ -1 x.re))
233.0ms
(cbrt (/ -1 x.re))
225.0ms
(pow (/ -1 x.re) 1/3)

simplify5.9s

Counts
65 → 111
Calls
65 calls:
Slowest
369.0ms
(exp (* 1/3 (+ (log (/ 1 x.re)) (log -1))))
327.0ms
(sin (- (* (atan2 x.im x.re) y.re) (+ (* y.im (log (pow (/ -1 x.re) 2/3))) (* y.im (log (pow (/ -1 x.re) 1/3))))))
317.0ms
(* (sin (fma (atan2 x.im x.re) y.re (- (* (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))) (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))))))) (cos (fma (- (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3)))))) (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))) (* (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))) (sqrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3)))))))))
306.0ms
(* (sin (fma (atan2 x.im x.re) y.re (- (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))) (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))) (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3)))))))))) (cos (fma (- (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3)))))) (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))) (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3)))))) (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))) (* (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))) (cbrt (+ (* y.im (log (* (cbrt (/ -1 x.re)) (cbrt (/ -1 x.re))))) (* y.im (log (pow (/ -1 x.re) 1/3))))))))))
296.0ms
(pow (/ (* (cbrt -1) (cbrt -1)) (* (cbrt x.re) (cbrt x.re))) 1/3)

prune2.4s

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.0b

regimes403.0ms

Accuracy

0% (0.0b remaining)

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

bsearch3.0ms

end0.0ms

sample3.5m

Algorithm
intervals
Results
3.4m47965×body10240exit
3.4s8000×body80valid