Physics.ForceLayout:coulombForce from force-layout-0.4.0.2

Time bar (total: 1.2s)

analyze11.0ms (0.9%)

Memory
-17.6MiB live, 20.9MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.8%93.7%6.2%0.1%0%0%0%9
93.8%93.7%6.2%0.1%0%0%0%10
96.9%96.8%3.1%0.1%0%0%0%11
96.9%96.8%3.1%0.1%0%0%0%12
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample644.0ms (52.6%)

Memory
12.7MiB live, 877.7MiB allocated
Samples
458.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 270.0ms
ival-mult: 157.0ms (58.2% of total)
ival-div: 104.0ms (38.5% of total)
ival-true: 6.0ms (2.2% of total)
ival-assert: 3.0ms (1.1% of total)
Bogosity

preprocess41.0ms (3.3%)

Memory
-2.4MiB live, 40.2MiB allocated
Algorithm
egg-herbie
Rules
892×times-frac
198×associate-*r*
198×associate-*l*
174×associate-/r*
122×div-sub
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01227
13927
210527
332727
482527
5135927
6150427
7153027
8154827
9156427
045
065
185
085
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 x (*.f64 y y))
Outputs
(/.f64 x (*.f64 y y))
Symmetry

(abs y)

(negabs x)

explain43.0ms (3.5%)

Memory
17.6MiB live, 94.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
330-1(7.2317482296491375e-196 4.6978027890753924e-160)(/.f64 x (*.f64 y y))
00-0-y
00-0-(*.f64 y y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 x (*.f64 y y))n/o190
(*.f64 y y)overflow65
/.f64(/.f64 x (*.f64 y y))n/u130
(*.f64 y y)underflow60
Confusion
Predicted +Predicted -
+321
-0223
Precision
1.0
Recall
0.9696969696969697
Confusion?
Predicted +Predicted MaybePredicted -
+3201
-00223
Precision?
1.0
Recall?
0.9696969696969697
Freqs
test
numberfreq
0224
132
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
18.0ms512×0valid
Compiler

Compiled 38 to 20 computations (47.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 4.0ms (53.1% of total)
ival-div: 3.0ms (39.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(/.f64 x (*.f64 y y))
Compiler

Compiled 7 to 4 computations (42.9% saved)

simplify6.0ms (0.5%)

Memory
-30.5MiB live, 7.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y y)
cost-diff0
(/.f64 x (*.f64 y y))
Rules
lower-/.f32
lower-/.f64
lift-/.f64
lift-*.f64
lower-*.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0410
0610
1810
0810
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 x (*.f64 y y))
x
(*.f64 y y)
y
Outputs
(/.f64 x (*.f64 y y))
x
(*.f64 y y)
y

localize13.0ms (1.1%)

Memory
32.1MiB live, 32.1MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 y y)
accuracy88.6%
(/.f64 x (*.f64 y y))
Samples
9.0ms256×0valid
Compiler

Compiled 12 to 6 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-div: 2.0ms (54.6% of total)
ival-mult: 2.0ms (54.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.9%)

Memory
-20.7MiB live, 19.4MiB allocated
Counts
2 → 36
Calls
Call 1
Inputs
#<alt (/.f64 x (*.f64 y y))>
#<alt (*.f64 y y)>
Outputs
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (/ x (pow y 2))>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
#<alt (pow y 2)>
Calls

9 calls:

TimeVariablePointExpression
5.0ms
x
@inf
(/ x (* y y))
3.0ms
y
@0
(/ x (* y y))
1.0ms
x
@0
(/ x (* y y))
0.0ms
x
@-inf
(/ x (* y y))
0.0ms
y
@inf
(* y y)

rewrite159.0ms (13%)

