Details

Time bar (total: 2.2s)

analyze131.0ms (6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
25%62.4%12.6%6
25%40.6%34.4%7
25%32.8%42.2%8
25%23.4%51.6%9
28.1%18%54%10
31.6%11.5%56.9%11
33.4%8.9%57.8%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample1.3s (59%)

Results
1.2s8256×body256valid
79.0ms646×body256invalid

preprocess53.0ms (2.4%)

Algorithm
egg-herbie
Rules
574×distribute-neg-in_binary64
540×unswap-sqr_binary64
524×distribute-rgt-in_binary64
490×distribute-lft-in_binary64
350×unsub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
11820
25120
312320
437120
5162620
6531520
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(-.f64 (pow.f64 y 4) (pow.f64 x 4))
Outputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(-.f64 (pow.f64 y 4) (pow.f64 x 4))
Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify47.0ms (2.2%)

Algorithm
egg-herbie
Rules
644×distribute-rgt-neg-in_binary64
556×distribute-lft-neg-in_binary64
432×unswap-sqr_binary64
377×fma-def_binary64
270×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11510
23710
38210
423510
593610
6292910
7526010
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
Outputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))

eval1.0ms (0%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
Compiler

Compiled 9 to 7 computations (22.2% saved)

localize8.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 y 4)
Compiler

Compiled 18 to 12 computations (33.3% saved)

series2.0ms (0.1%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(pow.f64 y 4)
1.0ms
y
@inf
(pow.f64 y 4)
1.0ms
y
@0
(pow.f64 y 4)

rewrite38.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
330×pow1_binary64
319×add-sqr-sqrt_binary64
312×*-un-lft-identity_binary64
308×add-log-exp_binary64
308×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
1854
28944
Stop Event
node limit
Counts
1 → 40
Calls
Call 1
Inputs
(pow.f64 y 4)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (pow.f64 y 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 y 4)) 2))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 y 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (pow.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 y 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 y 3) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (pow.f64 (cbrt.f64 y) 2) (pow.f64 (cbrt.f64 y) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 y 4)) (pow.f64 (cbrt.f64 y) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 y 4)) (*.f64 (pow.f64 (cbrt.f64 y) 8) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 y) 8) (cbrt.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 y) (*.f64 (pow.f64 y 3/2) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 y 3/2) (pow.f64 y 5/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 y) 8)) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 16))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 y) 8)) (cbrt.f64 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 y) 5) (*.f64 (cbrt.f64 y) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 y) 5) (pow.f64 (cbrt.f64 y) 5)) (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 y 8) (pow.f64 (cbrt.f64 y) 8))) (cbrt.f64 (cbrt.f64 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 y 10)) (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (pow.f64 y 4)) 5)) (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 y) 5) 2) (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 y 8) (pow.f64 (cbrt.f64 y) 8)) 1/3) (cbrt.f64 (cbrt.f64 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 y 10) 1/3) (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 y 4)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 y 4)) (+.f64 1 (pow.f64 y 4))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 y 4)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 y 4)) (+.f64 1 (pow.f64 y 4))) 1) (+.f64 (+.f64 1 (pow.f64 y 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 y 12))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 y 12)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 y 4))) 3))))))

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
40 → 40
Calls
Call 1
Inputs
Outputs

eval14.0ms (0.7%)

Compiler

Compiled 552 to 404 computations (26.8% saved)

prune7.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New38240
Fresh000
Picked011
Done000
Total38341
Error
0b
Counts
41 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
0.2b
(-.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) (*.f64 y y)))
12.8b
(-.f64 (pow.f64 x 4) (cbrt.f64 (pow.f64 y 12)))
Compiler

Compiled 32 to 22 computations (31.3% saved)

localize13.0ms (0.6%)

Local error

Found 1 expressions with local error:

NewErrorProgram
15.5b
(cbrt.f64 (pow.f64 y 12))
Compiler

Compiled 24 to 17 computations (29.2% saved)

series1.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(cbrt.f64 (pow.f64 y 12))
0.0ms
y
@0
(cbrt.f64 (pow.f64 y 12))
0.0ms
y
@-inf
(cbrt.f64 (pow.f64 y 12))

rewrite41.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
418×pow1_binary64
412×add-sqr-sqrt_binary64
396×*-un-lft-identity_binary64
396×add-log-exp_binary64
396×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
056
11044
211444
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 y 12))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 y 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 y 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 y 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 y 4)) (cbrt.f64 (cbrt.f64 (pow.f64 y 24))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 y 24))) (cbrt.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 y 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 12) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y y) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 y 4)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 y 24)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 4 (log.f64 y)))))))

