Details

Time bar (total: 1.2min)

analyze12.9s (18.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
6.2%93.5%0.2%11
6.2%93.5%0.2%12
7.8%92%0.2%13
8.6%91.2%0.2%14
Compiler

Compiled 115 to 84 computations (27% saved)

sample47.6s (68%)

Results
12.3s1442×body4096valid
9.3s1808×body2048valid
7.3s854×body4096invalid
6.1s1149×body2048invalid
3.0s835×body1024valid
2.9s3546×body128valid
2.5s692×body1024invalid
1.1s59×body8192valid
869.0ms384×body512valid
772.0ms1075×body128invalid
601.0ms269×body512invalid
482.0ms25×body8192invalid
260.0ms182×body256valid
205.0ms134×body256invalid
Compiler

Compiled 344 to 251 computations (27% saved)

simplify22.0ms (0%)

Algorithm
egg-herbie
Rules
545×associate-/l/_binary64
526×associate-/r/_binary64
263×distribute-rgt-in_binary64
260×distribute-lft-in_binary64
157×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
040175
1104173
2339173
31688170
Stop Event
node limit
Counts
1 → 2

prune11.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
39.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
39.4b
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))
45.4b
(fma.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale)) (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 x-scale x-scale)) -4) (*.f64 (/.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) x-scale) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale)))
Compiler

Compiled 670 to 462 computations (31% saved)

localize42.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
10.6b
(/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale)
26.6b
(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
26.8b
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
28.8b
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))

series2.1s (3%)

Counts
4 → 132
Calls

4 calls:

2.0s
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))
133.0ms
(/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale)
4.0ms
(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
3.0ms
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))

rewrite81.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
429×log1p-expm1-u_binary64
429×expm1-log1p-u_binary64
413×add-log-exp_binary64
398×pow1_binary64
152×log-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
040190
1918181
Stop Event
node limit
Counts
4 → 91
Calls

4 calls:

72.0ms
(/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale)
72.0ms
(sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
72.0ms
(cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))
72.0ms
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))

simplify184.0ms (0.3%)

Algorithm
egg-herbie
Rules
509×unswap-sqr_binary64
356×fma-neg_binary64
278×times-frac_binary64
265×associate-/l*_binary64
264×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
025612980
1102612263
2420712135
Stop Event
node limit
Counts
223 → 150

prune998.0ms (1.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New27810288
Fresh101
Picked101
Done000
Total28010290
Error
21.0b
Counts
290 → 10
Alt Table
StatusErrorProgram
39.4b
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (+.f64 (*.f64 (/.f64 (*.f64 b b) y-scale) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2)) (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) y-scale) (*.f64 a a))) y-scale)))
38.7b
(*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))) (+.f64 (*.f64 8 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 b 2) (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2))) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2)))) (*.f64 4 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (pow.f64 b 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2))))))))
40.1b
(*.f64 (fma.f64 4 (*.f64 (*.f64 (/.f64 b x-scale) (/.f64 b x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 y-scale y-scale))) (fma.f64 4 (/.f64 (*.f64 b b) (/.f64 (*.f64 y-scale (*.f64 y-scale (*.f64 x-scale x-scale))) (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4))) (*.f64 (/.f64 8 (*.f64 y-scale y-scale)) (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b))) (*.f64 x-scale x-scale))))) (neg.f64 (*.f64 a a)))
42.4b
(-.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale y-scale)) (*.f64 (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (/.f64 (*.f64 x-scale x-scale) (pow.f64 b 4))) 4)) (fma.f64 8 (*.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 a a)) (*.f64 x-scale x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (/.f64 (*.f64 y-scale y-scale) (*.f64 b b)))) (*.f64 4 (+.f64 (*.f64 (*.f64 (/.f64 (*.f64 b b) x-scale) (/.f64 (*.f64 a a) x-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 y-scale y-scale))) (fma.f64 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 y-scale y-scale)) (/.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (/.f64 (*.f64 x-scale x-scale) (pow.f64 b 4))) (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 (/.f64 (*.f64 y-scale y-scale) (*.f64 b b)) (/.f64 (*.f64 x-scale x-scale) (*.f64 a a)))))))))
32.1b
0
51.8b
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (exp.f64 (log.f64 (sin.f64 (*.f64 (*.f64 angle 1/180) (PI.f64)))))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))
39.4b
(/.f64 (neg.f64 (fma.f64 4 (*.f64 (/.f64 (/.f64 (*.f64 a a) x-scale) x-scale) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)))) (fma.f64 8 (*.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 a a)) x-scale) (/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b)) x-scale)) (*.f64 4 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (/.f64 (/.f64 (*.f64 x-scale x-scale) (*.f64 a a)) (*.f64 b b))))))) (*.f64 y-scale y-scale))
36.3b
(/.f64 (neg.f64 (fma.f64 4 (/.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4) (*.f64 (/.f64 y-scale (*.f64 a a)) (/.f64 y-scale (*.f64 b b)))) (fma.f64 4 (*.f64 (*.f64 (/.f64 a y-scale) (/.f64 a y-scale)) (*.f64 b (*.f64 b (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 4)))) (*.f64 (/.f64 8 y-scale) (/.f64 (*.f64 (*.f64 a a) (*.f64 (pow.f64 (sin.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 (pow.f64 (cos.f64 (*.f64 1/180 (*.f64 angle (PI.f64)))) 2) (*.f64 b b)))) y-scale))))) (*.f64 x-scale x-scale))
39.3b
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 a (/.f64 y-scale a)) y-scale)))
26.6b
(*.f64 -4 (*.f64 (/.f64 (/.f64 (*.f64 a a) x-scale) x-scale) (*.f64 (/.f64 b y-scale) (/.f64 b y-scale))))
Compiler

