Numeric.SpecFunctions:$slogFactorial from math-functions-0.1.5.2, A

Time bar (total: 2.2s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze1.0ms (0.1%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
75%75%25%0%0%0%0%3
87.5%87.5%12.5%0%0%0%0%4
93.8%93.7%6.2%0%0%0%0%5
96.9%96.8%3.1%0%0%0%0%6
98.4%98.4%1.6%0%0%0%0%7
99.2%99.2%0.8%0%0%0%0%8
99.6%99.6%0.4%0%0%0%0%9
99.8%99.8%0.2%0%0%0%0%10
99.9%99.9%0.1%0%0%0%0%11
100%99.9%0%0%0%0%0%12
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample457.0ms (21.1%)

Memory
26.7MiB live, 1 093.3MiB allocated
Samples
277.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 140.0ms
ival-mult: 66.0ms (47.2% of total)
ival-div: 59.0ms (42.2% of total)
ival-true: 6.0ms (4.3% of total)
exact: 5.0ms (3.6% of total)
ival-assert: 3.0ms (2.1% of total)
Bogosity

explain44.0ms (2%)

Memory
-9.4MiB live, 111.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
50-0-(/.f64 #s(literal 1 binary64) (*.f64 x x))
00-0-#s(literal 1 binary64)
00-0-(*.f64 x x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 #s(literal 1 binary64) (*.f64 x x))n/o50
(*.f64 x x)overflow73
Confusion
Predicted +Predicted -
+50
-0251
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+500
-00251
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0251
15
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
21.0ms512×0valid
Compiler

Compiled 29 to 16 computations (44.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 6.0ms (53.4% of total)
ival-div: 5.0ms (44.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess17.0ms (0.8%)

Memory
1.1MiB live, 40.2MiB allocated
Algorithm
egg-herbie
Rules
30×associate-/r*
26×unsub-neg
26×div-sub
24×distribute-lft-neg-in
20×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
12410
26710
313510
418510
522310
623510
045
065
1105
0105
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Outputs
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Symmetry

(abs x)

Compiler

Compiled 5 to 4 computations (20% saved)

eval0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.9%
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Compiler

Compiled 5 to 4 computations (20% saved)

simplify3.0ms (0.1%)

Memory
7.4MiB live, 7.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Rules
lower-/.f32
lower-/.f64
lift-/.f64
1-exp
lift-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0410
0610
11010
01010
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) (*.f64 x x))
#s(literal 1 binary64)
(*.f64 x x)
x
Outputs
(/.f64 #s(literal 1 binary64) (*.f64 x x))
#s(literal 1 binary64)
(*.f64 x x)
x

localize14.0ms (0.6%)

Memory
-7.7MiB live, 31.3MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.7198032840812708
(/.f64 #s(literal 1 binary64) (*.f64 x x))
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 (53.5% of total)
ival-mult: 2.0ms (53.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0.1%)

Memory
5.7MiB live, 5.7MiB allocated
Counts
2 → 24
Calls
Call 1
Inputs
#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 x x)) (patch (/.f64 #s(literal 1 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
((/ 1 (* x x)) (* x x))
0.0ms
x
@inf
((/ 1 (* x x)) (* x x))
0.0ms
x
@-inf
((/ 1 (* x x)) (* x x))

simplify3.0ms (0.1%)

Memory
7.8MiB live, 7.8MiB allocated
Algorithm
egg-herbie
Rules
lower-/.f32
lower-/.f64
lower-*.f64
lower-pow.f64
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0596
1896
21096
01096
Stop Event
iter limit
saturated
Counts
24 → 24
Calls
Call 1
Inputs
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)

rewrite69.0ms (3.2%)

Memory
-39.5MiB live, 96.7MiB allocated
Rules
426×lower-*.f32
424×lower-*.f64
306×lower-/.f32
304×lower-/.f64
242×lower-fma.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
048
068
1206
2726
32606
010926
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
2 → 110
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(*.f64 x x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval14.0ms (0.6%)

Memory
2.5MiB live, 41.6MiB allocated
Compiler

Compiled 1 151 to 263 computations (77.2% saved)

prune4.0ms (0.2%)

Memory
14.4MiB live, 14.4MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1313134
Fresh000
Picked011
Done000
Total1314135
Accuracy
100.0%
Counts
135 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x #s(literal -2 binary64))
99.8%
(/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x))
98.6%
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
98.9%
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Compiler

Compiled 23 to 18 computations (21.7% saved)

simplify25.0ms (1.2%)

Memory
-13.5MiB live, 25.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 x #s(literal -2 binary64))
cost-diff0
(neg.f64 x)
cost-diff0
(/.f64 #s(literal -1 binary64) x)
cost-diff512
(/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x))
cost-diff0
(sqrt.f64 x)
cost-diff0
(*.f64 x (sqrt.f64 x))
cost-diff0
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
cost-diff1600
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
Rules
224×lower-fma.f64
224×lower-fma.f32
224×lower-*.f32
220×lower-*.f64
154×times-frac
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01242
02045
13433
25633
310933
418033
521833
625233
727533
829733
932233
1033633
1142233
1256633
1360533
1460733
1560833
060833
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
#s(literal 1 binary64)
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 x (sqrt.f64 x))
x
(sqrt.f64 x)
(/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x))
(/.f64 #s(literal -1 binary64) x)
#s(literal -1 binary64)
x
(neg.f64 x)
(pow.f64 x #s(literal -2 binary64))
x
#s(literal -2 binary64)
Outputs
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
#s(literal 1 binary64)
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 x x)
(*.f64 x (sqrt.f64 x))
(*.f64 (sqrt.f64 x) x)
x
(sqrt.f64 x)
(/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/.f64 #s(literal -1 binary64) x)
#s(literal -1 binary64)
x
(neg.f64 x)
(pow.f64 x #s(literal -2 binary64))
x
#s(literal -2 binary64)

localize39.0ms (1.8%)

Memory
-5.4MiB live, 72.9MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0
(pow.f64 x #s(literal -2 binary64))
accuracy0
(/.f64 #s(literal -1 binary64) x)
accuracy0
(neg.f64 x)
accuracy0.11328125
(/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x))
accuracy0
(sqrt.f64 x)
accuracy0.1484375
(*.f64 x (sqrt.f64 x))
accuracy0.185878759768442
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
accuracy0.7198032840812708
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
Samples
28.0ms256×0valid
Compiler

Compiled 44 to 14 computations (68.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-pow: 6.0ms (33.3% of total)
ival-div: 5.0ms (27.8% of total)
ival-mult: 3.0ms (16.7% of total)
ival-sqrt: 2.0ms (11.1% of total)
ival-neg: 1.0ms (5.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series8.0ms (0.4%)

Memory
17.9MiB live, 17.9MiB allocated
Counts
8 → 96
Calls
Call 1
Inputs
#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())
#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())
#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())
#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (sqrt (pow x 3)) (taylor 0 x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt (pow x 3)) (taylor 0 x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt (pow x 3)) (taylor 0 x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt (pow x 3)) (taylor 0 x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (sqrt (pow x 3)) (taylor inf x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt (pow x 3)) (taylor inf x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt (pow x 3)) (taylor inf x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt (pow x 3)) (taylor inf x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) (patch (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) (patch (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (*.f64 x (sqrt.f64 x)) (patch (*.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) x) (patch (/.f64 #s(literal -1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (pow.f64 x #s(literal -2 binary64)) (patch (pow.f64 x #s(literal -2 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
4.0ms
x
@-inf
((* (* x (sqrt x)) (sqrt x)) (/ 1 (* (* x (sqrt x)) (sqrt x))) (* x (sqrt x)) (sqrt x) (/ (/ -1 x) (neg x)) (/ -1 x) (neg x) (pow x -2))
2.0ms
x
@inf
((* (* x (sqrt x)) (sqrt x)) (/ 1 (* (* x (sqrt x)) (sqrt x))) (* x (sqrt x)) (sqrt x) (/ (/ -1 x) (neg x)) (/ -1 x) (neg x) (pow x -2))
1.0ms
x
@0
((* (* x (sqrt x)) (sqrt x)) (/ 1 (* (* x (sqrt x)) (sqrt x))) (* x (sqrt x)) (sqrt x) (/ (/ -1 x) (neg x)) (/ -1 x) (neg x) (pow x -2))

simplify64.0ms (2.9%)

Memory
3.9MiB live, 42.7MiB allocated
Algorithm
egg-herbie
Rules
608×lower-*.f64
608×lower-fma.f64
608×lower-fma.f32
608×lower-*.f32
392×unsub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021348
146348
2119348
3268348
4673348
51132348
61458348
71834348
82076348
92113348
102113348
112113348
122113348
132113348
02113348
Stop Event
iter limit
saturated
Counts
96 → 96
Calls
Call 1
Inputs
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(sqrt (pow x 3))
(sqrt (pow x 3))
(sqrt (pow x 3))
(sqrt (pow x 3))
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(sqrt (pow x 3))
(sqrt (pow x 3))
(sqrt (pow x 3))
(sqrt (pow x 3))
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
Outputs
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(*.f64 x x)
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(*.f64 x x)
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(*.f64 x x)
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(*.f64 x x)
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))

rewrite86.0ms (4%)

Memory
-8.1MiB live, 111.5MiB allocated
Rules
382×lower-*.f32
378×lower-*.f64
232×lower-/.f32
226×lower-/.f64
164×lower-fma.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01236
02045
16222
226821
0115521
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
8 → 414
Calls
Call 1
Inputs
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
(*.f64 x (sqrt.f64 x))
(sqrt.f64 x)
(/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x))
(/.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(pow.f64 x #s(literal -2 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval55.0ms (2.5%)

Memory
28.4MiB live, 103.1MiB allocated
Compiler

Compiled 4 917 to 800 computations (83.7% saved)

prune24.0ms (1.1%)

Memory
-34.1MiB live, 44.5MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New5391540
Fresh000
Picked033
Done011
Total5395544
Accuracy
100.0%
Counts
544 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x #s(literal -2 binary64))
99.6%
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
99.8%
(/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x))
98.6%
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
98.9%
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Compiler

Compiled 33 to 25 computations (24.2% saved)

simplify25.0ms (1.2%)

Memory
33.4MiB live, 33.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 x)
cost-diff0
(/.f64 #s(literal -1 binary64) (sqrt.f64 x))
cost-diff512
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
cost-diff1984
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x))
Rules
224×lower-*.f64
224×lower-fma.f64
224×lower-fma.f32
224×lower-*.f32
158×times-frac
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0727
01227
12119
24318
310618
417718
521118
624318
726618
829318
931918
1032718
1140618
1255018
1358918
1459118
1559218
059218
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x))
(/.f64 #s(literal -1 binary64) (sqrt.f64 x))
#s(literal -1 binary64)
(sqrt.f64 x)
x
(neg.f64 x)
Outputs
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x))
(/.f64 #s(literal -1 binary64) x)
(/.f64 #s(literal -1 binary64) (sqrt.f64 x))
#s(literal -1 binary64)
(sqrt.f64 x)
x
(neg.f64 x)

localize25.0ms (1.2%)

Memory
-1.8MiB live, 35.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(neg.f64 x)
accuracy0.11328125
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
accuracy0.21875
(/.f64 #s(literal -1 binary64) (sqrt.f64 x))
accuracy0.34375
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x))
Samples
20.0ms256×0valid
Compiler

Compiled 29 to 9 computations (69% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-div: 7.0ms (50.9% of total)
ival-sqrt: 6.0ms (43.6% of total)
ival-neg: 1.0ms (7.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series9.0ms (0.4%)

Memory
-28.0MiB live, 10.4MiB allocated
Counts
5 → 60
Calls
Call 1
Inputs
#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())
#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())
#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
Outputs
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (* x (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (* x (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (* x (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (* x (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (patch (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt x) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt (sqrt.f64 x) (patch (sqrt.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
5.0ms
x
@-inf
((/ (/ -1 (sqrt x)) (sqrt x)) (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/ -1 (sqrt x)) (sqrt x) (neg x))
1.0ms
x
@0
((/ (/ -1 (sqrt x)) (sqrt x)) (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/ -1 (sqrt x)) (sqrt x) (neg x))
1.0ms
x
@inf
((/ (/ -1 (sqrt x)) (sqrt x)) (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/ -1 (sqrt x)) (sqrt x) (neg x))

simplify50.0ms (2.3%)

Memory
4.9MiB live, 52.2MiB allocated
Algorithm
egg-herbie
Rules
420×lower-*.f64
420×lower-fma.f64
420×lower-fma.f32
420×lower-*.f32
212×div-sub
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020204
138204
287204
3156204
4315204
5556204
6954204
71260204
81414204
91434204
101434204
111434204
01434204
Stop Event
iter limit
saturated
Counts
60 → 60
Calls
Call 1
Inputs
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(/ 1 (* x (pow (sqrt -1) 2)))
(/ 1 (* x (pow (sqrt -1) 2)))
(/ 1 (* x (pow (sqrt -1) 2)))
(/ 1 (* x (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
Outputs
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ 1 (pow x 2))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(/ 1 (* x (pow (sqrt -1) 2)))
(/.f64 #s(literal -1 binary64) x)
(/ 1 (* x (pow (sqrt -1) 2)))
(/.f64 #s(literal -1 binary64) x)
(/ 1 (* x (pow (sqrt -1) 2)))
(/.f64 #s(literal -1 binary64) x)
(/ 1 (* x (pow (sqrt -1) 2)))
(/.f64 #s(literal -1 binary64) x)
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)

rewrite64.0ms (2.9%)

Memory
5.7MiB live, 121.4MiB allocated
Rules
1 544×lower-fma.f64
1 544×lower-fma.f32
1 168×lower-*.f64
1 168×lower-*.f32
1 154×frac-times
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0725
01225
14316
226215
3219012
0804212
Stop Event
iter limit
node limit
iter limit
Counts
5 → 783
Calls
Call 1
Inputs
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x))
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
(/.f64 #s(literal -1 binary64) (sqrt.f64 x))
(sqrt.f64 x)
(neg.f64 x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval119.0ms (5.5%)

Memory
11.1MiB live, 204.5MiB allocated
Compiler

Compiled 13 343 to 2 177 computations (83.7% saved)

prune17.0ms (0.8%)

Memory
12.7MiB live, 49.4MiB allocated
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New9832985
Fresh000
Picked011
Done134
Total9846990
Accuracy
100.0%
Counts
990 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x #s(literal -2 binary64))
99.6%
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x))
99.6%
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
98.6%
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
98.9%
(/.f64 #s(literal 1 binary64) (*.f64 x x))
99.8%
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
Compiler

Compiled 45 to 33 computations (26.7% saved)

simplify286.0ms (13.2%)

Memory
-136.1MiB live, 90.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x)))
cost-diff512
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x))
cost-diff704
(/.f64 x (sqrt.f64 x))
cost-diff1984
(/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x))
cost-diff0
(/.f64 #s(literal 1 binary64) x)
cost-diff0
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
cost-diff384
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
Rules
3 316×lower-*.f64
3 316×lower-*.f32
2 570×lower-fma.f64
2 570×lower-fma.f32
2 504×lower-/.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01763
02658
14554
29746
329641
4104341
5221941
6354241
7437941
8567041
9650141
10697641
11756541
0809441
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x))
(/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x))
(/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x)))
#s(literal -1 binary64)
(/.f64 x (sqrt.f64 x))
x
(sqrt.f64 x)
(neg.f64 x)
Outputs
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 #s(literal 1 binary64) (*.f64 x x)))
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x))
(/.f64 #s(literal -1 binary64) x)
(/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x)))
(/.f64 #s(literal -1 binary64) (sqrt.f64 x))
#s(literal -1 binary64)
(/.f64 x (sqrt.f64 x))
(sqrt.f64 x)
x
(sqrt.f64 x)
(neg.f64 x)

localize57.0ms (2.6%)

Memory
-18.0MiB live, 62.7MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0.11328125
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x))
accuracy0.21875
(/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x)))
accuracy0.34375
(/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x))
accuracy0.45703125
(/.f64 x (sqrt.f64 x))
accuracy0
(/.f64 #s(literal 1 binary64) x)
accuracy0
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
accuracy0.11328125
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
Samples
32.0ms256×0valid
Compiler

Compiled 59 to 16 computations (72.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-div: 20.0ms (84.2% of total)
ival-sqrt: 2.0ms (8.4% of total)
ival-neg: 1.0ms (4.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.2%)

Memory
9.2MiB live, 9.2MiB allocated
Counts
7 → 84
Calls
Call 1
Inputs
#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())
#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())
#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())
#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())
#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())
Outputs
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor 0 x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor 0 x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor 0 x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor inf x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (sqrt (/ 1 x))) (taylor inf x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal 1 binary64) x) x) (patch (/.f64 (/.f64 #s(literal 1 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 (* (pow x 2) (pow (sqrt -1) 2))) (taylor -inf x) (#s(alt #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) (patch #s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ -1 x) (taylor -inf x) (#s(alt (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (patch (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor -inf x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor -inf x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor -inf x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt x) (taylor -inf x) (#s(alt (/.f64 x (sqrt.f64 x)) (patch (/.f64 x (sqrt.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ 1 (pow x 2)) (taylor -inf x) (#s(alt (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) (patch (/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* (sqrt (/ 1 x)) (pow (sqrt -1) 2)) (taylor -inf x) (#s(alt (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (patch (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
((/ (/ 1 x) x) (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/ 1 x) (/ (/ -1 (/ x (sqrt x))) (sqrt x)) (/ x (sqrt x)) (/ (/ (/ -1 (/ x (sqrt x))) (sqrt x)) (neg x)) (/ -1 (/ x (sqrt x))))
1.0ms
x
@0
((/ (/ 1 x) x) (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/ 1 x) (/ (/ -1 (/ x (sqrt x))) (sqrt x)) (/ x (sqrt x)) (/ (/ (/ -1 (/ x (sqrt x))) (sqrt x)) (neg x)) (/ -1 (/ x (sqrt x))))
1.0ms
x
@inf
((/ (/ 1 x) x) (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/ 1 x) (/ (/ -1 (/ x (sqrt x))) (sqrt x)) (/ x (sqrt x)) (/ (/ (/ -1 (/ x (sqrt x))) (sqrt x)) (neg x)) (/ -1 (/ x (sqrt x))))

simplify17.0ms (0.8%)

Memory
-22.8MiB live, 13.6MiB allocated
Algorithm
egg-herbie
Rules
64×associate-/r*
60×lower-+.f64
60×lower-+.f32
58×lower-*.f64
58×lower-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016336
126336
253336
386336
4110336
5120336
6137336
7156336
8170336
9192336
10211336
11233336
12235336
0235336
Stop Event
iter limit
saturated
Counts
84 → 84
Calls
Call 1
Inputs
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(* -1 (sqrt (/ 1 x)))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(/ -1 x)
(sqrt x)
(sqrt x)
(sqrt x)
(sqrt x)
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(/ 1 (pow x 2))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
Outputs
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* -1 (sqrt (/ 1 x)))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ -1 (* (pow x 2) (pow (sqrt -1) 2)))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(/ -1 x)
(/.f64 #s(literal -1 binary64) x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(sqrt x)
(sqrt.f64 x)
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(/ 1 (pow x 2))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))
(* (sqrt (/ 1 x)) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) x)))

