Details

Time bar (total: 14.6s)

analyze14.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%100%0%0%0%0%3
62.5%62.5%37.5%0%0%0%0%4
81.3%81.2%18.7%0%0%0%0%5
90.6%90.6%9.4%0%0%0%0%6
95.3%95.3%4.7%0%0%0%0%7
97.7%97.6%2.3%0%0%0%0%8
98.8%98.8%1.2%0%0%0%0%9
99.4%99.4%0.6%0%0%0%0%10
99.7%99.7%0.3%0%0%0%0%11
99.9%99.8%0.1%0%0%0%0%12
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample11.0s (75.4%)

Results
8.9s4222×body2048valid
2.0s4034×body256valid
Bogosity

preprocess200.0ms (1.4%)

Algorithm
egg-herbie
Rules
1360×rational_best-simplify-83
1138×rational_best-simplify-66
966×rational_best-simplify-3
902×rational_best-simplify-1
900×rational_best-simplify-55
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
12035
23635
36729
413723
534323
690923
7333823
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (/.f64 x x) (*.f64 (/.f64 1 x) (sqrt.f64 (*.f64 x x))))
Outputs
(-.f64 (/.f64 x x) (*.f64 (/.f64 1 x) (sqrt.f64 (*.f64 x x))))
(-.f64 (/.f64 x x) (*.f64 1 (/.f64 (sqrt.f64 (*.f64 x x)) x)))
(-.f64 (/.f64 x x) (/.f64 (sqrt.f64 (*.f64 x x)) x))
(/.f64 (-.f64 x (sqrt.f64 (*.f64 x x))) x)
Compiler

Compiled 14 to 9 computations (35.7% saved)

simplify270.0ms (1.8%)

Algorithm
egg-herbie
Rules
1360×rational_best-simplify-83
1138×rational_best-simplify-66
966×rational_best-simplify-3
902×rational_best-simplify-1
900×rational_best-simplify-55
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01135
12035
23635
36729
413723
534323
690923
7333823
Stop Event
node limit
Counts
1 → 4
Calls
Call 1
Inputs
(-.f64 (/.f64 x x) (*.f64 (/.f64 1 x) (sqrt.f64 (*.f64 x x))))
Outputs
(-.f64 (/.f64 x x) (*.f64 (/.f64 1 x) (sqrt.f64 (*.f64 x x))))
(-.f64 (/.f64 x x) (*.f64 1 (/.f64 (sqrt.f64 (*.f64 x x)) x)))
(-.f64 (/.f64 x x) (/.f64 (sqrt.f64 (*.f64 x x)) x))
(/.f64 (-.f64 x (sqrt.f64 (*.f64 x x))) x)

eval1.0ms (0%)

Compiler