Compiled 36733 to 25165 computations (31.5% saved)

localize10.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 b y-scale) (/.f64 b y-scale))
3.9b
(/.f64 (/.f64 (*.f64 a a) x-scale) x-scale)
9.5b
(/.f64 (*.f64 a a) x-scale)
15.9b
(*.f64 (/.f64 (/.f64 (*.f64 a a) x-scale) x-scale) (*.f64 (/.f64 b y-scale) (/.f64 b y-scale)))

series203.0ms (0.3%)

Counts
4 → 120
Calls

4 calls:

145.0ms
(*.f64 (/.f64 (/.f64 (*.f64 a a) x-scale) x-scale) (*.f64 (/.f64 b y-scale) (/.f64 b y-scale)))
25.0ms
(*.f64 (/.f64 b y-scale) (/.f64 b y-scale))
25.0ms
(/.f64 (/.f64 (*.f64 a a) x-scale) x-scale)
9.0ms
(/.f64 (*.f64 a a) x-scale)

rewrite65.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
216×expm1-udef_binary64
216×log1p-udef_binary64
200×log-pow_binary64
161×egg-rr
122×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01143
124334
2374234
Stop Event
node limit
Counts
4 → 161
Calls

4 calls:

62.0ms
(*.f64 (/.f64 b y-scale) (/.f64 b y-scale))
62.0ms
(/.f64 (/.f64 (*.f64 a a) x-scale) x-scale)
62.0ms
(/.f64 (*.f64 a a) x-scale)
62.0ms
(*.f64 (/.f64 (/.f64 (*.f64 a a) x-scale) x-scale) (*.f64 (/.f64 b y-scale) (/.f64 b y-scale)))

simplify40.0ms (0.1%)

Algorithm
egg-herbie
Rules
749×associate-/r*_binary64
435×associate-/l/_binary64
401×associate-*l/_binary64
394×associate-*l*_binary64
369×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0181704
1451704
21491704
310531704
Stop Event
node limit
Counts
281 → 169

prune232.0ms (0.3%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New15415169
Fresh819
Picked101
Done000
Total16316179
Error
4.2b
Counts
179 → 16
Alt Table
StatusErrorProgram
16.8b
(*.f64 -4 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 a x-scale) 2)) 3) (*.f64 (/.f64 b y-scale) (/.f64 b y-scale))))
32.0b
(*.f64 -4 (/.f64 (*.f64 (/.f64 a (/.f64 x-scale a)) (*.f64 b b)) (*.f64 x-scale (*.f64 y-scale y-scale))))
31.0b
(*.f64 -4 (*.f64 b (*.f64 b (/.f64 (*.f64 a a) (*.f64 y-scale (*.f64 x-scale (*.f64 y-scale x-scale)))))))
18.3b
(*.f64 -4 (*.f64 (/.f64 (*.f64 (/.f64 a (pow.f64 (cbrt.f64 x-scale) 2)) (/.f64 a (cbrt.f64 x-scale))) x-scale) (*.f64 (/.f64 b y-scale) (/.f64 b y-scale))))
39.3b
(*.f64 -4 (/.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 (*.f64 x-scale x-scale) (*.f64 y-scale y-scale))))
32.1b
0
5.3b
(*.f64 -4 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2))
14.0b
(*.f64 -4 (/.f64 (*.f64 (pow.f64 (/.f64 a x-scale) 2) (/.f64 b y-scale)) (/.f64 y-scale b)))
17.2b
(*.f64 -4 (/.f64 (*.f64 (*.f64 (pow.f64 (/.f64 a x-scale) 2) (/.f64 b y-scale)) b) y-scale))
18.1b
(*.f64 -4 (/.f64 1 (/.f64 x-scale (*.f64 (/.f64 a (/.f64 x-scale a)) (pow.f64 (/.f64 b y-scale) 2)))))
21.4b
(*.f64 -4 (/.f64 (*.f64 (/.f64 a (/.f64 x-scale a)) (*.f64 b (/.f64 b y-scale))) (*.f64 x-scale y-scale)))
32.4b
(*.f64 -4 (/.f64 (*.f64 (*.f64 a a) (*.f64 b (/.f64 b y-scale))) (*.f64 (*.f64 x-scale x-scale) y-scale)))
24.1b
(*.f64 -4 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2) 3)))
5.6b
(*.f64 -4 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2)) 3))
17.9b
(*.f64 -4 (/.f64 (*.f64 (/.f64 a (/.f64 x-scale a)) (pow.f64 (/.f64 b y-scale) 2)) x-scale))
19.0b
(*.f64 -4 (/.f64 (*.f64 (*.f64 b (/.f64 b y-scale)) (pow.f64 (/.f64 a x-scale) 2)) y-scale))
Compiler