rewrite86.0ms (4%)

Memory
0.6MiB live, 87.2MiB allocated
Rules
896×lower-*.f64
896×lower-*.f32
668×lower-/.f32
656×lower-/.f64
496×times-frac
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01755
02648
19733
259025
0253025
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
7 → 320
Calls
Call 1
Inputs
(/.f64 (/.f64 #s(literal 1 binary64) x) x)
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
(/.f64 #s(literal 1 binary64) x)
(/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x))
(/.f64 x (sqrt.f64 x))
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x))
(/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x)))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval42.0ms (1.9%)

Memory
0.4MiB live, 75.8MiB allocated
Compiler

Compiled 4 346 to 848 computations (80.5% saved)

prune15.0ms (0.7%)

Memory
-4.1MiB live, 34.9MiB allocated
Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New4022404
Fresh000
Picked112
Done044
Total4037410
Accuracy
100.0%
Counts
410 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x #s(literal -2 binary64))
99.7%
(/.f64 (/.f64 (/.f64 (sqrt.f64 x) (neg.f64 x)) (sqrt.f64 x)) (neg.f64 x))
99.6%
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
98.6%
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
98.9%
(/.f64 #s(literal 1 binary64) (*.f64 x x))
99.8%
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
99.5%
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1 binary64) (sqrt.f64 x))) x))
Compiler