simplify186.0ms (8.5%)

Algorithm
egg-herbie
Rules
1319×sqr-pow_binary64
662×cube-prod_binary64
659×pow-sqr_binary64
522×fabs-mul_binary64
384×unpow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0448
1848
21448
32548
45048
513748
648948
7114148
8126548
9143448
10163348
11190448
12226148
13271048
14324148
15387348
16462448
17493448
18516248
19535848
20541048
21543248
22626648
23717948
24758148
25784548
Stop Event
node limit
Counts
32 → 20
Calls
Call 1
Inputs
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
Outputs
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)

localize14.0ms (0.6%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 y y) (*.f64 y y))
Compiler

Compiled 29 to 10 computations (65.5% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@0
(*.f64 (*.f64 y y) (*.f64 y y))
0.0ms
y
@inf
(*.f64 (*.f64 y y) (*.f64 y y))
0.0ms
y
@-inf
(*.f64 (*.f64 y y) (*.f64 y y))

rewrite41.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
328×pow1_binary64
312×add-sqr-sqrt_binary64
306×*-un-lft-identity_binary64
304×add-log-exp_binary64
304×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
047
1814
29694
Stop Event
node limit
Counts
1 → 32
Calls
Call 1
Inputs
(*.f64 (*.f64 y y) (*.f64 y y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (pow.f64 y 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 y 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 y 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 y 4)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 y 4)) (+.f64 1 (pow.f64 y 4))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 y 4)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 y 4)) (+.f64 1 (pow.f64 y 4))) 1) (+.f64 (+.f64 1 (pow.f64 y 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 y 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y y) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 6) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 3) 4/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 8) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 y 12) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (cbrt.f64 y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 y) 12)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 y) 2) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 y) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (*.f64 4 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 2) (*.f64 (log.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 4 (log.f64 y)))) (sqrt.f64 (*.f64 4 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 4 (log.f64 y))) 2)) (cbrt.f64 (*.f64 4 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 y 12))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 4 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 y 12)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y (cbrt.f64 y))) 3))))))

simplify184.0ms (8.4%)

Algorithm
egg-herbie
Rules
1319×sqr-pow_binary64
662×cube-prod_binary64
659×pow-sqr_binary64
522×fabs-mul_binary64
384×unpow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0448
1848
21448
32548
45048
513748
648948
7114148
8126548
9143448
10163348
11190448
12226148
13271048
14324148
15387348
16462448
17493448
18516248
19535848
20541048
21543248
22626648
23717948
24758148
25784548
Stop Event
node limit
Counts
44 → 32
Calls
Call 1
Inputs
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
Outputs
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)
(pow.f64 y 4)

eval22.0ms (1%)

Compiler

Compiled 586 to 447 computations (23.7% saved)

prune8.0ms (0.4%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New52052
Fresh000
Picked011
Done022
Total52355
Error
0b
Counts
55 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
0.2b
(-.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) (*.f64 y y)))
12.8b
(-.f64 (pow.f64 x 4) (cbrt.f64 (pow.f64 y 12)))
Compiler

Compiled 32 to 22 computations (31.3% saved)

regimes55.0ms (2.5%)

Accuracy

Total -12.8b remaining (-328061.4%)

Threshold costs -12.8b (-328061.4%)

Counts
3 → 1
Calls
Call 1
Inputs
(-.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) (*.f64 y y)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(-.f64 (pow.f64 x 4) (cbrt.f64 (pow.f64 y 12)))
Outputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
Calls

5 calls:

42.0ms
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
4.0ms
y
3.0ms
x
2.0ms
(pow.f64 y 4)
2.0ms
(pow.f64 x 4)
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1(-.f64 (pow.f64 x 4) (pow.f64 y 4))
0.0b1(pow.f64 x 4)
0.0b1(pow.f64 y 4)
Compiler

Compiled 53 to 37 computations (30.2% saved)

simplify4.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01026
11726
23126
33926
44426
54526
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(-.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) (*.f64 y y)))
Outputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(-.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) (*.f64 y y)))
Compiler

Compiled 22 to 14 computations (36.4% saved)

soundness0.0ms (0%)

end21.0ms (0.9%)

Compiler

Compiled 20 to 12 computations (40% saved)

Profiling

Loading profile data...