Compiled 3829 to 1657 computations (56.7% saved)

localize8.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -4 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2))
0.3b
(pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2)
7.0b
(*.f64 (/.f64 b y-scale) (/.f64 a x-scale))

series246.0ms (0.4%)

Counts
3 → 144
Calls

3 calls:

170.0ms
(*.f64 -4 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2))
47.0ms
(pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2)
29.0ms
(*.f64 (/.f64 b y-scale) (/.f64 a x-scale))

rewrite59.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
670×log-prod_binary64
229×expm1-udef_binary64
229×log1p-udef_binary64
201×log-pow_binary64
165×log-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01239
126239
2347039
Stop Event
node limit
Counts
3 → 117
Calls

3 calls:

56.0ms
(*.f64 -4 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2))
56.0ms
(pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2)
56.0ms
(*.f64 (/.f64 b y-scale) (/.f64 a x-scale))

simplify56.0ms (0.1%)

Algorithm
egg-herbie
Rules
827×associate-*r*_binary64
799×associate-*l*_binary64
589×associate-/l/_binary64
436×associate-/r/_binary64
256×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0232736
1722736
22242736
315172736
Stop Event
node limit
Counts
261 → 126

prune200.0ms (0.3%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New1188126
Fresh6915
Picked101
Done000
Total12517142
Error
0.0b
Counts
142 → 17
Alt Table
StatusErrorProgram
21.1b
(*.f64 -4 (/.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 y-scale x-scale) (*.f64 y-scale x-scale))))
21.4b
(*.f64 -4 (/.f64 (*.f64 (/.f64 a (/.f64 x-scale a)) (*.f64 b (/.f64 b y-scale))) (*.f64 x-scale y-scale)))
22.1b
(*.f64 -4 (/.f64 (*.f64 (*.f64 b (/.f64 a x-scale)) (*.f64 b (/.f64 a x-scale))) (*.f64 y-scale y-scale)))
32.4b
(*.f64 -4 (/.f64 (*.f64 (*.f64 a a) (*.f64 b (/.f64 b y-scale))) (*.f64 (*.f64 x-scale x-scale) y-scale)))
24.9b
(*.f64 -4 (*.f64 (sqrt.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale))) (*.f64 (sqrt.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale))) (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)))))
16.8b
(*.f64 -4 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 a x-scale) 2)) 3) (*.f64 (/.f64 b y-scale) (/.f64 b y-scale))))
27.8b
(*.f64 (*.f64 (/.f64 a y-scale) (/.f64 a y-scale)) (/.f64 (*.f64 b -4) (/.f64 (*.f64 x-scale x-scale) b)))
24.1b
(*.f64 -4 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2) 3)))
6.3b
(*.f64 -4 (*.f64 (/.f64 a x-scale) (*.f64 (/.f64 b y-scale) (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)))))
6.2b
(*.f64 -4 (pow.f64 (/.f64 (*.f64 a b) (*.f64 x-scale y-scale)) 2))
17.9b
(*.f64 -4 (/.f64 (*.f64 (/.f64 a (/.f64 x-scale a)) (pow.f64 (/.f64 b y-scale) 2)) x-scale))
18.3b
(*.f64 -4 (*.f64 (/.f64 (*.f64 (/.f64 a (pow.f64 (cbrt.f64 x-scale) 2)) (/.f64 a (cbrt.f64 x-scale))) x-scale) (*.f64 (/.f64 b y-scale) (/.f64 b y-scale))))
14.0b
(*.f64 -4 (/.f64 (*.f64 (pow.f64 (/.f64 a x-scale) 2) (/.f64 b y-scale)) (/.f64 y-scale b)))
5.6b
(*.f64 -4 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2)) 3))
8.7b
(*.f64 -4 (*.f64 (/.f64 b y-scale) (*.f64 (/.f64 a x-scale) (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)))))
17.2b
(*.f64 -4 (/.f64 (*.f64 (*.f64 (pow.f64 (/.f64 a x-scale) 2) (/.f64 b y-scale)) b) y-scale))
6.3b
(*.f64 -4 (pow.f64 (/.f64 1 (/.f64 (*.f64 y-scale x-scale) (*.f64 b a))) 2))
Compiler