Memory
17.8MiB live, 133.3MiB allocated
Algorithm
batch-egg-rewrite
Rules
940×lower-*.f32
938×lower-*.f64
784×lower-/.f32
782×lower-/.f64
194×unpow-prod-down
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048
068
1188
2778
33608
021328
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
2 → 147
Calls
Call 1
Inputs
(/.f64 x (*.f64 y y))
(*.f64 y y)
Outputs
(+.f64 #s(literal 0 binary64) (/.f64 x (*.f64 y y)))
(+.f64 (*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) #s(literal 0 binary64)) (/.f64 x (*.f64 y y)))
(exp.f64 (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 (*.f64 y y) x))))
(-.f64 #s(literal 0 binary64) (/.f64 x (*.f64 y (neg.f64 y))))
(fma.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) #s(literal 0 binary64) (/.f64 x (*.f64 y y)))
(neg.f64 (/.f64 x (*.f64 y (neg.f64 y))))
(/.f64 x (*.f64 y y))
(/.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))
(/.f64 (neg.f64 x) (*.f64 y (neg.f64 y)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 y y) x))
(/.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) (/.f64 #s(literal 1 binary64) x))
(/.f64 (/.f64 x y) y)
(/.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (neg.f64 y)) x))
(/.f64 (/.f64 x (neg.f64 y)) (neg.f64 y))
(/.f64 (/.f64 x (neg.f64 y)) (*.f64 #s(literal 1 binary64) (neg.f64 y)))
(/.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 y x))
(/.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (/.f64 #s(literal -1 binary64) x))
(/.f64 (/.f64 x (*.f64 y (neg.f64 y))) #s(literal -1 binary64))
(/.f64 (neg.f64 (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 x x)))
(/.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 y (neg.f64 x)))
(/.f64 (neg.f64 (*.f64 x x)) (*.f64 (*.f64 y (neg.f64 y)) x))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (/.f64 (*.f64 y (neg.f64 y)) x)) (*.f64 y (neg.f64 y))) (*.f64 (*.f64 y (neg.f64 y)) (/.f64 (*.f64 y (neg.f64 y)) x)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (neg.f64 y)) x)) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (neg.f64 y)) (neg.f64 x))) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (neg.f64 y)) (*.f64 (*.f64 y (neg.f64 y)) (/.f64 x y))) (*.f64 (*.f64 y (neg.f64 y)) (neg.f64 y)))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) y) (*.f64 (*.f64 y (neg.f64 y)) (/.f64 x (neg.f64 y)))) (*.f64 (*.f64 y (neg.f64 y)) y))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) #s(literal 1 binary64)) (*.f64 (*.f64 x x) (*.f64 y (neg.f64 y))))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) #s(literal -1 binary64)) (*.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) #s(literal 1 binary64)) (*.f64 x (*.f64 y (neg.f64 y))))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) #s(literal -1 binary64)) (*.f64 x (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 #s(literal 1 binary64) y)) (*.f64 (*.f64 x x) (neg.f64 y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 #s(literal 1 binary64) y)) (*.f64 x (neg.f64 y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 #s(literal -1 binary64) y)) (*.f64 (*.f64 x x) y))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 #s(literal -1 binary64) y)) (*.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 x x))) (*.f64 (*.f64 y (neg.f64 y)) x))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 y y) (*.f64 x x)))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x x))) (*.f64 (*.f64 y y) x))
(/.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 (neg.f64 y) (*.f64 x x)))
(/.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) (neg.f64 (*.f64 x x))) (*.f64 (neg.f64 y) x))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 y (*.f64 x x)))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) (neg.f64 (*.f64 x x))) (*.f64 y x))
(/.f64 (/.f64 (/.f64 x y) (sqrt.f64 y)) (sqrt.f64 y))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 x (*.f64 y (neg.f64 y))) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 (/.f64 x (*.f64 y (neg.f64 y))) (/.f64 x (*.f64 y (neg.f64 y))) (*.f64 #s(literal 0 binary64) (/.f64 x (*.f64 y (neg.f64 y)))))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (/.f64 x (*.f64 y (neg.f64 y))) (/.f64 x (*.f64 y (neg.f64 y))))) (/.f64 x (*.f64 y (neg.f64 y))))
(/.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)) (/.f64 y (neg.f64 x)))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)) (/.f64 y (neg.f64 x)))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)) (/.f64 y x))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 x x))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (neg.f64 (*.f64 x x))) x)
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 #s(literal -1 binary64) (*.f64 y y))) (*.f64 x x))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 #s(literal -1 binary64) (*.f64 y y))) x)
(/.f64 (/.f64 (/.f64 x (neg.f64 y)) #s(literal -1 binary64)) y)
(pow.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))
(pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1 binary64))
(pow.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (/.f64 (*.f64 y y) x) (/.f64 (*.f64 y y) x)) #s(literal -1/2 binary64))
(pow.f64 (exp.f64 (log.f64 (/.f64 (*.f64 y y) x))) #s(literal -1 binary64))
(*.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))
(*.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) (*.f64 y y)))
(*.f64 #s(literal 1 binary64) (/.f64 x (*.f64 y y)))
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) x)
(*.f64 (/.f64 x y) (/.f64 #s(literal 1 binary64) y))
(*.f64 (/.f64 x y) (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y (neg.f64 y))))
(*.f64 (/.f64 x (neg.f64 y)) (/.f64 #s(literal -1 binary64) y))
(*.f64 (/.f64 x (neg.f64 y)) (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)))
(*.f64 (/.f64 x (neg.f64 y)) (/.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 x y))
(*.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 (/.f64 x y) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (neg.f64 x))
(*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -1 binary64)))
(*.f64 (/.f64 x (*.f64 y (neg.f64 y))) #s(literal -1 binary64))
(*.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 x (neg.f64 y)))
(*.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 (/.f64 x (neg.f64 y)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) (/.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (*.f64 y y)))
(*.f64 (/.f64 x (sqrt.f64 y)) (/.f64 (/.f64 #s(literal 1 binary64) y) (sqrt.f64 y)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 y)) (/.f64 (/.f64 x (neg.f64 y)) (sqrt.f64 y)))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 y)) (/.f64 (/.f64 x y) (sqrt.f64 y)))
(*.f64 (/.f64 (/.f64 #s(literal 1 binary64) y) (sqrt.f64 y)) (/.f64 x (sqrt.f64 y)))
(*.f64 (/.f64 (neg.f64 x) (sqrt.f64 y)) (/.f64 (/.f64 #s(literal -1 binary64) y) (sqrt.f64 y)))
(*.f64 (/.f64 (/.f64 x y) (sqrt.f64 y)) (/.f64 #s(literal 1 binary64) (sqrt.f64 y)))
(*.f64 (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) (/.f64 x y))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)) (/.f64 x (neg.f64 y)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)) (/.f64 x y))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64))) (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (neg.f64 x) (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))) (*.f64 y (*.f64 y (*.f64 y y))))
(*.f64 (/.f64 (neg.f64 x) (neg.f64 (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 y y))
(+.f64 (*.f64 y y) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 y y))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal 1 binary64)))
(exp.f64 (neg.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))
(-.f64 #s(literal 0 binary64) (*.f64 y (neg.f64 y)))
(fma.f64 y y #s(literal 0 binary64))
(fma.f64 (*.f64 y y) #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 y (neg.f64 y)) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) (*.f64 y (neg.f64 y)) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) (pow.f64 (*.f64 y (neg.f64 y)) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (neg.f64 y) (neg.f64 y) #s(literal 0 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (sqrt.f64 y) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)) #s(literal 0 binary64))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y) #s(literal 0 binary64))
(fma.f64 (pow.f64 (neg.f64 y) #s(literal 1 binary64)) (pow.f64 (neg.f64 y) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (/.f64 (sqrt.f64 y) #s(literal 1 binary64)) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)) #s(literal 0 binary64))
(fma.f64 (*.f64 y (sqrt.f64 y)) (sqrt.f64 y) #s(literal 0 binary64))
(fma.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y) #s(literal 0 binary64))
(neg.f64 (*.f64 y (neg.f64 y)))
(/.f64 y (/.f64 #s(literal 1 binary64) y))
(/.f64 (*.f64 y y) #s(literal 1 binary64))
(/.f64 (*.f64 y (neg.f64 y)) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (*.f64 y y)))
(/.f64 (neg.f64 y) (/.f64 #s(literal -1 binary64) y))
(/.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))) (neg.f64 (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 #s(literal -1 binary64) (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 (neg.f64 (*.f64 y (*.f64 y (*.f64 y y)))) (*.f64 y (neg.f64 y)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (neg.f64 (neg.f64 (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 y y))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))) (+.f64 #s(literal 0 binary64) (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) #s(literal 0 binary64))))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (*.f64 y (neg.f64 y)) #s(literal 3 binary64))) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 y y))
(pow.f64 y #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal -1 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 y))
(*.f64 y y)
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 (*.f64 y (neg.f64 y)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 #s(literal -1 binary64) (*.f64 y (neg.f64 y)))
(*.f64 #s(literal -1 binary64) (pow.f64 (*.f64 y (neg.f64 y)) #s(literal 1 binary64)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 y) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y))
(*.f64 (pow.f64 (neg.f64 y) #s(literal 1 binary64)) (pow.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (/.f64 (sqrt.f64 y) #s(literal 1 binary64)) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)))
(*.f64 (*.f64 y (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y))

simplify4.0ms (0.3%)

Memory
1.7MiB live, 1.7MiB allocated
Algorithm
egg-herbie
Rules
lower-/.f32
lower-/.f64
lower-*.f64
lower-pow.f64
unpow2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05156
16156
28156
08156
Stop Event
iter limit
saturated
Counts
36 → 36
Calls
Call 1
Inputs
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(/ x (pow y 2))
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
Outputs
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(/ x (pow y 2))
(/.f64 x (*.f64 y y))
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)

simplify169.0ms (13.8%)

Memory
-40.5MiB live, 17.2MiB allocated
Algorithm
egg-herbie
Rules
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02921543
12931543
02931543
Stop Event
saturated
saturated
Counts
147 → 0
Calls
Call 1
Inputs
(+.f64 #s(literal 0 binary64) (/.f64 x (*.f64 y y)))
(+.f64 (*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) #s(literal 0 binary64)) (/.f64 x (*.f64 y y)))
(exp.f64 (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 (*.f64 y y) x))))
(-.f64 #s(literal 0 binary64) (/.f64 x (*.f64 y (neg.f64 y))))
(fma.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) #s(literal 0 binary64) (/.f64 x (*.f64 y y)))
(neg.f64 (/.f64 x (*.f64 y (neg.f64 y))))
(/.f64 x (*.f64 y y))
(/.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))
(/.f64 (neg.f64 x) (*.f64 y (neg.f64 y)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 y y) x))
(/.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) (/.f64 #s(literal 1 binary64) x))
(/.f64 (/.f64 x y) y)
(/.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (neg.f64 y)) x))
(/.f64 (/.f64 x (neg.f64 y)) (neg.f64 y))
(/.f64 (/.f64 x (neg.f64 y)) (*.f64 #s(literal 1 binary64) (neg.f64 y)))
(/.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 y x))
(/.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (/.f64 #s(literal -1 binary64) x))
(/.f64 (/.f64 x (*.f64 y (neg.f64 y))) #s(literal -1 binary64))
(/.f64 (neg.f64 (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 x x)))
(/.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 y (neg.f64 x)))
(/.f64 (neg.f64 (*.f64 x x)) (*.f64 (*.f64 y (neg.f64 y)) x))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (/.f64 (*.f64 y (neg.f64 y)) x)) (*.f64 y (neg.f64 y))) (*.f64 (*.f64 y (neg.f64 y)) (/.f64 (*.f64 y (neg.f64 y)) x)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (neg.f64 y)) x)) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (neg.f64 y)) (neg.f64 x))) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (neg.f64 y)) (*.f64 (*.f64 y (neg.f64 y)) (/.f64 x y))) (*.f64 (*.f64 y (neg.f64 y)) (neg.f64 y)))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) y) (*.f64 (*.f64 y (neg.f64 y)) (/.f64 x (neg.f64 y)))) (*.f64 (*.f64 y (neg.f64 y)) y))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) #s(literal 1 binary64)) (*.f64 (*.f64 x x) (*.f64 y (neg.f64 y))))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) #s(literal -1 binary64)) (*.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) #s(literal 1 binary64)) (*.f64 x (*.f64 y (neg.f64 y))))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) #s(literal -1 binary64)) (*.f64 x (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 #s(literal 1 binary64) y)) (*.f64 (*.f64 x x) (neg.f64 y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 #s(literal 1 binary64) y)) (*.f64 x (neg.f64 y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 #s(literal -1 binary64) y)) (*.f64 (*.f64 x x) y))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 #s(literal -1 binary64) y)) (*.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 x x))) (*.f64 (*.f64 y (neg.f64 y)) x))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 y y) (*.f64 x x)))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x x))) (*.f64 (*.f64 y y) x))
(/.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 (neg.f64 y) (*.f64 x x)))
(/.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) (neg.f64 (*.f64 x x))) (*.f64 (neg.f64 y) x))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 y (*.f64 x x)))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) (neg.f64 (*.f64 x x))) (*.f64 y x))
(/.f64 (/.f64 (/.f64 x y) (sqrt.f64 y)) (sqrt.f64 y))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 x (*.f64 y (neg.f64 y))) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 (/.f64 x (*.f64 y (neg.f64 y))) (/.f64 x (*.f64 y (neg.f64 y))) (*.f64 #s(literal 0 binary64) (/.f64 x (*.f64 y (neg.f64 y)))))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (/.f64 x (*.f64 y (neg.f64 y))) (/.f64 x (*.f64 y (neg.f64 y))))) (/.f64 x (*.f64 y (neg.f64 y))))
(/.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)) (/.f64 y (neg.f64 x)))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)) (/.f64 y (neg.f64 x)))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)) (/.f64 y x))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 x x))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (neg.f64 (*.f64 x x))) x)
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 #s(literal -1 binary64) (*.f64 y y))) (*.f64 x x))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 #s(literal -1 binary64) (*.f64 y y))) x)
(/.f64 (/.f64 (/.f64 x (neg.f64 y)) #s(literal -1 binary64)) y)
(pow.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))
(pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1 binary64))
(pow.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (/.f64 (*.f64 y y) x) (/.f64 (*.f64 y y) x)) #s(literal -1/2 binary64))
(pow.f64 (exp.f64 (log.f64 (/.f64 (*.f64 y y) x))) #s(literal -1 binary64))
(*.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))
(*.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) (*.f64 y y)))
(*.f64 #s(literal 1 binary64) (/.f64 x (*.f64 y y)))
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) x)
(*.f64 (/.f64 x y) (/.f64 #s(literal 1 binary64) y))
(*.f64 (/.f64 x y) (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y (neg.f64 y))))
(*.f64 (/.f64 x (neg.f64 y)) (/.f64 #s(literal -1 binary64) y))
(*.f64 (/.f64 x (neg.f64 y)) (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)))
(*.f64 (/.f64 x (neg.f64 y)) (/.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 x y))
(*.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 (/.f64 x y) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (neg.f64 x))
(*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -1 binary64)))
(*.f64 (/.f64 x (*.f64 y (neg.f64 y))) #s(literal -1 binary64))
(*.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 x (neg.f64 y)))
(*.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 (/.f64 x (neg.f64 y)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) (/.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (*.f64 y y)))
(*.f64 (/.f64 x (sqrt.f64 y)) (/.f64 (/.f64 #s(literal 1 binary64) y) (sqrt.f64 y)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 y)) (/.f64 (/.f64 x (neg.f64 y)) (sqrt.f64 y)))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 y)) (/.f64 (/.f64 x y) (sqrt.f64 y)))
(*.f64 (/.f64 (/.f64 #s(literal 1 binary64) y) (sqrt.f64 y)) (/.f64 x (sqrt.f64 y)))
(*.f64 (/.f64 (neg.f64 x) (sqrt.f64 y)) (/.f64 (/.f64 #s(literal -1 binary64) y) (sqrt.f64 y)))
(*.f64 (/.f64 (/.f64 x y) (sqrt.f64 y)) (/.f64 #s(literal 1 binary64) (sqrt.f64 y)))
(*.f64 (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) (/.f64 x y))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)) (/.f64 x (neg.f64 y)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)) (/.f64 x y))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64))) (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (neg.f64 x) (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))) (*.f64 y (*.f64 y (*.f64 y y))))
(*.f64 (/.f64 (neg.f64 x) (neg.f64 (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 y y))
(+.f64 (*.f64 y y) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 y y))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal 1 binary64)))
(exp.f64 (neg.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))
(-.f64 #s(literal 0 binary64) (*.f64 y (neg.f64 y)))
(fma.f64 y y #s(literal 0 binary64))
(fma.f64 (*.f64 y y) #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 y (neg.f64 y)) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) (*.f64 y (neg.f64 y)) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) (pow.f64 (*.f64 y (neg.f64 y)) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (neg.f64 y) (neg.f64 y) #s(literal 0 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (sqrt.f64 y) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)) #s(literal 0 binary64))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y) #s(literal 0 binary64))
(fma.f64 (pow.f64 (neg.f64 y) #s(literal 1 binary64)) (pow.f64 (neg.f64 y) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (/.f64 (sqrt.f64 y) #s(literal 1 binary64)) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)) #s(literal 0 binary64))
(fma.f64 (*.f64 y (sqrt.f64 y)) (sqrt.f64 y) #s(literal 0 binary64))
(fma.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y) #s(literal 0 binary64))
(neg.f64 (*.f64 y (neg.f64 y)))
(/.f64 y (/.f64 #s(literal 1 binary64) y))
(/.f64 (*.f64 y y) #s(literal 1 binary64))
(/.f64 (*.f64 y (neg.f64 y)) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (*.f64 y y)))
(/.f64 (neg.f64 y) (/.f64 #s(literal -1 binary64) y))
(/.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))) (neg.f64 (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 #s(literal -1 binary64) (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 (neg.f64 (*.f64 y (*.f64 y (*.f64 y y)))) (*.f64 y (neg.f64 y)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (neg.f64 (neg.f64 (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 y y))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))) (+.f64 #s(literal 0 binary64) (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) #s(literal 0 binary64))))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (*.f64 y (neg.f64 y)) #s(literal 3 binary64))) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 y y))
(pow.f64 y #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal -1 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 y))
(*.f64 y y)
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 (*.f64 y (neg.f64 y)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 #s(literal -1 binary64) (*.f64 y (neg.f64 y)))
(*.f64 #s(literal -1 binary64) (pow.f64 (*.f64 y (neg.f64 y)) #s(literal 1 binary64)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 y) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y))
(*.f64 (pow.f64 (neg.f64 y) #s(literal 1 binary64)) (pow.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (/.f64 (sqrt.f64 y) #s(literal 1 binary64)) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)))
(*.f64 (*.f64 y (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y))
Outputs
(+.f64 #s(literal 0 binary64) (/.f64 x (*.f64 y y)))
(+.f64 (*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) #s(literal 0 binary64)) (/.f64 x (*.f64 y y)))
(exp.f64 (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 (*.f64 y y) x))))
(-.f64 #s(literal 0 binary64) (/.f64 x (*.f64 y (neg.f64 y))))
(fma.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) #s(literal 0 binary64) (/.f64 x (*.f64 y y)))
(neg.f64 (/.f64 x (*.f64 y (neg.f64 y))))
(/.f64 x (*.f64 y y))
(/.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))
(/.f64 (neg.f64 x) (*.f64 y (neg.f64 y)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 y y) x))
(/.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) (/.f64 #s(literal 1 binary64) x))
(/.f64 (/.f64 x y) y)
(/.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (neg.f64 y)) x))
(/.f64 (/.f64 x (neg.f64 y)) (neg.f64 y))
(/.f64 (/.f64 x (neg.f64 y)) (*.f64 #s(literal 1 binary64) (neg.f64 y)))
(/.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 y x))
(/.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (/.f64 #s(literal -1 binary64) x))
(/.f64 (/.f64 x (*.f64 y (neg.f64 y))) #s(literal -1 binary64))
(/.f64 (neg.f64 (*.f64 x (*.f64 x x))) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 x x)))
(/.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 y (neg.f64 x)))
(/.f64 (neg.f64 (*.f64 x x)) (*.f64 (*.f64 y (neg.f64 y)) x))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (/.f64 (*.f64 y (neg.f64 y)) x)) (*.f64 y (neg.f64 y))) (*.f64 (*.f64 y (neg.f64 y)) (/.f64 (*.f64 y (neg.f64 y)) x)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (neg.f64 y)) x)) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 y (neg.f64 y)) (neg.f64 x))) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) (neg.f64 y)) (*.f64 (*.f64 y (neg.f64 y)) (/.f64 x y))) (*.f64 (*.f64 y (neg.f64 y)) (neg.f64 y)))
(/.f64 (-.f64 (*.f64 #s(literal 0 binary64) y) (*.f64 (*.f64 y (neg.f64 y)) (/.f64 x (neg.f64 y)))) (*.f64 (*.f64 y (neg.f64 y)) y))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) #s(literal 1 binary64)) (*.f64 (*.f64 x x) (*.f64 y (neg.f64 y))))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) #s(literal -1 binary64)) (*.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) #s(literal 1 binary64)) (*.f64 x (*.f64 y (neg.f64 y))))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) #s(literal -1 binary64)) (*.f64 x (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 #s(literal 1 binary64) y)) (*.f64 (*.f64 x x) (neg.f64 y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 #s(literal 1 binary64) y)) (*.f64 x (neg.f64 y)))
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 #s(literal -1 binary64) y)) (*.f64 (*.f64 x x) y))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 #s(literal -1 binary64) y)) (*.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 x x))) (*.f64 (*.f64 y (neg.f64 y)) x))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 y y) (*.f64 x x)))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 x x))) (*.f64 (*.f64 y y) x))
(/.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 (neg.f64 y) (*.f64 x x)))
(/.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) (neg.f64 (*.f64 x x))) (*.f64 (neg.f64 y) x))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 y (*.f64 x x)))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) (neg.f64 (*.f64 x x))) (*.f64 y x))
(/.f64 (/.f64 (/.f64 x y) (sqrt.f64 y)) (sqrt.f64 y))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (/.f64 x (*.f64 y (neg.f64 y))) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (fma.f64 (/.f64 x (*.f64 y (neg.f64 y))) (/.f64 x (*.f64 y (neg.f64 y))) (*.f64 #s(literal 0 binary64) (/.f64 x (*.f64 y (neg.f64 y)))))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (/.f64 x (*.f64 y (neg.f64 y))) (/.f64 x (*.f64 y (neg.f64 y))))) (/.f64 x (*.f64 y (neg.f64 y))))
(/.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)) (/.f64 y (neg.f64 x)))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)) (/.f64 y (neg.f64 x)))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)) (/.f64 y x))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (neg.f64 (*.f64 x (*.f64 x x)))) (*.f64 x x))
(/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (neg.f64 (*.f64 x x))) x)
(/.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 #s(literal -1 binary64) (*.f64 y y))) (*.f64 x x))
(/.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 #s(literal -1 binary64) (*.f64 y y))) x)
(/.f64 (/.f64 (/.f64 x (neg.f64 y)) #s(literal -1 binary64)) y)
(pow.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))
(pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1 binary64))
(pow.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (/.f64 (*.f64 y y) x) (/.f64 (*.f64 y y) x)) #s(literal -1/2 binary64))
(pow.f64 (exp.f64 (log.f64 (/.f64 (*.f64 y y) x))) #s(literal -1 binary64))
(*.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (/.f64 x (*.f64 y y)) #s(literal 1 binary64))
(*.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) (*.f64 y y)))
(*.f64 #s(literal 1 binary64) (/.f64 x (*.f64 y y)))
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) x)
(*.f64 (/.f64 x y) (/.f64 #s(literal 1 binary64) y))
(*.f64 (/.f64 x y) (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 x (*.f64 y (neg.f64 y))))
(*.f64 (/.f64 x (neg.f64 y)) (/.f64 #s(literal -1 binary64) y))
(*.f64 (/.f64 x (neg.f64 y)) (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)))
(*.f64 (/.f64 x (neg.f64 y)) (/.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 x y))
(*.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 (/.f64 x y) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (neg.f64 x))
(*.f64 (/.f64 #s(literal -1 binary64) (*.f64 y y)) (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -1 binary64)))
(*.f64 (/.f64 x (*.f64 y (neg.f64 y))) #s(literal -1 binary64))
(*.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 x (neg.f64 y)))
(*.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 (/.f64 x (neg.f64 y)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) (/.f64 (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (*.f64 y y)))
(*.f64 (/.f64 x (sqrt.f64 y)) (/.f64 (/.f64 #s(literal 1 binary64) y) (sqrt.f64 y)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 y)) (/.f64 (/.f64 x (neg.f64 y)) (sqrt.f64 y)))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 y)) (/.f64 (/.f64 x y) (sqrt.f64 y)))
(*.f64 (/.f64 (/.f64 #s(literal 1 binary64) y) (sqrt.f64 y)) (/.f64 x (sqrt.f64 y)))
(*.f64 (/.f64 (neg.f64 x) (sqrt.f64 y)) (/.f64 (/.f64 #s(literal -1 binary64) y) (sqrt.f64 y)))
(*.f64 (/.f64 (/.f64 x y) (sqrt.f64 y)) (/.f64 #s(literal 1 binary64) (sqrt.f64 y)))
(*.f64 (/.f64 (/.f64 #s(literal 1 binary64) y) #s(literal 1 binary64)) (/.f64 x y))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) y) #s(literal -1 binary64)) (/.f64 x (neg.f64 y)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)) (/.f64 x y))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64))) (pow.f64 (/.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (neg.f64 x) (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))) (*.f64 y (*.f64 y (*.f64 y y))))
(*.f64 (/.f64 (neg.f64 x) (neg.f64 (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 y y))
(+.f64 (*.f64 y y) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 y y))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal 1 binary64)))
(exp.f64 (neg.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))
(-.f64 #s(literal 0 binary64) (*.f64 y (neg.f64 y)))
(fma.f64 y y #s(literal 0 binary64))
(fma.f64 (*.f64 y y) #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 y (neg.f64 y)) #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 y y) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) (*.f64 y (neg.f64 y)) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) (pow.f64 (*.f64 y (neg.f64 y)) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (neg.f64 y) (neg.f64 y) #s(literal 0 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (sqrt.f64 y) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)) #s(literal 0 binary64))
(fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y) #s(literal 0 binary64))
(fma.f64 (pow.f64 (neg.f64 y) #s(literal 1 binary64)) (pow.f64 (neg.f64 y) #s(literal 1 binary64)) #s(literal 0 binary64))
(fma.f64 (/.f64 (sqrt.f64 y) #s(literal 1 binary64)) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)) #s(literal 0 binary64))
(fma.f64 (*.f64 y (sqrt.f64 y)) (sqrt.f64 y) #s(literal 0 binary64))
(fma.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y) #s(literal 0 binary64))
(neg.f64 (*.f64 y (neg.f64 y)))
(/.f64 y (/.f64 #s(literal 1 binary64) y))
(/.f64 (*.f64 y y) #s(literal 1 binary64))
(/.f64 (*.f64 y (neg.f64 y)) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (*.f64 y y)))
(/.f64 (neg.f64 y) (/.f64 #s(literal -1 binary64) y))
(/.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))) (neg.f64 (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 #s(literal -1 binary64) (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 (neg.f64 (*.f64 y (*.f64 y (*.f64 y y)))) (*.f64 y (neg.f64 y)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (neg.f64 (neg.f64 (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 y y))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))) (+.f64 #s(literal 0 binary64) (-.f64 (*.f64 y (*.f64 y (*.f64 y y))) #s(literal 0 binary64))))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (*.f64 y (neg.f64 y)) #s(literal 3 binary64))) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (*.f64 #s(literal -1 binary64) (neg.f64 (*.f64 y (*.f64 y (*.f64 y y))))) (*.f64 y y))
(pow.f64 y #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal -1 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 y))
(*.f64 y y)
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 (*.f64 y (neg.f64 y)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 #s(literal -1 binary64) (*.f64 y (neg.f64 y)))
(*.f64 #s(literal -1 binary64) (pow.f64 (*.f64 y (neg.f64 y)) #s(literal 1 binary64)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 y) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y))
(*.f64 (pow.f64 (neg.f64 y) #s(literal 1 binary64)) (pow.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (/.f64 (sqrt.f64 y) #s(literal 1 binary64)) (/.f64 (sqrt.f64 y) (/.f64 #s(literal 1 binary64) y)))
(*.f64 (*.f64 y (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y))

eval6.0ms (0.5%)

Memory
5.9MiB live, 5.9MiB allocated
Compiler

Compiled 362 to 4 computations (98.9% saved)

prune1.0ms (0.1%)

Memory
1.1MiB live, 1.1MiB allocated
Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New72072
Fresh000
Picked011
Done000
Total72173
Accuracy
88.6%
Counts
73 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(/.f64 x (*.f64 y y))
Compiler

Compiled 14 to 8 computations (42.9% saved)

simplify5.0ms (0.4%)

Memory
9.8MiB live, 9.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 x (*.f64 y y))
Outputs
(/.f64 x (*.f64 y y))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
done
Compiler

Compiled 7 to 4 computations (42.9% saved)

preprocess110.0ms (9%)

Memory
12.1MiB live, 50.9MiB allocated
Remove

(negabs x)

(abs y)

Compiler

Compiled 98 to 56 computations (42.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...