Compiled 43 to 15 computations (65.1% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New224
Fresh101
Picked000
Done000
Total325
Error
30.0b
Counts
5 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
30.0b
(/.f64 (-.f64 x (sqrt.f64 (*.f64 x x))) x)
30.0b
(-.f64 (/.f64 x x) (/.f64 (sqrt.f64 (*.f64 x x)) x))
Compiler

Compiled 20 to 11 computations (45% saved)

localize29.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
28.9b
(sqrt.f64 (*.f64 x x))
Compiler

Compiled 28 to 6 computations (78.6% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite455.0ms (3.1%)

Algorithm
batch-egg-rewrite
Rules
1388×rational_best-4
1388×rational_best-2
1388×rational_best-3
1388×rational_best-1
1388×exponential-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
14111
29311
324711
484011
5396011
Stop Event
node limit
Counts
1 → 101
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4)) (/.f64 (sqrt.f64 (*.f64 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 2) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 4) (/.f64 (sqrt.f64 (*.f64 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4)) (neg.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 x x)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 x x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (neg.f64 (neg.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (sqrt.f64 (*.f64 x (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 x) 2) (/.f64 (sqrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 x) 2) (*.f64 (sqrt.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (sqrt.f64 x)) (fabs.f64 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fabs.f64 x)) (sqrt.f64 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (sqrt.f64 (*.f64 x x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 2) (*.f64 (sqrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (sqrt.f64 x)) (*.f64 1/2 (neg.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (neg.f64 x))) (*.f64 1/2 (sqrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (fabs.f64 x))) (*.f64 1/2 (sqrt.f64 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 x) 2)) (/.f64 (sqrt.f64 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 x) 2)) (*.f64 1/2 (/.f64 (sqrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (fabs.f64 (sqrt.f64 x))) (fabs.f64 (/.f64 (sqrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (fabs.f64 (sqrt.f64 x))) (*.f64 1/2 (fabs.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (fabs.f64 (sqrt.f64 x))) (/.f64 (fabs.f64 (sqrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (sqrt.f64 (neg.f64 x))) (fabs.f64 (sqrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (sqrt.f64 (fabs.f64 x))) (fabs.f64 (sqrt.f64 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (+.f64 x x))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 x (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (/.f64 (sqrt.f64 x) 2)) (*.f64 2 (fabs.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 x) 1/2) (*.f64 (sqrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (neg.f64 (sqrt.f64 x))) (*.f64 -2 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (fabs.f64 (sqrt.f64 x))) (*.f64 2 (fabs.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (neg.f64 x))) (*.f64 2 (sqrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (fabs.f64 x))) (*.f64 2 (sqrt.f64 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 x) 4) (*.f64 2 (*.f64 (sqrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fabs.f64 (sqrt.f64 x)) 2) (*.f64 2 (fabs.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (neg.f64 (neg.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 (+.f64 x x))) (*.f64 (/.f64 (sqrt.f64 x) 2) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fabs.f64 (sqrt.f64 x))) (neg.f64 (fabs.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (neg.f64 x))) (neg.f64 (sqrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fabs.f64 x))) (neg.f64 (sqrt.f64 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (sqrt.f64 x) 2)) (*.f64 2 (*.f64 (sqrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 x) 2) (sqrt.f64 1/2)) (+.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (sqrt.f64 (*.f64 x (+.f64 x x)))) (fabs.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (sqrt.f64 1/2)) (fabs.f64 (sqrt.f64 (*.f64 x (+.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (sqrt.f64 (+.f64 x x))) (fabs.f64 (sqrt.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (sqrt.f64 (*.f64 x 1/2))) (fabs.f64 (sqrt.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (fabs.f64 x) 2)) (sqrt.f64 (/.f64 (fabs.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 x (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x 4)) (sqrt.f64 (/.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x 4)) (sqrt.f64 (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (*.f64 x 1/2))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (fabs.f64 x) 2)) (sqrt.f64 (*.f64 (fabs.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (*.f64 x 4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x 4)) (sqrt.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x 1/4)) (sqrt.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (neg.f64 (fabs.f64 x))) (sqrt.f64 (neg.f64 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 x) 2)) (*.f64 2 (*.f64 (sqrt.f64 x) 2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (sqrt.f64 x) (fabs.f64 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (neg.f64 (sqrt.f64 x)) (fabs.f64 (sqrt.f64 x))))))))

simplify294.0ms (2%)

Algorithm
egg-herbie
Rules
1378×rational_best-simplify-51
904×rational_best-simplify-76
896×rational_best-simplify-75
736×rational_best-simplify-66
664×rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02011139
14511139
211301139
338691139
Stop Event
node limit
Counts
113 → 105
Calls
Call 1
Inputs
x
x
x
x
x
x
x
x
(*.f64 -1 x)
(*.f64 -1 x)
(*.f64 -1 x)
(*.f64 -1 x)
(+.f64 (sqrt.f64 (*.f64 x x)) 0)
(+.f64 0 (sqrt.f64 (*.f64 x x)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 2) 2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 4))
(+.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4)) (/.f64 (sqrt.f64 (*.f64 x x)) 4))
(+.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 2) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 4) (/.f64 (sqrt.f64 (*.f64 x x)) 4))
(-.f64 (sqrt.f64 (*.f64 x x)) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 x x))))
(-.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) -2))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4)) (neg.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 x x)) -2) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 x x))) 4))
(*.f64 (sqrt.f64 (*.f64 x x)) 1)
(*.f64 1 (sqrt.f64 (*.f64 x x)))
(*.f64 (sqrt.f64 x) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (neg.f64 (neg.f64 (sqrt.f64 x))))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 x x)) 2))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 1/2))
(*.f64 2 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 2)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 x x)) 2))
(*.f64 1/2 (sqrt.f64 (*.f64 x (*.f64 x 4))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 x x))) -1)
(*.f64 (*.f64 (sqrt.f64 x) 2) (/.f64 (sqrt.f64 x) 2))
(*.f64 (*.f64 (sqrt.f64 x) 2) (*.f64 (sqrt.f64 x) 1/2))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 4) 1/4)
(*.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) 2)
(*.f64 (neg.f64 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x)))
(*.f64 (fabs.f64 (sqrt.f64 x)) (fabs.f64 (sqrt.f64 x)))
(*.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)))
(*.f64 (sqrt.f64 (fabs.f64 x)) (sqrt.f64 (fabs.f64 x)))
(*.f64 -2 (/.f64 (sqrt.f64 (*.f64 x x)) -2))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 x x)) 4))
(*.f64 (/.f64 (sqrt.f64 x) 2) (*.f64 (sqrt.f64 x) 2))
(*.f64 (*.f64 -2 (sqrt.f64 x)) (*.f64 1/2 (neg.f64 (sqrt.f64 x))))
(*.f64 (*.f64 2 (sqrt.f64 (neg.f64 x))) (*.f64 1/2 (sqrt.f64 (neg.f64 x))))
(*.f64 (*.f64 2 (sqrt.f64 (fabs.f64 x))) (*.f64 1/2 (sqrt.f64 (fabs.f64 x))))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)) 1/8)
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 x) 2)) (/.f64 (sqrt.f64 x) 4))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 x) 2)) (*.f64 1/2 (/.f64 (sqrt.f64 x) 2)))
(*.f64 (*.f64 2 (fabs.f64 (sqrt.f64 x))) (fabs.f64 (/.f64 (sqrt.f64 x) 2)))
(*.f64 (*.f64 2 (fabs.f64 (sqrt.f64 x))) (*.f64 1/2 (fabs.f64 (sqrt.f64 x))))
(*.f64 (*.f64 2 (fabs.f64 (sqrt.f64 x))) (/.f64 (fabs.f64 (sqrt.f64 x)) 2))
(*.f64 (fabs.f64 (sqrt.f64 (neg.f64 x))) (fabs.f64 (sqrt.f64 (neg.f64 x))))
(*.f64 (fabs.f64 (sqrt.f64 (fabs.f64 x))) (fabs.f64 (sqrt.f64 (fabs.f64 x))))
(*.f64 (sqrt.f64 (*.f64 x (+.f64 x x))) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 x (+.f64 x x))))
(*.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 (*.f64 x 1/2)))
(*.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (+.f64 x x)))
(*.f64 (fabs.f64 (/.f64 (sqrt.f64 x) 2)) (*.f64 2 (fabs.f64 (sqrt.f64 x))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 1/2) 2)
(*.f64 (*.f64 (sqrt.f64 x) 1/2) (*.f64 (sqrt.f64 x) 2))
(*.f64 (*.f64 1/2 (neg.f64 (sqrt.f64 x))) (*.f64 -2 (sqrt.f64 x)))
(*.f64 (*.f64 1/2 (fabs.f64 (sqrt.f64 x))) (*.f64 2 (fabs.f64 (sqrt.f64 x))))
(*.f64 (*.f64 1/2 (sqrt.f64 (neg.f64 x))) (*.f64 2 (sqrt.f64 (neg.f64 x))))
(*.f64 (*.f64 1/2 (sqrt.f64 (fabs.f64 x))) (*.f64 2 (sqrt.f64 (fabs.f64 x))))
(*.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)))
(*.f64 (/.f64 (sqrt.f64 x) 4) (*.f64 2 (*.f64 (sqrt.f64 x) 2)))
(*.f64 (/.f64 (fabs.f64 (sqrt.f64 x)) 2) (*.f64 2 (fabs.f64 (sqrt.f64 x))))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (sqrt.f64 x))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (neg.f64 (neg.f64 (sqrt.f64 x))))
(*.f64 (+.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 (+.f64 x x))) (*.f64 (/.f64 (sqrt.f64 x) 2) (sqrt.f64 1/2)))
(*.f64 (neg.f64 (fabs.f64 (sqrt.f64 x))) (neg.f64 (fabs.f64 (sqrt.f64 x))))
(*.f64 (neg.f64 (sqrt.f64 (neg.f64 x))) (neg.f64 (sqrt.f64 (neg.f64 x))))
(*.f64 (neg.f64 (sqrt.f64 (fabs.f64 x))) (neg.f64 (sqrt.f64 (fabs.f64 x))))
(*.f64 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 2)) 2)
(*.f64 (*.f64 1/2 (/.f64 (sqrt.f64 x) 2)) (*.f64 2 (*.f64 (sqrt.f64 x) 2)))
(*.f64 (*.f64 (/.f64 (sqrt.f64 x) 2) (sqrt.f64 1/2)) (+.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 (+.f64 x x))))
(*.f64 (fabs.f64 (sqrt.f64 (*.f64 x (+.f64 x x)))) (fabs.f64 (sqrt.f64 1/2)))
(*.f64 (fabs.f64 (sqrt.f64 1/2)) (fabs.f64 (sqrt.f64 (*.f64 x (+.f64 x x)))))
(*.f64 (fabs.f64 (sqrt.f64 (+.f64 x x))) (fabs.f64 (sqrt.f64 (*.f64 x 1/2))))
(*.f64 (fabs.f64 (sqrt.f64 (*.f64 x 1/2))) (fabs.f64 (sqrt.f64 (+.f64 x x))))
(*.f64 (sqrt.f64 (*.f64 (fabs.f64 x) 2)) (sqrt.f64 (/.f64 (fabs.f64 x) 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 x (*.f64 x 1/2))))
(*.f64 (sqrt.f64 (*.f64 x 4)) (sqrt.f64 (/.f64 x 4)))
(*.f64 (sqrt.f64 (*.f64 x 4)) (sqrt.f64 (*.f64 x 1/4)))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 x 1/2))) (sqrt.f64 2))
(*.f64 (sqrt.f64 (/.f64 (fabs.f64 x) 2)) (sqrt.f64 (*.f64 (fabs.f64 x) 2)))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 x 4))) 1/2)
(*.f64 (sqrt.f64 (/.f64 x 4)) (sqrt.f64 (*.f64 x 4)))
(*.f64 (sqrt.f64 (*.f64 x 1/4)) (sqrt.f64 (*.f64 x 4)))
(*.f64 (sqrt.f64 (neg.f64 (fabs.f64 x))) (sqrt.f64 (neg.f64 (fabs.f64 x))))
(/.f64 (sqrt.f64 (*.f64 x x)) 1)
(/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 2) 2)
(/.f64 (neg.f64 (sqrt.f64 (*.f64 x x))) -1)
(/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)) 8)
(/.f64 (*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))) -1)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4))) 16)
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 x) 2)) (*.f64 2 (*.f64 (sqrt.f64 x) 2))) 16)
(pow.f64 (sqrt.f64 (*.f64 x x)) 1)
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 x x))))
(neg.f64 (*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))))
(fabs.f64 (sqrt.f64 (*.f64 x x)))
(fabs.f64 (neg.f64 (sqrt.f64 (*.f64 x x))))
(fabs.f64 (*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))))
(fabs.f64 (*.f64 (sqrt.f64 x) (fabs.f64 (sqrt.f64 x))))
(fabs.f64 (*.f64 (neg.f64 (sqrt.f64 x)) (fabs.f64 (sqrt.f64 x))))
Outputs
x
x
x
x
x
x
x
x
(*.f64 -1 x)
(neg.f64 x)
(*.f64 -1 x)
(neg.f64 x)
(*.f64 -1 x)
(neg.f64 x)
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (sqrt.f64 (*.f64 x x)) 0)
(sqrt.f64 (*.f64 x x))
(+.f64 0 (sqrt.f64 (*.f64 x x)))
(sqrt.f64 (*.f64 x x))
(+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 2))
(sqrt.f64 (*.f64 x x))
(+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4)))
(sqrt.f64 (*.f64 x x))
(+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 2) 2))
(sqrt.f64 (*.f64 x x))
(+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 4))
(sqrt.f64 (*.f64 x x))
(+.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4)) (/.f64 (sqrt.f64 (*.f64 x x)) 4))
(sqrt.f64 (*.f64 x x))
(+.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 2) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4))
(sqrt.f64 (*.f64 x x))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 4) (/.f64 (sqrt.f64 (*.f64 x x)) 4))
(sqrt.f64 (*.f64 x x))
(-.f64 (sqrt.f64 (*.f64 x x)) 0)
(sqrt.f64 (*.f64 x x))
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 x x))))
(sqrt.f64 (*.f64 x x))
(-.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) -2))
(sqrt.f64 (*.f64 x x))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) (/.f64 (sqrt.f64 (*.f64 x x)) 4)) (neg.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 4)))
(sqrt.f64 (*.f64 x x))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 x x)) -2) 2))
(sqrt.f64 (*.f64 x x))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 x x))) 4))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (*.f64 x x)) 1)
(sqrt.f64 (*.f64 x x))
(*.f64 1 (sqrt.f64 (*.f64 x x)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 x) (sqrt.f64 x))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 x) (neg.f64 (neg.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 x x)) 2))
(sqrt.f64 (*.f64 x x))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 1/2))
(sqrt.f64 (*.f64 x x))
(*.f64 2 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 2) 1/2)
(sqrt.f64 (*.f64 x x))
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 x x)) 2))
(sqrt.f64 (*.f64 x x))
(*.f64 1/2 (sqrt.f64 (*.f64 x (*.f64 x 4))))
(sqrt.f64 (*.f64 x x))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 x x))) -1)
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 (sqrt.f64 x) 2) (/.f64 (sqrt.f64 x) 2))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 (sqrt.f64 x) 2) (*.f64 (sqrt.f64 x) 1/2))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 4) 1/4)
(sqrt.f64 (*.f64 x x))
(*.f64 (/.f64 (sqrt.f64 (*.f64 x x)) 2) 2)
(sqrt.f64 (*.f64 x x))
(*.f64 (neg.f64 (sqrt.f64 x)) (neg.f64 (sqrt.f64 x)))
(sqrt.f64 (*.f64 x x))
(*.f64 (fabs.f64 (sqrt.f64 x)) (fabs.f64 (sqrt.f64 x)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (fabs.f64 x)) (sqrt.f64 (fabs.f64 x)))
(sqrt.f64 (*.f64 x x))
(*.f64 -2 (/.f64 (sqrt.f64 (*.f64 x x)) -2))
(sqrt.f64 (*.f64 x x))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 x x)) 4))
(sqrt.f64 (*.f64 x x))
(*.f64 (/.f64 (sqrt.f64 x) 2) (*.f64 (sqrt.f64 x) 2))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 -2 (sqrt.f64 x)) (*.f64 1/2 (neg.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 2 (sqrt.f64 (neg.f64 x))) (*.f64 1/2 (sqrt.f64 (neg.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 2 (sqrt.f64 (fabs.f64 x))) (*.f64 1/2 (sqrt.f64 (fabs.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)) 1/8)
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 x) 2)) (/.f64 (sqrt.f64 x) 4))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 x) 2)) (*.f64 1/2 (/.f64 (sqrt.f64 x) 2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 2 (fabs.f64 (sqrt.f64 x))) (fabs.f64 (/.f64 (sqrt.f64 x) 2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 2 (fabs.f64 (sqrt.f64 x))) (*.f64 1/2 (fabs.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 2 (fabs.f64 (sqrt.f64 x))) (/.f64 (fabs.f64 (sqrt.f64 x)) 2))
(sqrt.f64 (*.f64 x x))
(*.f64 (fabs.f64 (sqrt.f64 (neg.f64 x))) (fabs.f64 (sqrt.f64 (neg.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (fabs.f64 (sqrt.f64 (fabs.f64 x))) (fabs.f64 (sqrt.f64 (fabs.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (*.f64 x (+.f64 x x))) (sqrt.f64 1/2))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 x (+.f64 x x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 (*.f64 x 1/2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (*.f64 x 1/2)) (sqrt.f64 (+.f64 x x)))
(sqrt.f64 (*.f64 x x))
(*.f64 (fabs.f64 (/.f64 (sqrt.f64 x) 2)) (*.f64 2 (fabs.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 1/2) 2)
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 (sqrt.f64 x) 1/2) (*.f64 (sqrt.f64 x) 2))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 1/2 (neg.f64 (sqrt.f64 x))) (*.f64 -2 (sqrt.f64 x)))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 1/2 (fabs.f64 (sqrt.f64 x))) (*.f64 2 (fabs.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 1/2 (sqrt.f64 (neg.f64 x))) (*.f64 2 (sqrt.f64 (neg.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 1/2 (sqrt.f64 (fabs.f64 x))) (*.f64 2 (sqrt.f64 (fabs.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)))
(sqrt.f64 (*.f64 x x))
(*.f64 (/.f64 (sqrt.f64 x) 4) (*.f64 2 (*.f64 (sqrt.f64 x) 2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (/.f64 (fabs.f64 (sqrt.f64 x)) 2) (*.f64 2 (fabs.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (sqrt.f64 x))
(sqrt.f64 (*.f64 x x))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 x))) (neg.f64 (neg.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (+.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 (+.f64 x x))) (*.f64 (/.f64 (sqrt.f64 x) 2) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (neg.f64 (fabs.f64 (sqrt.f64 x))) (neg.f64 (fabs.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (neg.f64 (sqrt.f64 (neg.f64 x))) (neg.f64 (sqrt.f64 (neg.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (neg.f64 (sqrt.f64 (fabs.f64 x))) (neg.f64 (sqrt.f64 (fabs.f64 x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) 2)) 2)
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 1/2 (/.f64 (sqrt.f64 x) 2)) (*.f64 2 (*.f64 (sqrt.f64 x) 2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (*.f64 (/.f64 (sqrt.f64 x) 2) (sqrt.f64 1/2)) (+.f64 (sqrt.f64 (+.f64 x x)) (sqrt.f64 (+.f64 x x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (fabs.f64 (sqrt.f64 (*.f64 x (+.f64 x x)))) (fabs.f64 (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (fabs.f64 (sqrt.f64 1/2)) (fabs.f64 (sqrt.f64 (*.f64 x (+.f64 x x)))))
(sqrt.f64 (*.f64 x x))
(*.f64 (fabs.f64 (sqrt.f64 (+.f64 x x))) (fabs.f64 (sqrt.f64 (*.f64 x 1/2))))
(sqrt.f64 (*.f64 x x))
(*.f64 (fabs.f64 (sqrt.f64 (*.f64 x 1/2))) (fabs.f64 (sqrt.f64 (+.f64 x x))))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (*.f64 (fabs.f64 x) 2)) (sqrt.f64 (/.f64 (fabs.f64 x) 2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 x (*.f64 x 1/2))))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (*.f64 x 4)) (sqrt.f64 (/.f64 x 4)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (*.f64 x 4)) (sqrt.f64 (*.f64 x 1/4)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 x 1/2))) (sqrt.f64 2))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (/.f64 (fabs.f64 x) 2)) (sqrt.f64 (*.f64 (fabs.f64 x) 2)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (*.f64 x (*.f64 x 4))) 1/2)
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (/.f64 x 4)) (sqrt.f64 (*.f64 x 4)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (*.f64 x 1/4)) (sqrt.f64 (*.f64 x 4)))
(sqrt.f64 (*.f64 x x))
(*.f64 (sqrt.f64 (neg.f64 (fabs.f64 x))) (sqrt.f64 (neg.f64 (fabs.f64 x))))
(sqrt.f64 (*.f64 x x))
(/.f64 (sqrt.f64 (*.f64 x x)) 1)
(sqrt.f64 (*.f64 x x))
(/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 2) 2)
(sqrt.f64 (*.f64 x x))
(/.f64 (neg.f64 (sqrt.f64 (*.f64 x x))) -1)
(sqrt.f64 (*.f64 x x))
(/.f64 (*.f64 (sqrt.f64 (*.f64 x x)) 4) 4)
(sqrt.f64 (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)) 8)
(sqrt.f64 (*.f64 x x))
(/.f64 (*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))) -1)
(sqrt.f64 (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 x x)) 4))) 16)
(sqrt.f64 (*.f64 x x))
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 x) 2)) (*.f64 2 (*.f64 (sqrt.f64 x) 2))) 16)
(sqrt.f64 (*.f64 x x))
(pow.f64 (sqrt.f64 (*.f64 x x)) 1)
(sqrt.f64 (*.f64 x x))
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 x x))))
(sqrt.f64 (*.f64 x x))
(neg.f64 (*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(fabs.f64 (sqrt.f64 (*.f64 x x)))
(sqrt.f64 (*.f64 x x))
(fabs.f64 (neg.f64 (sqrt.f64 (*.f64 x x))))
(sqrt.f64 (*.f64 x x))
(fabs.f64 (*.f64 (sqrt.f64 x) (neg.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(fabs.f64 (*.f64 (sqrt.f64 x) (fabs.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))
(fabs.f64 (*.f64 (neg.f64 (sqrt.f64 x)) (fabs.f64 (sqrt.f64 x))))
(sqrt.f64 (*.f64 x x))

localize29.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
28.9b
(sqrt.f64 (*.f64 x x))
Compiler

Compiled 23 to 5 computations (78.3% saved)

eval293.0ms (2%)

Compiler

Compiled 3077 to 1328 computations (56.8% saved)

prune117.0ms (0.8%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New2082210
Fresh000
Picked101
Done101
Total2102212
Error
0b
Counts
212 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
31.0b
(/.f64 (-.f64 x (neg.f64 x)) x)
31.0b
(/.f64 (-.f64 x x) x)
Compiler

Compiled 13 to 7 computations (46.2% saved)

localize6.0ms (0%)

Compiler

Compiled 10 to 3 computations (70% saved)

localize33.0ms (0.2%)

Compiler

Compiled 14 to 4 computations (71.4% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done011
Total022
Error
0b
Counts
2 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
31.0b
(/.f64 (-.f64 x (neg.f64 x)) x)
31.0b
(/.f64 (-.f64 x x) x)
Compiler

Compiled 13 to 7 computations (46.2% saved)

regimes61.0ms (0.4%)

Accuracy

Total -62.5b remaining (-∞%)

Threshold costs -62.5b (-∞%)

Counts
5 → 2
Calls
Call 1
Inputs
(/.f64 (-.f64 x x) x)
(/.f64 (-.f64 x (neg.f64 x)) x)
(/.f64 (-.f64 x (sqrt.f64 (*.f64 x x))) x)
(-.f64 (/.f64 x x) (/.f64 (sqrt.f64 (*.f64 x x)) x))
(-.f64 (/.f64 x x) (*.f64 (/.f64 1 x) (sqrt.f64 (*.f64 x x))))
Outputs
(/.f64 (-.f64 x (neg.f64 x)) x)
(/.f64 (-.f64 x x) x)
Calls

2 calls:

40.0ms
x
19.0ms
(-.f64 (/.f64 x x) (*.f64 (/.f64 1 x) (sqrt.f64 (*.f64 x x))))
Results
ErrorSegmentsBranch
0b2x
6.8b2(-.f64 (/.f64 x x) (*.f64 (/.f64 1 x) (sqrt.f64 (*.f64 x x))))
Compiler

Compiled 57 to 26 computations (54.4% saved)

bsearch130.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
130.0ms
-2.1071262081311155e-307
8.973303621213993e-307
Results
101.0ms64×body2048valid
11.0ms64×body256valid
Compiler

Compiled 137 to 83 computations (39.4% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01552
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 x -20240225330731/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (/.f64 (-.f64 x (neg.f64 x)) x) (/.f64 (-.f64 x x) x))
(/.f64 (-.f64 x x) x)
Outputs
(if (<=.f64 x -20240225330731/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (/.f64 (-.f64 x (neg.f64 x)) x) (/.f64 (-.f64 x x) x))
(/.f64 (-.f64 x x) x)
Compiler

Compiled 22 to 12 computations (45.5% saved)

soundness1.6s (10.9%)

Algorithm
egg-herbie
Rules
1378×rational_best-simplify-51
1360×rational_best-simplify-83
1360×rational_best-simplify-83
1138×rational_best-simplify-66
1138×rational_best-simplify-66
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01135
12035
23635
36729
413723
534323
690923
7333823
02011139
14511139
211301139
338691139
01135
12035
23635
36729
413723
534323
690923
7333823
Stop Event
node limit
node limit
node limit
Compiler

Compiled 155 to 56 computations (63.9% saved)

end71.0ms (0.5%)

Compiler

Compiled 21 to 9 computations (57.1% saved)

Profiling

Loading profile data...