Compiled 2710 to 1336 computations (50.7% saved)

localize11.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2)
0.3b
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2)) 3)
7.0b
(*.f64 (/.f64 b y-scale) (/.f64 a x-scale))
20.3b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2))

series101.0ms (0.1%)

Counts
2 → 0
Calls

2 calls:

61.0ms
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2)) 3)
40.0ms
(cbrt.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2))

rewrite51.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
221×expm1-udef_binary64
221×log1p-udef_binary64
200×log-pow_binary64
165×log-div_binary64
126×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01328
128128
2352228
Stop Event
node limit
Counts
2 → 68
Calls

2 calls:

50.0ms
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2)) 3)
50.0ms
(cbrt.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2))

simplify7.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
68 → 68

prune276.0ms (0.4%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New1732175
Fresh21416
Picked101
Done000
Total17616192
Error
0.0b
Counts
192 → 16
Alt Table
StatusErrorProgram
21.1b
(*.f64 -4 (/.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 y-scale x-scale) (*.f64 y-scale x-scale))))
21.4b
(*.f64 -4 (/.f64 (*.f64 (/.f64 a (/.f64 x-scale a)) (*.f64 b (/.f64 b y-scale))) (*.f64 x-scale y-scale)))
22.1b
(*.f64 -4 (/.f64 (*.f64 (*.f64 b (/.f64 a x-scale)) (*.f64 b (/.f64 a x-scale))) (*.f64 y-scale y-scale)))
32.4b
(*.f64 -4 (/.f64 (*.f64 (*.f64 a a) (*.f64 b (/.f64 b y-scale))) (*.f64 (*.f64 x-scale x-scale) y-scale)))
27.8b
(*.f64 (*.f64 (/.f64 a y-scale) (/.f64 a y-scale)) (/.f64 (*.f64 b -4) (/.f64 (*.f64 x-scale x-scale) b)))
5.5b
(*.f64 -4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 b y-scale) (/.f64 x-scale a)) 2)) 3))
24.1b
(*.f64 -4 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)) 2) 3)))
6.3b
(*.f64 -4 (*.f64 (/.f64 a x-scale) (*.f64 (/.f64 b y-scale) (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)))))
6.2b
(*.f64 -4 (pow.f64 (/.f64 (*.f64 a b) (*.f64 x-scale y-scale)) 2))
17.9b
(*.f64 -4 (/.f64 (*.f64 (/.f64 a (/.f64 x-scale a)) (pow.f64 (/.f64 b y-scale) 2)) x-scale))
8.7b
(*.f64 -4 (*.f64 (/.f64 b y-scale) (*.f64 (/.f64 a x-scale) (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)))))
5.5b
(*.f64 -4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 1 (*.f64 (/.f64 x-scale a) (/.f64 y-scale b))) 2)) 3))
24.9b
(*.f64 -4 (*.f64 (sqrt.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale))) (*.f64 (sqrt.f64 (*.f64 (/.f64 b y-scale) (/.f64 a x-scale))) (*.f64 (/.f64 b y-scale) (/.f64 a x-scale)))))
14.0b
(*.f64 -4 (/.f64 (*.f64 (pow.f64 (/.f64 a x-scale) 2) (/.f64 b y-scale)) (/.f64 y-scale b)))
17.2b
(*.f64 -4 (/.f64 (*.f64 (*.f64 (pow.f64 (/.f64 a x-scale) 2) (/.f64 b y-scale)) b) y-scale))
6.3b
(*.f64 -4 (pow.f64 (/.f64 1 (/.f64 (*.f64 y-scale x-scale) (*.f64 b a))) 2))
Compiler

Compiled 3586 to 1701 computations (52.6% saved)

regimes2.1s (2.9%)

Accuracy

Total 5.6b remaining (98%)

Threshold costs 0b (0%)

Counts
157 → 3
Compiler

Compiled 46728 to 33551 computations (28.2% saved)

bsearch2.3s (3.3%)

Steps
ItersRangePoint
9
4.940068468857467e-129
7.502660156178328e-120
7.375080175177962e-129
10
-136773668221383.03
-2.2268282407577833
-251570.8691730476
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
14×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03264
14964
26164
37264
47964
58364
68464
Stop Event
saturated

end208.0ms (0.3%)

Compiler

Compiled 435 to 283 computations (34.9% saved)

Profiling

Loading profile data...