Compiled 130 to 68 computations (47.7% saved)

regimes9.0ms (0.4%)

Memory
16.5MiB live, 16.5MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) (*.f64 x x))
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
(/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x))
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
(/.f64 (/.f64 (/.f64 (sqrt.f64 x) (neg.f64 x)) (sqrt.f64 x)) (neg.f64 x))
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1 binary64) (sqrt.f64 x))) x))
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x))
(pow.f64 x #s(literal -2 binary64))
Outputs
(pow.f64 x #s(literal -2 binary64))
Calls

3 calls:

3.0ms
x
3.0ms
(*.f64 x x)
3.0ms
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(/.f64 #s(literal 1 binary64) (*.f64 x x))
100.0%1(*.f64 x x)
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes9.0ms (0.4%)

Memory
15.6MiB live, 15.6MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) (*.f64 x x))
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
(/.f64 (/.f64 #s(literal -1 binary64) x) (neg.f64 x))
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (sqrt.f64 x)) (neg.f64 x))
(/.f64 (/.f64 (/.f64 (sqrt.f64 x) (neg.f64 x)) (sqrt.f64 x)) (neg.f64 x))
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 x)) (/.f64 #s(literal -1 binary64) (sqrt.f64 x))) x))
(/.f64 (/.f64 (/.f64 #s(literal -1 binary64) (/.f64 x (sqrt.f64 x))) (sqrt.f64 x)) (neg.f64 x))
Outputs
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
Calls

3 calls:

3.0ms
x
3.0ms
(*.f64 x x)
3.0ms
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Results
AccuracySegmentsBranch
99.8%1x
99.8%1(/.f64 #s(literal 1 binary64) (*.f64 x x))
99.8%1(*.f64 x x)
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes6.0ms (0.3%)

Memory
-36.3MiB live, 8.2MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Outputs
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Calls

3 calls:

4.0ms
x
1.0ms
(/.f64 #s(literal 1 binary64) (*.f64 x x))
1.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
98.9%1x
98.9%1(/.f64 #s(literal 1 binary64) (*.f64 x x))
98.9%1(*.f64 x x)
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify23.0ms (1.1%)

Memory
4.2MiB live, 42.8MiB allocated
Algorithm
egg-herbie
Rules
1-exp-binary32-exp.f32
1-exp-binary64-exp.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01524
11824
Stop Event
saturated
Calls
Call 1
Inputs
(pow.f64 x #s(literal -2 binary64))
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
(/.f64 #s(literal 1 binary64) (*.f64 x x))
Outputs
(pow.f64 x #s(literal -2 binary64))
#s(approx (/ (/ (/ -1 (sqrt x)) (sqrt x)) (neg x)) (/.f64 (/.f64 #s(literal 1 binary64) x) x))
(/.f64 #s(literal 1 binary64) (*.f64 x x))

soundness328.0ms (15.1%)

Memory
31.1MiB live, 224.9MiB allocated
Rules
426×lower-*.f32
424×lower-*.f64
420×lower-*.f64
420×lower-fma.f64
420×lower-fma.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
020204
138204
287204
3156204
4315204
5556204
6954204
71260204
81414204
91434204
101434204
111434204
01434204
01236
02045
16222
226821
0115521
048
068
1206
2726
32606
010926
Stop Event
fuel
iter limit
iter limit
node limit
iter limit
iter limit
iter limit
iter limit
unsound
iter limit
iter limit
saturated
Compiler

Compiled 54 to 36 computations (33.3% saved)

preprocess46.0ms (2.1%)

Memory
5.2MiB live, 86.7MiB allocated
Remove

(abs x)

Compiler

Compiled 60 to 46 computations (23.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...